상위: 02_00_MOC


한줄 요지

바닐라 NIAH(Needle-In-A-Haystack)에서 99%를 받던 모델이 RULER에서는 60%대로 주저앉는다. RULER 논문이 업계에 던진 메시지를 한 문장으로 줄이면 이렇다. “광고된 컨텍스트 길이(advertised context length)“와 “실효 컨텍스트 길이(effective context length)“는 같지 않으며, 그 격차를 엄밀하게 수치로 잰 것이 RULER다.


논문 정보

항목내용
제목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, Yang Zhang, Boris Ginsburg
소속NVIDIA
게재지COLM 2024 (Conference on Language Modeling)
arXiv2404.06654 (2024-04-09 제출, 2024-08-06 v3)
코드github.com/NVIDIA/RULER
라이선스CC BY 4.0

1. 문제의식 — 왜 NIAH만으로는 부족한가

2023~2024년 장문 컨텍스트(Long-Context) LLM 평가의 사실상 표준으로 자리잡은 것이 NIAH 테스트였다. 텍스트 더미(haystack) 안에 단일 사실(needle)을 숨기고, 모델이 이를 정확히 찾아내는지 측정하는 방식이다. 그러나 Hsieh et al.은 이 방식에 근본적인 한계가 있다고 주장한다.

“The needle-in-a-haystack (NIAH) test, while popular, is indicative of only a superficial form of long-context understanding.” — Hsieh et al., 2024

NIAH가 포착하는 것은 단순 검색 능력(simple retrieval)에 불과하다. 실제 장문 컨텍스트 사용 시나리오는 이보다 훨씬 복잡하다. 여러 정보를 동시에 추적하고, 문서 전체에서 빈도 패턴을 집계하고, 여러 문서에 걸쳐 단계를 밟아 추론해야 한다. 이런 복합 장문 이해(complex long-context understanding)를 NIAH는 측정하지 못한다.

더 심각한 문제가 있다. NIAH에서 거의 완벽한 성능을 보이는 모델조차 이런 복합 태스크에서는 성능이 급격히 떨어진다. NIAH는 모델의 장문 컨텍스트 능력을 구조적으로 낙관하게 만드는 착시를 일으키는 셈이다.

이 논문은 02_04-개념-산만-임계점에서 다루는 컨텍스트 산만(Context Distraction) 현상과 곧장 맞닿는다. RULER는 그 현상을 체계적으로 측정하는 도구다.


2. 벤치마크 설계 — 4개 카테고리, 13개 태스크

RULER의 설계는 합성 데이터(synthetic data)와 유연한 구성(flexible configuration)이라는 두 원칙 위에 서 있다. 컨텍스트 길이와 태스크 복잡도를 따로따로 조절할 수 있어, 모델의 한계점을 정밀하게 짚어낼 수 있다.

2.1 4개 카테고리 개요

graph TD
    RULER["RULER 벤치마크<br/>4 Categories · 13 Tasks"]
    R["① Retrieval<br/>4 Tasks"]
    M["② Multi-hop Tracing<br/>1 Task"]
    A["③ Aggregation<br/>2 Tasks"]
    Q["④ Question Answering<br/>2 Tasks"]

    RULER --> R
    RULER --> M
    RULER --> A
    RULER --> Q

    R --> R1["S-NIAH<br/>단일 바늘"]
    R --> R2["MK-NIAH<br/>다중 키"]
    R --> R3["MV-NIAH<br/>다중 값"]
    R --> R4["MQ-NIAH<br/>다중 쿼리"]

    M --> M1["VT<br/>Variable Tracking"]

    A --> A1["CWE<br/>Common Words Extraction"]
    A --> A2["FWE<br/>Frequent Words Extraction"]

    Q --> Q1["SQA<br/>SQuAD 기반"]
    Q --> Q2["MQA<br/>HotpotQA 기반"]

2.2 카테고리별 태스크 상세

① 검색 (Retrieval) — 4개 태스크

바닐라 NIAH를 확장하여, 바늘(needle)의 유형과 수량을 다양화한다.

태스크약칭설명
Single NIAHS-NIAH기본 단일 바늘 검색. 바닐라 NIAH와 동일
Multi-keys NIAHMK-NIAH다수의 서로 다른 키-값 쌍 중 특정 키의 값 검색
Multi-values NIAHMV-NIAH동일 키에 여러 값이 매핑된 경우, 모든 값 검색
Multi-queries NIAHMQ-NIAH여러 개의 바늘을 동시에 검색

S-NIAH에서는 거의 모든 모델이 완벽에 가까운 점수를 받는다. RULER가 주는 첫 번째 통찰은 MK, MV, MQ로 갈수록 그 점수가 어떻게 무너지는지를 보여준다는 데 있다.

