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
소속NVIDIA
발표arXiv 2024 (NAACL 2025 채택)
태스크 수13개 (4 카테고리)
문맥 길이4K, 8K, 16K, 32K, 64K, 128K 토큰
데이터 생성Synthetic (프로그래밍 기반 자동 생성)
평가 지표Task Accuracy (카테고리별 평균)
arXiv2404.06654

데이터셋 구성

규모 및 분할

구분설명
생성 방식각 태스크 인스턴스를 프로그래밍으로 합성 생성 — 데이터 오염(contamination) 원천 차단
문맥 길이6단계: 4K → 8K → 16K → 32K → 64K → 128K
인스턴스 수각 태스크 × 각 길이별 500개 (총 ~39,000개)
분할고정 train/test 없음 — 온디맨드 생성으로 무한 확장 가능

Feature / Column 구조

FeatureType설명
task_typestr13개 태스크 중 하나 (e.g., single_niah, variable_tracking)
contextstr장문맥 텍스트 (distractor + 삽입된 정보)
querystr문맥 기반 질의
expected_answerstr/list정답 (단일 값 또는 리스트)
context_lengthint토큰 단위 문맥 길이
distractor_countint삽입된 방해 정보 수
depth_percentfloat정답 정보의 삽입 위치 (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: 전체 문맥을 읽어야 정확한 빈도 집계 가능

왜 이 연구를 하는가?

  1. NIAH의 한계: 기존 Needle-in-a-Haystack는 단일 사실 검색만 측정 — 실제 장문맥 활용(요약, 멀티홉 추론, 정보 집계)과 괴리가 크다
  2. 과장된 문맥 길이 주장: 많은 모델이 128K~200K 문맥을 지원한다고 주장하지만, 실질적으로 해당 길이에서 유의미한 성능을 유지하는지는 불투명
  3. 다차원 평가 부재: 검색 능력만으로는 장문맥의 실용성을 판단할 수 없으며, 추론·집계·추적 등 다양한 인지 능력의 종합 측정이 필요
  4. 유효 문맥 길이 정량화: “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% 이상 유지되는 최대 문맥 길이를 해당 모델의 “유효 문맥 길이”로 정의한다.


주요 결과

모델별 종합 성능 (Accuracy %)

모델공식 문맥4K8K16K32K64K128K유효 길이
GPT-4128K96.495.194.393.287.081.2~64K
Llama-3-70B128K96.194.893.591.085.278.5~64K
Yi-34B200K94.392.791.589.178.465.3~32K
Command-R+128K89.585.380.172.661.852.7~16K
Mistral-7B32K93.689.482.175.2~16K

카테고리별 성능 패턴 (128K 기준)

카테고리GPT-4Yi-34B난이도 경향
Retrieval92.378.5상대적으로 높은 유지율
Multi-hop Tracing74.855.2문맥 길이에 가장 민감
Aggregation71.551.8전체 문맥 처리 필요 → 급격한 하락
QA86.276.1실제 지문 기반으로 중간 수준

핵심 발견

  1. NIAH ≠ 장문맥 능력: NIAH에서 거의 만점인 모델도 Aggregation/Multi-hop에서 30%+ 하락
  2. 유효 문맥 ≪ 공식 문맥: Yi-34B는 200K를 주장하지만 유효 길이는 ~32K에 불과
  3. 카테고리별 차등 하락: Retrieval은 비교적 견고하나 Aggregation은 문맥 증가에 극도로 취약
  4. 모델 크기 효과: 동일 아키텍처에서 파라미터 수가 클수록 장문맥 유지율 우수

이론적 의의

  1. 장문맥 평가 표준화: NIAH 중심의 단편적 평가를 다차원 프레임워크로 확장하여 장문맥 벤치마크의 새로운 기준 제시
  2. Effective Context Length: 모델의 실질적 장문맥 처리 능력을 단일 지표로 요약하는 개념적 도구 제공 — 모델 선택과 비교의 투명성 향상
  3. 합성 데이터의 장점: 프로그래밍 기반 생성으로 데이터 오염 문제를 원천 차단하고, 난이도·길이의 세밀한 제어 가능
  4. 인지 능력 분류 프레임워크: 검색(retrieval), 추적(tracing), 집계(aggregation), 이해(comprehension)의 4축 분류는 향후 장문맥 연구의 이론적 뼈대로 활용 가능
  5. 한계 인식: 합성 태스크와 실제 사용 패턴(문서 요약, 코드 분석 등) 간의 생태학적 타당도(ecological validity) 격차는 후속 연구 과제로 남음

관련 연구

  • Needle-in-a-Haystack — RULER가 직접 확장·극복한 단일 검색 벤치마크
  • LongBench — 자연어 기반 장문맥 벤치마크 (RULER와 상보적)
  • MMLU — 단문맥 지식 평가 (RULER와 직교적 축)
  • SQuAD 2.0 — RULER QA 태스크의 원본 지문 출처
  • HotpotQA — RULER 멀티홉 QA의 원본 질문 출처
  • HELM — 다차원 종합 평가 프레임워크의 선행 연구

핵심 용어

용어정의
Needle-in-a-Haystack (NIAH)장문맥에 삽입된 단일 사실을 검색하는 평가 방법
Effective Context Length4K 성능의 85% 이상을 유지하는 최대 문맥 길이
Distractor정답과 무관한 방해 텍스트로, 문맥을 채워 길이를 확장
Variable Tracking변수 값 교환 연산 후 최종 상태를 추적하는 태스크
Aggregation전체 문맥을 스캔하여 빈도·공통성 등 통계적 정보를 집계
Multi-hop Tracing여러 단계의 참조 체인을 따라가며 최종 답에 도달하는 추론
Synthetic Benchmark프로그래밍으로 자동 생성된 평가 데이터 (오염 방지 목적)

benchmark long-context NIAH NVIDIA evaluation synthetic-data effective-context-length NAACL2025