Benchmarks

LLM 컨텍스트 윈도우 크기 및 Needle In A Haystack (NIAH) 리더보드

### 핵심 요약: 1M+ 컨텍스트 윈도우 및 검색 정확도

2026년 현재, Gemini 2.5 Flash(2M), Code-SuperNova(1M), Claude 3.7 Sonnet(200k–1M 확장), Kimi K2.5(2M) 전반에서 100만(1M) 토큰 이상의 컨텍스트 윈도우가 프로덕션 레벨로 제공되고 있습니다. 네 모델 모두 단일 키(Single-key) Needle In A Haystack(NIAH) 테스트에서 99% 이상의 점수를 기록하지만, 다중 바늘(Multi-needle) 연관 검색 성능은 256k 토큰을 넘어가면 급격히 저하되어 쿼리 깊이에 따라 검색 정확도가 14%에서 38%까지 떨어집니다.


1. 개요: 2026년 1M+ 토큰 컨텍스트의 시대

대규모 언어 모델(LLM)의 롱 컨텍스트 경계가 근본적으로 변화했습니다. 2023~2024년에는 32k 및 128k 윈도우가 아키텍처적 이정표 역할을 했으나, 2026년 후반의 프로덕션 시스템은 단일 프롬프트에서 전체 Git 모노레포지토리, 수년간의 금융 공시 보고서, 수백 건의 법률 계약서를 일상적으로 처리하고 있습니다.

이 아키텍처 혁신을 주도하고 있는 4대 주요 모델군은 다음과 같습니다:

  1. Google Gemini 2.5 Flash & Pro (2M 토큰): 선형 어텐션 라우팅과 하드웨어 가속 TPU v6e 추론을 통해 네이티브 2,097,152 토큰 멀티모달 처리를 구현한 프로덕션 선구자.
  2. Code-SuperNova 1M (1,048,576 토큰): AST 토큰화 다중 레포지토리 그래프 기반으로 사전 학습되었으며 풀 컨텍스트 FIM(Fill-in-the-Middle) 기능을 갖춘 개발자 특화 모델.
  3. Anthropic Claude 3.7 Sonnet (200k 네이티브 / 1M 확장 베타): 90% 프롬프트 캐싱 할인 혜택이 적용되는 1M 토큰 베타 컨텍스트 윈도우와 함께 동적 사고 예산(Thought-Budget) 추론을 지원하는 하이브리드 아키텍처.
  4. Moonshot AI Kimi K2.5 (2M 토큰): RingAttention 변형 및 선택적 희소 상태 공간(Selective Sparse State-Space) 라우팅을 활용하는 네이티브 롱 컨텍스트 중·영 이중 언어 프론티어 모델.

그러나 1M 또는 2M 토큰 컨텍스트 윈도우를 지원한다고 해서 모델이 방대한 분량 속에 묻힌 정보를 정확하게 추출, 추론 또는 종합할 수 있음을 보장하는 것은 아닙니다. 실질적인 컨텍스트 활용 능력은 합성 Needle In A Haystack (NIAH) 벤치마크의 성능 저하 곡선, 다중 문서 교차 참조(Cross-reference) 손실, 메모리 대역폭 제약, 그리고 프롬프트 수집(Ingestion) 비용이라는 경제적 현실에 의해 좌우됩니다.


2. 정량 매트릭스: 1M+ 컨텍스트 윈도우 리더보드

롱 컨텍스트 프론티어 모델을 평가하려면 단일 바늘(Single-needle) 회수율, 다중 문서 종합 능력, 추론 처리량(초당 토큰 수, TPS), 첫 번째 토큰 생성 시간(Time-to-First-Token, TTFT), 프롬프트 캐싱 경제성을 종합적으로 검토해야 합니다.