② 다단계 추적 (Multi-hop Tracing) — 1개 태스크

태스크약칭설명
Variable TrackingVT변수 연쇄(variable chaining). A = B, B = C, C = ? 형태의 간접 참조를 따라가는 능력

VT는 코드베이스 추적, 문서 간 상호참조, 복잡한 지시 체인처럼 실제 에이전트 시나리오와 곧장 맞닿는다. 컨텍스트가 길어질수록 체인이 흩어져 추적이 어려워진다.

③ 집계 (Aggregation) — 2개 태스크

태스크약칭설명
Common Words ExtractionCWE텍스트 전체에서 공통적으로 자주 등장하는 단어 추출
Frequent Words ExtractionFWE특정 빈도 임계치를 초과하는 단어들 추출

집계 태스크는 컨텍스트 전체를 이해해야 풀린다. 특정 위치의 정보를 집어내는 것이 아니라, 곳곳에 흩어진 통계를 모아 쌓아야 하기 때문이다. “Lost in the Middle” 위치 편향(02 산만)이 가장 두드러지는 영역이기도 하다.

④ 질문 응답 (Question Answering) — 2개 태스크

태스크약칭설명
Single-hop QASQASQuAD 데이터셋 기반. 단일 문서에서 답 추출, 오답 유도 단락(distractor) 추가
Multi-hop QAMQAHotpotQA 데이터셋 기반. 복수 문서 간 다단계 추론 필요

QA 태스크는 실제 RAG(Retrieval-Augmented Generation) 시나리오에 가장 가깝다. 관련 문서와 무관한 오답 유도 단락을 함께 던져 주고, 그중에서 쓸 정보를 골라내는 능력을 측정한다.


3. 평가 설계

  • 평가 대상: 최초 발표 기준 17개 장문 컨텍스트 LLM (이후 GitHub 버전은 34개 이상으로 확장)
  • 컨텍스트 길이: 4K, 8K, 16K, 32K, 64K, 128K
  • 성능 기준선(threshold): Llama-2-7B의 4K 성능 = 85.6%
    • 이 기준선 이상을 유지하는 최대 컨텍스트 길이를 “실효 컨텍스트 길이”로 정의
  • 채점: 태스크별 문자열 매칭 및 F1 점수 혼용, 13개 태스크 평균으로 종합 점수 산출

4. 핵심 수치 및 결과

4.1 모델별 RULER 종합 점수 (4K → 128K)

아래 표는 논문 Table 3 기반이다. 모든 점수는 13개 태스크 평균(%)이다.

모델4K8K16K32K64K128K변화량
Gemini-1.5-Pro96.795.896.095.995.994.4−2.3
GPT-4-110696.696.395.293.287.081.2−15.4
Llama-3.1-70B96.595.895.494.888.466.6−29.9
Command-R-plus95.695.294.292.084.363.1−32.5
Yi-34B93.392.291.387.583.277.3−16.0
Qwen2-72B96.996.194.994.179.853.7−43.2
Mistral-7B-v0.293.691.287.275.449.013.8−79.8
DBRX-instruct95.193.883.663.12.40.0−95.1

주목할 수치는 이렇다.

  • Gemini-1.5-Pro: 128K까지 −2.3점. 사실상 유일하게 장문 컨텍스트 일관성을 지켜낸다.
  • Mistral-7B-v0.2: 93.6 → 13.8점. 128K에서 사실상 붕괴한다(−79.8점).
  • DBRX: 64K에서 2.4%, 128K에서 0%. 완전히 무너진다.
xychart-beta
    title "RULER 점수 변화: 4K vs 128K"
    x-axis ["Gemini-1.5", "GPT-4", "Llama3.1-70B", "Yi-34B", "Qwen2-72B", "Mistral-v0.2", "DBRX"]
    y-axis "RULER Score (%)" 0 --> 100
    bar [96.7, 96.6, 96.5, 93.3, 96.9, 93.6, 95.1]
    bar [94.4, 81.2, 66.6, 77.3, 53.7, 13.8, 0.0]

4.2 NIAH vs. RULER — 착시의 정량화

“Despite achieving nearly perfect performance on the passkey retrieval and the vanilla NIAH task, almost all models exhibit large performance drops in RULER as sequence length increases.” — Hsieh et al., 2024

같은 모델을 같은 컨텍스트 길이에서 놓고 바닐라 NIAH와 RULER 종합 점수를 비교하면 이렇다.

  • 바닐라 NIAH(S-NIAH): ~99%
  • RULER 13-task 평균: ~60%대 (모델별 편차 큼)

이 20~40 퍼센트포인트 격차가 곧 “NIAH의 착시”다. 단순 검색에서 완벽해 보이던 모델이 집계·다단계 추적·QA에서는 전혀 다른 얼굴을 드러낸다.

