Benchmarks

LLMコンテキストウィンドウサイズ&Needle in a Haystackリーダーボード

### クイックアンサー:1M+コンテキストウィンドウと検索精度

2026年現在、Gemini 2.5 Flash(2M)、Code-SuperNova(1M)、Claude 3.7 Sonnet(200k〜1M拡張)、Kimi K2.5(2M)により、100万(1M)トークン以上のコンテキストウィンドウは本番環境で実用段階に達しています。単一のキーを検索するNeedle In A Haystack(NIAH)スコアは4モデルすべてで99%を超えているものの、複数のキーを関連付けて検索するマルチニードル連想検索では、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(抽象構文木)でトークン化されたマルチリポジトリグラフ上で事前学習され、フルコンテキストのFill-in-the-Middle(FIM)機能を備えた開発者特化型モデル。
  3. Anthropic Claude 3.7 Sonnet(200kネイティブ / 1M拡張ベータ):動的思考バジェット(thought-budget)推論に対応し、90%のプロンプトキャッシュ割引を適用可能な1Mトークンのベータコンテキストウィンドウを備えたハイブリッドアーキテクチャ。
  4. Moonshot AI Kimi K2.5(2Mトークン):RingAttentionの派生型と選択的スパース状態空間(selective sparse state-space)ルーティングを活用した、ネイティブ長大コンテキスト対応の中英バイリンガル最前線モデル。

しかし、1Mや2Mトークンのコンテキストウィンドウを謳っているからといって、その広大な情報の中に埋もれたデータを正確に抽出し、推論し、統合できることが保証されるわけではありません。コンテキストの実効的な活用度は、合成ベンチマークであるNeedle In A Haystack(NIAH)の劣化曲線、複数ドキュメント間のクロスリファレンス損失、メモリ帯域幅の制約、そしてプロンプト取り込みコストというシビアな経済的現実に左右されます。


2. 定量マトリクス:1M+コンテキストウィンドウリーダーボード

長大コンテキストに対応するフロンティアモデルを評価するには、単一ニードルの再現率、複数ドキュメントの統合能力、推論スループット(Tokens Per Second, TPS)、初回トークン生成時間(Time-to-First-Token, TTFT)、そしてプロンプトキャッシュの経済性を検証する必要があります。

モデルとコンテキストウィンドウ 単一ニードル NIAH(1M) マルチニードル NIAH(1M、5本) LiveCodeBench v6(長大リポジトリ) 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拡張) 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ベースライン) 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)$ の計算障壁を緩和している。ロングコンテキスト推論において、そのメモリフットプリントは準線形にスケールする。

$$\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は、動的潜在KVページング(dynamic latent KV paging)とアクティベーション量子化を活用してTPU v6eクラスタ上でこの課題を解決し、p50 TTFTを2秒未満に維持しながら、アクティブなKVストレージを38 GB未満に圧縮している。

Code-SuperNova 1M(1Mトークン)

エンタープライズ規模のソフトウェアエンジニアリング専用に設計されたCode-SuperNova 1Mは、リポジトリ全体のコンパイル、AST探索、クロスファイルのコールグラフ把握に最適化されている。そのトレーニングパイプラインには以下が組み込まれている。

  • 相互に関連する50以上のファイルに同時に適用されるチャンク化Fill-In-The-Middle(FIM)
  • ブロックスパースASTアテンション(Block-Sparse AST Attention): シンボル定義、関数シグネチャ、import文を表すトークンがグローバルアテンションアンカーを受け取る一方、サードパーティの依存関係内にある密な関数実装は遅延圧縮される。
  • 決定論的構文回復(Deterministic Syntax Recovery): プロンプト内で80万トークン前に位置するimportを解決する際に、ハルシネーションによる不正なAPIシグネチャの生成を防止する。

Anthropic Claude 3.7 Sonnet(ネイティブ200k / ベータ1M)

Claude 3.7 Sonnetは、Anthropicが誇る最先端のハイブリッド推論エンジン(設定可能な思考トークン)と、拡張された1Mコンテキストウィンドウを兼ね備えている。Anthropicは、微調整された周波数再キャリブレーションを伴う高度なYaRNベースのRotary Position Embedding(RoPE)補間を適用している。

$$\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は、高帯域幅インターコネクト(NVLink/InfiniBand)を介して相互接続されたGPUクラスタ全体にシーケンス次元を分散するRingAttentionトポロジーを通じて、分散ロングコンテキスト処理を先駆けて実用化した。Kimi K2.5はTransformerブロックと選択的状態空間レイヤー(SSM)を融合させ、会話データと構造化テーブルデータが混在する2Mトークンの持続的な処理を、業界随一の低価格なトークン単価で実現している。