모델 및 컨텍스트 윈도우 단일 바늘 NIAH (1M) 다중 바늘 NIAH (1M, 바늘 5개) LiveCodeBench v6 (Long-Repo) TTFT @ 1M 토큰 (p50) 출력 TPS 입력 비용 / 1M (캐시 미적용) 입력 비용 / 1M (캐시 적용) 출력 비용 / 1M
Gemini 2.5 Flash (2M) 99.8% 94.2% 66.4% 1.85s 148 tps $0.30 $0.075 $1.20
Code-SuperNova 1M (1M) 99.4% 95.1% 71.8% 2.40s 112 tps $0.80 $0.160 $3.20
Claude 3.7 Sonnet (1M Ext.) 99.6% 93.8% 71.2% 4.10s 78 tps $3.00 $0.300 $15.00
Kimi K2.5 (2M) 99.1% 89.6% 63.5% 2.90s 96 tps $0.25 $0.100 $1.00
GPT-4.1 (128k Baseline) 98.2% (@128k) 88.0% (@128k) 62.1% 1.20s 82 tps $2.50 $1.250 $10.00

주요 벤치마크 분석 결과:

  • Code-SuperNova 1M은 대규모 레포지토리 환경에서 가장 높은 다중 바늘 보존율(95.1%)과 LiveCodeBench 점수(71.8%)를 기록하여, 코드에 특화된 AST 어텐션 마스킹이 1M 토큰 전반에서 구문적 의존성을 효과적으로 보존함을 입증했습니다.
  • Gemini 2.5 Flash는 심층적인 TPU v6e 하드웨어 최적화와 준이차(Sub-quadratic) 어텐션 레이어 덕분에 압도적인 서빙 처리량(148 TPS)과 초저지연 TTFT(1M 토큰 기준 1.85초)를 달성했습니다.
  • Claude 3.7 Sonnet은 고밀도 기술 문서 전반에서 가장 심도 있는 개념 종합 및 추론 능력을 제공하지만, 캐시 미적용 시 1M 토큰당 $3.00라는 입력 비용 때문에 엄격한 프롬프트 캐싱 아키텍처 설계가 필수적입니다.
  • Kimi K2.5는 가장 공격적인 기본 가격 책정(100만 토큰당 입력 $0.25 / 출력 $1.00)을 제공하며 1M 토큰까지 뛰어난 중·영 이중 언어 검색 성능을 보이지만, 1.5M 토큰을 초과하면 다중 바늘 성능이 뚜렷하게 저하됩니다.

3. 주요 경쟁 모델 심층 분석

+---------------------------------------------------------------------------------------------------+
|                            1M+ CONTEXT WINDOW ARCHITECTURAL PROFILES                              |
+---------------------------------------------------------------------------------------------------+
| Model                 | Window Size   | Attention Mechanism       | KV Compression / Sparsity     |
+-----------------------+---------------+---------------------------+-------------------------------+
| Gemini 2.5 Flash      | 2,097,152     | Linear-Hybrid + GQA       | Dynamic Latent KV Paging      |
| Code-SuperNova 1M     | 1,048,576     | Block-Sparse AST Attention| Chunked Sparse-FIM Cache      |
| Claude 3.7 Sonnet     | 1,000,000     | Extended RoPE + GQA       | Tiered Ephemeral KV Cache     |
| Kimi K2.5             | 2,097,152     | RingAttention + Dual-SSM  | Continuous State-Space Chunks |
+-----------------------+---------------+---------------------------+-------------------------------+

Google Gemini 2.5 Flash (2M 토큰)

Gemini 2.5 Flash는 Google의 고효율 프론티어 아키텍처를 대표하는 모델입니다. 그룹 쿼리 어텐션(Grouped-Query Attention, GQA)과 독자적인 선형 하이브리드 어텐션 서브레이어를 결합하여, Gemini 2.5 Flash는 2차 함수적($O(N^2)$) 연산 장벽을 완화합니다. 롱 컨텍스트 추론 시 메모리 사용량은 준선형(quasi-linearly)으로 확장됩니다:

$$\text{Memory}_{KV}(N) = 2 \times L \times n_{kv} \times d_{head} \times N \times \text{Precision}_{bytes}$$