4.3 실효 컨텍스트 길이 vs. 광고 컨텍스트 길이

모델광고 컨텍스트실효 컨텍스트 길이 (RULER 기준)
Gemini-1.5-Pro1,000,000128K+
GPT-4-1106128K64K
Llama-3.1-70B128K64K
Qwen2-72B128K32K
Yi-34B200K32K
Mistral-7B-v0.232K<16K
DBRX-instruct32K<8K

“While these models all claim context sizes of 32K tokens or greater, only half of them can maintain satisfactory performance at the length of 32K.” — Hsieh et al., 2024

이 표야말로 논문이 업계에 남긴 가장 중요한 산출물이다. “128K를 지원한다”는 주장과 “128K에서 실제로 잘 돌아간다”는 사실이 별개라는 점을 수치로 못 박는다.


5. 직접 인용

“The needle-in-a-haystack (NIAH) test, while popular, is indicative of only a superficial form of long-context understanding, failing to gauge other forms of long-context understanding.”

“Despite achieving nearly perfect performance on the passkey retrieval and the vanilla NIAH task, almost all models exhibit large performance drops in RULER as sequence length increases.”

“While these models all claim context sizes of 32K tokens or greater, only half of them can maintain satisfactory performance at the length of 32K.”


6. 세부 분석 — 카테고리별 붕괴 패턴

RULER의 진짜 가치는 “어디서 무너지는가”를 카테고리별로 짚어낸다는 데 있다.

6.1 Retrieval 카테고리

S-NIAH에서 MK, MV, MQ로 갈수록 성능이 차례로 떨어진다. 그중 MQ-NIAH(다중 쿼리)가 컨텍스트 길이 증가에 가장 예민하다. 어텐션 메커니즘이 여러 위치의 정보를 동시에 좇는 데 약하다는 사실을 그대로 보여주는 셈이다.

6.2 Variable Tracking

VT는 모든 카테고리를 통틀어 컨텍스트 길이 증가에 가장 약한 태스크다. 변수 연쇄(chain)가 문서 곳곳에 흩어질수록 중간 링크를 좇는 능력이 빠르게 떨어진다. 에이전트 워크플로에서 도구 호출 결과를 줄줄이 추적하는 시나리오가 바로 이 패턴이다.

6.3 Aggregation

CWE와 FWE는 문서 전체에 걸친 통계를 요구한다. “Lost in the Middle” 위치 편향이 가장 세게 나타나는 곳이 여기다. 컨텍스트 중반부의 단어는 처음이나 끝에 놓인 단어보다 집계 과정에서 누락될 확률이 높다.

6.4 Question Answering

SQA에서 MQA로 넘어가면 성능이 한층 빠르게 떨어진다. HotpotQA 기반 MQA는 문서 둘 이상을 이어야 답이 나오는데, 문서 사이 거리가 컨텍스트 길이에 비례해 벌어지니 성능 저하를 피하기 어렵다.


7. 비트랜스포머 아키텍처의 약점

RULER는 트랜스포머 기반 모델뿐 아니라 RWKV-v5, Mamba 같은 상태 공간 모델(State Space Model, SSM)도 평가에 넣었다. 결론은 분명하다.

“Non-Transformer architectures (RWKV-v5, Mamba) substantially underperform the Transformer baseline on RULER tasks.”

SSM 계열은 메모리 효율은 뛰어나지만 장거리 정보 통합(long-range integration)에서는 트랜스포머에 구조적으로 뒤진다는 점을 RULER가 실증했다.


8. 한계 (Limitations)

8.1 합성 데이터 한계

RULER는 전적으로 합성 태스크(synthetic tasks)로 이뤄져 있다. 실제 RAG 시나리오나 코드 리뷰, 법률 문서 분석 같은 도메인 특수 태스크에서의 성능은 RULER 점수와 어긋날 수 있다. Databricks(2024)의 실제 RAG 연구가 RULER와 일부 다른 순위를 내놓은 것이 그 방증이다.

8.2 바늘의 인위성

합성 키-값 쌍(synthetic key-value pairs)으로 만든 바늘은 자연어 텍스트와 결이 다르다. 어휘 매칭(lexical matching)을 없앤 NoLiMa(02 산만)가 RULER보다 더 낮은 성능을 보였다는 사실은, RULER 역시 어휘 단서에 기대고 있음을 뜻한다.

8.3 에이전트 시나리오 부재

RULER는 정적인 단일 추론 태스크만 잰다. 다단계 에이전트 루프, 도구 호출 연쇄, 히스토리 누적처럼 에이전트 특유의 컨텍스트 산만 패턴은 다루지 못한다. 이 공백은 뒤이은 LOCA-bench(Zeng et al., 2026)와 AgentLongBench(Fang et al., 2026)가 메운다.

