RULER: What’s the Real Context Size of Your Long-Context Language Models?
Digest: NVIDIA가 제안한 장문맥 LLM 종합 평가 벤치마크. 기존 Needle-in-a-Haystack(NIAH)의 단일 검색 한계를 극복하기 위해 4가지 카테고리 13개 태스크로 확장하여 장문맥 능력을 다차원 측정한다. 핵심 발견: 대부분의 모델이 “공식” 문맥 길이의 절반 이상에서 급격한 성능 하락을 보이며, NIAH 만점 모델도 RULER에서는 현저한 격차를 드러낸다. “유효 문맥 길이(Effective Context Length)” 개념을 도입하여 모델의 실질적 장문맥 처리 능력을 정량화한다.
메타데이터
항목
내용
제목
RULER: What’s the Real Context Size of Your Long-Context Language Models?
저자
Cheng-Ping Hsieh, Simeng Sun, Samuel Kriman, Shantanu Acharya, Dima Rekesh, Fei Jia, Boris Ginsburg
각 태스크 인스턴스를 프로그래밍으로 합성 생성 — 데이터 오염(contamination) 원천 차단
문맥 길이
6단계: 4K → 8K → 16K → 32K → 64K → 128K
인스턴스 수
각 태스크 × 각 길이별 500개 (총 ~39,000개)
분할
고정 train/test 없음 — 온디맨드 생성으로 무한 확장 가능
Feature / Column 구조
Feature
Type
설명
task_type
str
13개 태스크 중 하나 (e.g., single_niah, variable_tracking)
context
str
장문맥 텍스트 (distractor + 삽입된 정보)
query
str
문맥 기반 질의
expected_answer
str/list
정답 (단일 값 또는 리스트)
context_length
int
토큰 단위 문맥 길이
distractor_count
int
삽입된 방해 정보 수
depth_percent
float
정답 정보의 삽입 위치 (0~100%)
태스크 분포 (4 카테고리, 13 태스크)
카테고리
태스크
설명
Retrieval (4)
Single NIAH
단일 키-값 쌍 검색
Multi-keys NIAH
여러 키 중 특정 키의 값 검색
Multi-values NIAH
하나의 키에 여러 값이 연결된 경우 전체 검색
Multi-queries NIAH
복수 질의를 동시에 처리
Multi-hop Tracing (2)
Variable Tracking
변수 값 교환(swap) 후 최종 값 추적
Chain-of-Variables
다단계 변수 참조 체인 추적
Aggregation (2)
Common Words
장문맥에서 공통 등장 단어 추출
Frequent Words
최빈 단어 top-k 추출
Question Answering (5)
SQuAD-based QA (×3)
SQuAD 지문을 장문맥에 삽입한 추출형 QA
HotpotQA-based QA (×2)
HotpotQA 멀티홉 질문을 장문맥에 삽입
실제 데이터 예시
예시 1: Single NIAH (Retrieval)
Context (32K tokens):
... [distractor text] ...
The special key is: ABCDEF.
... [distractor text] ...
Query: "What is the special key?"
Answer: "ABCDEF"
Note: 정답이 문맥의 50% 깊이에 삽입됨
예시 2: Variable Tracking (Multi-hop Tracing)
Context:
X = A, Y = B, Z = C
Step 1: swap(X, Y) → X = B, Y = A
Step 2: swap(Y, Z) → Y = C, Z = A
... [distractors] ...
Query: "What is the final value of X?"
Answer: "B"
Note: 교환 횟수 증가 시 난이도 상승
예시 3: Frequent Words (Aggregation)
Context (64K tokens):
... apple banana cherry apple dog apple banana cherry
apple banana elephant apple cherry apple banana ...
Query: "What are the 5 most common words?"
Answer: ["apple", "banana", "cherry", "dog", "elephant"]
Note: 전체 문맥을 읽어야 정확한 빈도 집계 가능
왜 이 연구를 하는가?
NIAH의 한계: 기존 Needle-in-a-Haystack는 단일 사실 검색만 측정 — 실제 장문맥 활용(요약, 멀티홉 추론, 정보 집계)과 괴리가 크다
과장된 문맥 길이 주장: 많은 모델이 128K~200K 문맥을 지원한다고 주장하지만, 실질적으로 해당 길이에서 유의미한 성능을 유지하는지는 불투명
다차원 평가 부재: 검색 능력만으로는 장문맥의 실용성을 판단할 수 없으며, 추론·집계·추적 등 다양한 인지 능력의 종합 측정이 필요
유효 문맥 길이 정량화: “4K 성능의 85% 이상을 유지하는 최대 길이”로 정의하여 모델 간 공정 비교 기준 제공
방법
flowchart TD
subgraph 태스크_생성["Synthetic Task Generation"]
A["4 카테고리 정의"] --> B["13개 태스크 설계"]
B --> C["문맥 길이별 인스턴스 생성\n(4K~128K)"]
C --> D["Distractor 삽입 +\n정답 정보 배치"]
end
subgraph 평가_파이프라인["Evaluation Pipeline"]
D --> E["LLM에 (context, query) 입력"]
E --> F["모델 응답 생성"]
F --> G["Expected Answer와\nExact Match / F1 비교"]
end
subgraph 분석["Analysis"]
G --> H["태스크별 Accuracy 산출"]
H --> I["카테고리별 평균"]
I --> J["문맥 길이별 성능 곡선"]
J --> K["Effective Context Length\n산출 (≥85% of 4K)"]
end
style 태스크_생성 fill:#e8f4fd,stroke:#2196F3
style 평가_파이프라인 fill:#fff3e0,stroke:#FF9800
style 분석 fill:#e8f5e9,stroke:#4CAF50
Effective Context Length 정의: 4K에서의 성능을 기준(baseline)으로 삼아, 성능이 85% 이상 유지되는 최대 문맥 길이를 해당 모델의 “유효 문맥 길이”로 정의한다.