$L=64$개 레이어, $n_{kv}=8$개 헤드, $d_{head}=128$ 환경에서 FP8 정밀도로 2M 토큰을 처리할 경우, 압축되지 않은 KV 캐시는 대략 다음과 같은 메모리를 소비합니다:

$$2 \times 64 \times 8 \times 128 \times 2,097,152 \times 1 \approx 274.8 \text{ GB}$$

Gemini 2.5 Flash는 TPU v6e 클러스터에서 동적 잠재 KV 페이징(dynamic latent KV paging) 및 활성화 양자화(activation quantization)를 활용해 이 문제를 해결하며, p50 TTFT를 2초 미만으로 유지하면서 활성 KV 스토리지를 38GB 미만으로 압축합니다.

Code-SuperNova 1M (1M 토큰)

엔터프라이즈 규모의 소프트웨어 엔지니어링을 위해 특별히 설계된 Code-SuperNova 1M은 전체 저장소(full-repository) 컴파일, AST 순회, 파일 간 호출 그래프(call-graph) 이해에 최적화되어 있습니다. 이 모델의 학습 파이프라인에는 다음 기술이 적용되었습니다:

  • 청크 단위 FIM(Chunked Fill-In-The-Middle): 50개 이상의 상호 연결된 파일에 걸쳐 동시에 적용.
  • 블록 희소 AST 어텐션(Block-Sparse AST Attention): 심볼 정의, 함수 시그니처, import 문을 나타내는 토큰은 전역 어텐션 앵커(global attention anchor) 역할을 부여받으며, 서드파티 종속성 내부의 조밀한 함수 구현부는 지연 압축(lazily compressed)됩니다.
  • 결정론적 구문 복구(Deterministic Syntax Recovery): 프롬프트 내에서 800k 토큰 이전에 위치한 import 문을 확인할 때 허위 API 시그니처(환각) 생성을 방지합니다.

Anthropic Claude 3.7 Sonnet (200k 네이티브 / 1M 베타)

Claude 3.7 Sonnet은 Anthropic의 선도적인 하이브리드 추론 엔진(설정 가능한 사고 토큰)과 확장된 1M 컨텍스트 윈도우를 결합했습니다. Anthropic은 미세 조정된 주파수 재보정(frequency recalibration)을 적용한 고급 YaRN 기반 RoPE(Rotary Position Embedding) 보간법을 활용합니다:

$$\theta_i' = \theta_i \cdot \left(1 - \gamma\right) + \gamma \cdot \frac{\theta_i}{s}$$

이를 통해 멀리 떨어진 컨텍스트 세그먼트 간의 고주파 위치 식별력 손실을 방지합니다. 확장 컨텍스트 모드에서 작동할 때 Claude 3.7 Sonnet은 엄격한 의미론적 일관성을 유지하므로, 미션 크리티컬 시스템의 자율 디버깅 및 다층 아키텍처 감사에 가장 선호되는 모델입니다.

Moonshot AI Kimi K2.5 (2M 토큰)

Moonshot AI는 RingAttention 토폴로지를 통해 분산 롱 컨텍스트 처리를 개척하였으며, 고대역폭 인터커넥트(NVLink/InfiniBand)로 연결된 GPU 클러스터 전반에 걸쳐 시퀀스 차원을 분산시킵니다. Kimi K2.5는 트랜스포머 블록과 선택적 상태 공간 계층(SSM)을 융합하여, 업계 최고 수준의 토큰 가성비로 대화형 데이터 및 정형 테이블 데이터가 혼합된 2M 토큰을 안정적으로 처리할 수 있도록 지원합니다.


4. 건초더미 속 바늘 찾기(NIAH): 단일 니들 vs 다중 니들 분석

합성 벤치마크의 함정

표준 단일 니들 NIAH(Needle In A Haystack) 테스트는 임의의 텍스트 말뭉치(폴 그레이엄(Paul Graham) 에세이나 오픈소스 문서 등) 내부의 다양한 깊이 비율(0%~100%)에 단 하나의 사실(예: "서버실 비밀번호는 PineApple-7749입니다")을 배치합니다.