4. Needle in a Haystack(NIAH):単一ニードル vs 複数ニードル分析

合成ベンチマークの罠

標準的な単一ニードルによるNeedle In A Haystack(NIAH)テストでは、任意のテキストコーパス(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」現象

アーキテクチャの進化にもかかわらず、コンテキスト深度が50万トークンを超えると、古典的な「Lost in the Middle(中央での埋没)」による性能低下が依然として発生する。

  • 初頭効果(深度 0%〜15%): 検索精度は98.5%以上を維持。モデルはシステム指示や初期のスキーマ定義に対して強くアテンションを向ける。
  • 新近効果(深度 85%〜100%): 検索精度は99.0%以上を維持。直前の会話履歴や末尾のクエリ指示において性能低下は一切見られない。
  • アテンションの谷(深度 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)に直面します。これは、ドキュメント間のアテンション干渉によって推論の忠実性(reasoning fidelity)が段階的に低下していく現象です。

コンテキスト劣化の根本原因:

  1. アテンションの分散(Attention Dispersion): 標準的なSoftmaxアテンションでは、シーケンス長 $N$ が $10^6$ に近づくにつれて、アテンション重みの分布 $\text{softmax}(QK^T / \sqrt{d})$ が極めて散漫になります。その結果、数千もの無関係なトークン全体に微小なアテンションノイズが蓄積されます。
  2. 重複エンティティによる作話(Confabulation via Overlapping Entities): 15の異なるファイルが類似したクラス名(例: UserSessionControllerAuthSessionManagerUserSessionHandler)を参照している場合、クロスアテンションの重みに破壊的干渉が生じ、モデルが無関係なエンティティのフィールドを混同(ブレンド)してしまいます。
  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): ロックファイル、ビルド成果物、ベンダーライブラリを事前に除外し、有効なコンテキストをモデルの最高忠実度帯(512kトークン未満)に収めます。

6. 実践的な開発者向けテスト: 具体的なCLIおよびAPI実装

本番環境で100万トークンの再現率(Recall)を検証するために、開発者はPythonと非同期クライアントドライバを使用して、再現性の高い合成NIAH(Needle In A Haystack)テストを実行できます。

100万トークン・マルチニードルベンチマークの実行

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]):
    """
    Gemini 2.5 Flashに対し、100万トークン規模でマルチニードル検索テストを実行します。
    """
    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解析

# 850kトークンのリポジトリ全体を取り込み、ゼロデイメモリリークを監査
code-supernova audit \
  --repo-dir ./enterprise-monorepo \
  --context-window 1048576 \
  --needle-mode multi-ast \
  --temperature 0.1 \
  --output ./audit_report.json

7. 経済性とクエリあたりのコスト(100万トークン時)

ロングコンテキストアーキテクチャにおいて、経済的実現可能性(フィナンシャル・バイアビリティ)はプロンプトキャッシュ(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でリポジトリ全体を対象としたクエリを1日50回実行すると、1日あたり$150.00(月額$4,500)のコストが発生します。
  • Anthropicの90%プロンプトキャッシュ割引を適用すると、同一のワークロードが1日あたり$15.00(月額$450)となり、即座に月額$4,050のコスト削減が実現します。
  • コスト重視の高スループット抽出パイプラインにおいて、Gemini 2.5 Flashは148 TPSの速度を維持しつつ、最も低い総所有コスト(TCO: キャッシュ時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)の選択が適しているケース: 高度な知見の統合、重大なセキュリティ監査、法的契約書のレビュー、曖昧な要件に対するニュアンスを汲み取った深い推論を行う場合。
  4. Kimi K2.5(2M)の選択が適しているケース: 費用対効果の高い英語・中国語バイリンガルでのロングコンテキスト処理、表形式データの分析、大量のテキスト要約を行う場合。

本番環境におけるベストプラクティス:

  • 単一ニードル(Single-Needle)ベンチマークのみに依存しない: 必ず自社のデータスキーマを反映した、ドメイン特化型のマルチニードルテストスイートを用いて候補モデルを評価してください。
  • プロンプトキャッシュ境界を厳格に管理する: 800kトークン以上の静的コンテキストプレフィックスがクエリ間で完全に一致するようにリクエストを構成し、KVキャッシュの再利用率を最大化してください。
  • 100万トークンを超えるシーケンスにはハイブリッドRAGを実装する: 200万トークンを超えるナレッジベースに対しては、ベクトル/レキシカル検索(上位200kトークン程度への事前フィルタリング)とロングコンテキストLLMの推論を組み合わせたハイブリッドアーキテクチャのほうが、単純に200万トークンを一括投入する力任せの手法よりも、精度とレイテンシの両面で一貫して優れた成果を発揮します。
← 記事一覧へ
0 / 4