8.4 평가 기준선의 임의성

실효 컨텍스트 길이의 기준선으로 “Llama-2-7B의 4K 성능(85.6%)“을 썼다. 이 기준선을 달리 잡으면 실효 컨텍스트 길이 분류도 따라 바뀐다. 논문도 이 임의성을 스스로 인정한다.


9. 논문의 의의 — 업계에 정착시킨 개념

RULER가 업계에 남긴 가장 큰 성과는 특정 수치가 아니라 개념의 정착이다.

“광고된 컨텍스트 길이(advertised context length)” ≠ “실효 컨텍스트 길이(effective context length)”

이 구분은 2024년 이후 LLM 장문 컨텍스트 논의의 기본 틀로 자리 잡았다. 제품 발표에서 “128K 지원”이라고 말하면, 이제는 “RULER 기준 실효 컨텍스트는 얼마냐”는 후속 질문이 으레 따라붙는다.

이 개념 분리는 02 산만 챕터 전체의 핵심 전제이기도 하다. 컨텍스트 산만(Context Distraction)이 시작되는 임계점은 광고 컨텍스트가 아니라 실효 컨텍스트 길이를 기준으로 봐야 한다.


10. 우리 주제(실패모드)에의 시사점

10.1 AI 강사/컨설턴트 핵심 메시지

RULER 논문은 교육이나 컨설팅 현장에서 바로 쓸 수 있는 수치를 세 가지 형태로 건넨다.

1. 모델 선택 기준으로서의 실효 컨텍스트 길이 장문 컨텍스트 RAG나 에이전트를 설계할 때 모델 스펙에 적힌 컨텍스트 길이를 곧이곧대로 믿어선 안 된다. RULER 기준 실효 컨텍스트 길이를 잣대로 골라야 한다.

2. NIAH 기반 데모는 과대평가다 벤더가 “NIAH 100%“를 내세우는 데모는 가장 쉬운 태스크에서 받은 점수일 뿐이다. 집계나 다단계 추론 같은 실제 사용 시나리오에서는 훨씬 낮은 성능을 각오해야 한다.

3. Mistral-v0.2 패턴 경계 컨텍스트가 길어질수록 완만히 떨어지는 게 아니라, 특정 임계점에서 절벽처럼 무너지는 모델이 있다. Mistral(93.6 → 13.8)이 그 대표다. 이 패턴은 위치 인코딩(position encoding) 외삽(extrapolation)의 한계와 맞물려 있다.

10.2 컨텍스트 산만 관점에서의 연결

RULER가 잰 “실효 컨텍스트 길이”는 02_04-개념-산만-임계점에서 다루는 “산만 임계점(Distraction Ceiling)“과 곧장 맞닿는다. 다만 둘 사이엔 차이가 있다.

  • RULER의 실효 컨텍스트 길이: 정적 태스크 기준, 85.6% 임계선을 지키는 최대 길이
  • 산만 임계점: 에이전트의 동적 추론 기준, 행동 패턴이 질적으로 바뀌는 지점

에이전트 시나리오에서는 RULER의 실효 컨텍스트 길이보다 더 이른 지점에서 산만이 시작되곤 한다(Gemini 2.5 Pro: RULER 기준 128K+ → 에이전트 기준 100K 이전).

graph LR
    A["NIAH<br/>~99% 모든 모델"] --> |"복잡도 증가"| B["RULER<br/>60~96% 모델별 편차"]
    B --> |"에이전트 동적 추론"| C["실제 에이전트 성능<br/>더 이른 붕괴"]
    
    style A fill:#4CAF50,color:#fff
    style B fill:#FF9800,color:#fff
    style C fill:#F44336,color:#fff

10.3 실천적 권고사항

  1. RAG 설계: 컨텍스트를 RULER 기준 실효 컨텍스트 길이의 50~70% 이내로 유지하라. 임계선에 가까워질수록 성능이 가파르게 떨어진다.

  2. 멀티 도큐먼트 RAG: 집계(CWE/FWE)에 가까운 태스크에서 중간 위치 정보가 새는 것을 막으려면, 중요한 문서를 컨텍스트의 처음이나 끝에 두라.

  3. 에이전트 히스토리 관리: RULER의 Variable Tracking 붕괴 패턴은 에이전트 히스토리가 길어질수록 이전 도구 호출 결과를 좇기 어려워진다는 신호다. 주기적인 압축과 요약이 필수다.

  4. 벤더 주장 검증: 새 모델이 “XXK 컨텍스트 지원”을 내걸면, RULER나 그에 준하는 벤치마크 점수를 반드시 확인하라.


참고문헌

연관 노트