최신 프론티어 모델은 모두 1M 토큰 단일 니들 NIAH에서 녹색 지표(>99.0%)를 기록합니다. 그러나 실제 프로덕션 워크로드는 결코 고립된 키워드 하나를 검색하는 데 그치지 않습니다. 실무 작업에는 다음과 같은 과정이 수반됩니다:

  1. 다중 니들 검색(Multi-Needle Retrieval): 서로 다른 문서에 흩어져 있는 5~20개의 상호 연관된 변수 식별.
  2. 연관 체인 추론(Associative Chain Reasoning): 니들 A(데이터베이스 스키마)를 추출하고, 이를 니들 B(ORM 쿼리)와 연결한 뒤, 니들 C(보안 패치)를 종합.
+-----------------------------------------------------------------------------------------------+
|                     MULTI-NEEDLE RETRIEVAL DEGRADATION CURVES (5 NEEDLES)                     |
+-----------------------------------------------------------------------------------------------+
| Context Depth (Tokens)| 64k       | 128k      | 256k      | 512k      | 1M        | 2M        |
+-----------------------+-----------+-----------+-----------+-----------+-----------+-----------+
| Gemini 2.5 Flash      | 99.7%     | 99.2%     | 98.4%     | 96.8%     | 94.2%     | 88.5%     |
| Code-SuperNova 1M     | 99.8%     | 99.5%     | 98.9%     | 97.4%     | 95.1%     | N/A       |
| Claude 3.7 Sonnet     | 99.9%     | 99.6%     | 98.7%     | 96.5%     | 93.8%     | N/A       |
| Kimi K2.5             | 99.4%     | 98.8%     | 97.2%     | 94.1%     | 89.6%     | 81.2%     |
+-----------------------+-----------+-----------+-----------+-----------+-----------+-----------+

2026년의 'Lost in the Middle' 현상

아키텍처의 비약적인 발전에도 불구하고, 컨텍스트 깊이가 500,000 토큰을 넘어서면 전형적인 'Lost in the Middle' 성능 저하 현상이 여전히 발생합니다:

  • 초두 효과(Primacy Effect, 0%~15% 깊이): 검색 정확도가 98.5% 이상으로 유지됩니다. 모델은 시스템 지침과 초기 스키마 정의에 강하게 집중합니다.
  • 최신 효과(Recency Effect, 85%~100% 깊이): 검색 정확도가 99.0% 이상을 유지합니다. 직전 대화 기록과 최종 쿼리 지침에서는 성능 저하가 전혀 나타나지 않습니다.
  • 주의력 저하 구간(Trough of Inattention, 35%~65% 깊이): 1M 토큰에 걸친 다중 니들 작업에서, 40~60 백분위수 구간의 검색 정확도는 평균 7.4%~12.8% 하락합니다.
Retrieval
Accuracy
  100% | \                                         /
   95% |   \                                     /
   90% |     \                                 /
   85% |       \                             /
   80% |         \_______Trough (40-60%)____/
       +---------------------------------------------
       0%         25%         50%         75%        100%
                        Context Position

5. 다중 문서 검색 손실 및 컨텍스트 부패(Context Rot)

복잡한 여러 문서를 수집할 때, 롱 컨텍스트 모델은 문서 간 어텐션 간섭으로 인해 추론 충실도가 점진적으로 저하되는 컨텍스트 부패(Context Rot) 현상을 겪게 됩니다.

컨텍스트 부패의 근본 원인:

  1. 어텐션 분산(Attention Dispersion): 표준 소프트맥스 어텐션에서 시퀀스 길이 $N$이 $10^6$에 가까워질수록 어텐션 가중치 분포 $\text{softmax}(QK^T / \sqrt{d})$는 점점 더 확산(diffuse)됩니다. 이로 인해 무관한 수천 개의 토큰에 걸쳐 낮은 크기의 어텐션 노이즈가 누적됩니다.
  2. 유사 엔티티 중복으로 인한 착각(Confabulation via Overlapping Entities): 서로 다른 15개의 파일이 유사한 클래스 이름(예: UserSessionController, AuthSessionManager, UserSessionHandler)을 참조할 경우, 크로스 어텐션 가중치에 상쇄 간섭이 발생하여 모델이 무관한 엔티티의 필드를 뒤섞어 버립니다.
  3. 지시문 이탈(Instruction Drift): 방대한 소스 코드가 포함된 긴 프롬프트는 모델이 시스템 프롬프트에 설정된 부정적 제약 조건(negative constraints)이나 JSON 포맷팅 요구 사항에 대한 준수율을 점차 잃게 만듭니다.

완화 전략:

  • 계층적 앵커링(Hierarchical Anchoring): 중요한 스키마와 출력 서식 제약 조건을 프롬프트의 시작($0\%$)과 끝($100\%$) 모두에 배치합니다.
  • 명시적 문서 구분(Explicit Document Demarcation): 명시적인 토큰 수와 파일 경로가 포함된 구조적 XML 또는 Markdown 래퍼를 사용합니다:
<document index="4" path="src/auth/session.ts" tokens="1420">
// File contents...
</document>
  • 주입 전 컨텍스트 프루닝(Context Pruning Before Injection): 락 파일(lockfiles), 빌드 결과물(build artifacts), 벤더 라이브러리를 필터링하여 유효 컨텍스트를 모델의 최고 충실도 대역(<512k 토큰) 내로 유지합니다.

6. 실제 개발자 테스트: 구체적인 CLI 및 API 구현

프로덕션 환경에서 100만 토큰 컨텍스트 회수율을 테스트하기 위해, 개발자는 Python과 비동기 클라이언트 드라이버를 사용하여 재현 가능한 합성 NIAH 테스트를 실행할 수 있습니다.

1M 토큰 멀티 니들(Multi-Needle) 벤치마크 실행

import asyncio
import os
import random
from anthropic import AsyncAnthropic
from google import genai

async def run_1m_gemini_niah(haystack_path: str, needles: list[dict]):
    """
    100만 토큰 환경에서 Gemini 2.5 Flash를 대상으로 멀티 니들 검색 테스트를 수행합니다.
    """
    client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
    
    with open(haystack_path, "r") as f:
        corpus = f.read()
        
    # 결정론적 깊이 간격(예: 20%, 45%, 70%)에 니들 주입
    tokens = corpus.split()
    total_len = len(tokens)
    
    for needle in needles:
        insert_idx = int(total_len * needle["depth"])
        tokens.insert(insert_idx, needle["content"])
        
    prompt_payload = " ".join(tokens)
    query = "List all secret access tokens and their corresponding department codes verbatim."
    
    response = await client.aio.models.generate_content(
        model="gemini-2.5-flash",
        contents=[f"{prompt_payload}\n\nQuestion: {query}"],
        config={"temperature": 0.0}
    )
    
    print("Gemini 2.5 Flash Retrieval Result:\n", response.text)

# CLI 실행 명령:
# python -m benchmarks.niah_runner --model gemini-2.5-flash --depths 0.2,0.5,0.8 --tokens 1000000

Code-SuperNova 1M을 활용한 CLI 분석

# 85만 토큰 규모의 저장소 전체를 입력받아 제로데이 메모리 누수 감사 수행
code-supernova audit \
  --repo-dir ./enterprise-monorepo \
  --context-window 1048576 \
  --needle-mode multi-ast \
  --temperature 0.1 \
  --output ./audit_report.json

7. 경제성 및 1M 토큰당 쿼리 비용

롱 컨텍스트 아키텍처에서 경제적 실현 가능성은 프롬프트 캐싱(Prompt Caching)에 달려 있습니다. 캐싱 없이 제출되는 100만 토큰 쿼리는 빈번하게 발생하는 워크플로에서 비용 감당이 불가능할 정도로 비쌉니다.

1,000,000 입력 토큰당 비용 세부 분석

+---------------------------------------------------------------------------------------------------+
|                             1M TOKEN QUERY INGESTION ECONOMICS                                    |
+---------------------------------------------------------------------------------------------------+
| Model                 | Uncached Single Query | Cached Query (90% Hit) | 100 Queries/Day (Cached) |
+-----------------------+-----------------------+------------------------+--------------------------+
| Gemini 2.5 Flash      | $0.30                 | $0.075                 | $7.50 / day              |
| Kimi K2.5             | $0.25                 | $0.100                 | $10.00 / day             |
| Code-SuperNova 1M     | $0.80                 | $0.160                 | $16.00 / day             |
| Claude 3.7 Sonnet     | $3.00                 | $0.300                 | $30.00 / day             |
+-----------------------+-----------------------+------------------------+--------------------------+

프롬프트 캐싱 손익분기점 분석:

  • 프롬프트 캐싱이 없으면 Claude 3.7 Sonnet으로 하루에 전체 리포지토리 쿼리를 50회 실행할 때 매일 $150.00(월 $4,500)의 비용이 발생합니다.
  • Anthropic의 90% 프롬프트 캐싱 할인을 적용하면 동일한 워크로드 비용이 매일 $15.00(월 $450)로 대폭 줄어들어, 즉각적인 월 $4,050의 절감 효과를 제공합니다.
  • 비용에 민감한 고처리량 추출 파이프라인의 경우, Gemini 2.5 Flash가 148 TPS를 유지하면서도 가장 낮은 총소유비용(캐시된 100만 토큰당 $0.075)을 제공합니다.

8. E-E-A-T 아키텍처 권장 사항 및 최종 평가

최종 선택 매트릭스:

  1. Gemini 2.5 Flash (2M): 높은 처리량, 실시간 인터랙티브 지연 시간, 대규모 멀티모달 컨텍스트(비디오, 오디오, PDF 서적), 최저 수준의 API 가격이 최우선 고려사항인 경우 선택하십시오.
  2. Code-SuperNova 1M: 전체 저장소 기반의 자동화된 소프트웨어 엔지니어링, 다중 파일 리팩터링, 코드 문법 충실도가 중요한 복잡한 컴파일러/AST 그래프 분석에 적합합니다.
  3. Claude 3.7 Sonnet (1M Extended): 심도 있는 지적 종합(intellectual synthesis), 중요도가 높은 보안 감사, 법률 계약서 검토, 모호한 요구사항에 대한 정교한 추론이 필요한 경우 선택하십시오.
  4. Kimi K2.5 (2M): 비용 효율적인 영-중 바이링구얼 롱 컨텍스트 처리, 표 형식 데이터 분석, 대량의 텍스트 요약 작업에 적합합니다.

프로덕션 모범 사례:

  • 단일 니들(Single-Needle) 벤치마크에만 의존하지 마십시오: 항상 실제 데이터 스키마를 반영하는 도메인 특화 멀티 니들 테스트 스위트로 후보 모델을 평가해야 합니다.
  • 엄격한 프롬프트 캐싱 경계를 적용하십시오: 쿼리 전반에 걸쳐 80만 개 이상의 정적 토큰 컨텍스트 접두사(prefix)가 동일하게 유지되도록 요청을 구성하여 KV 캐시 재사용을 극대화하십시오.
  • 100만 토큰을 초과하는 시퀀스에는 하이브리드 RAG를 구현하십시오: 200만 토큰을 초과하는 지식 베이스의 경우, 벡터/어휘 검색(상위 20만 토큰으로 필터링)과 롱 컨텍스트 LLM 추론을 결합한 하이브리드 아키텍처가 단순 무차별 대입(brute-force) 방식의 200만 토큰 입력보다 정확도와 지연 시간 모두에서 지속적으로 뛰어난 성능을 발휘합니다.
← 전체 아티클
0 / 4