NoLiMa:リテラルマッチングを超えた長文脈評価の新基準
はじめに
近年、GPT-4oやGemini 1.5 Pro、Claude 3.5 Sonnetなどの大規模言語モデル(LLM)は、128Kから1Mトークンまでの長い文脈をサポートすると主張しています。しかし、これらのモデルが実際の長文脈タスクでどれだけ優れているのかについては疑問が残ります。アドビリサーチが最近発表した「NoLiMa」は、LLMの長文脈処理能力をより厳密に評価するための新しいベンチマークです。今回は、このNoLiMaの概要と、その結果から見えてくるLLMの現状と課題について解説します。
参照元論文: NoLiMa: Long-Context Evaluation Beyond Literal Matching
NoLiMaとは何か
NoLiMaは「No Literal Matching(リテラルマッチングなし)」の略で、従来の「Needle-in-a-Haystack(干し草の中の針)」テストを拡張したベンチマークです。従来の評価方法では、質問と関連情報(needle)の間に文字通りの一致(literal match)が存在し、モデルは単に文字列マッチングを行うだけで回答が可能でした。
NoLiMaの革新的な点は、質問とneedleの間に最小限の字句的重複しか持たないように設計されていることです。例えば:
- Needle: 「ユキはゼンパーオペラハウスの隣に住んでいます」
- 質問: 「どのキャラクターがドレスデンに行ったことがありますか?」
この例では、「ゼンパーオペラハウス」と「ドレスデン」の間に直接的な語彙的重複はありません。モデルは「ゼンパーオペラハウスはドレスデンにある」という世界知識を活用して、「ユキ」が答えであると推論する必要があります。
さらに難しい「2ホップ」の例では:
- 質問: 「ザクセン州に行ったことがあるキャラクターは?」
この場合、「ドレスデンはザクセン州にある」という追加の知識が必要となります。
実験設定
NoLiMaでは、以下の設定で12の主要LLMを評価しました:
- 5つのneedleグループ、合計58の質問-needle対
- 文脈長:250、500、1K、2K、4K、8K、16K、32Kトークン
- 評価モデル:GPT-4o、GPT-4o Mini、Gemini 1.5 Pro/Flash、Claude 3.5 Sonnet、Llama 3.x系列など
- 短い文脈(250、500、1K)での最高スコアを「ベーススコア」として定義
- 「有効長さ」:ベーススコアの85%を超える最大のテスト長さ
性能評価結果
以下の表はNoLiMaテストでの各モデルの性能結果を示しています:
モデル | 主張長 | 有効長 | ベース スコア (×0.85) |
1K | 2K | 4K | 8K | 16K | 32K |
---|---|---|---|---|---|---|---|---|---|
GPT-4o | 128K | 8K | 99.3 (84.4) | 98.1 | 98.0 | 95.7 | 89.2 | 81.6 | 69.7 |
Llama 3.3 70B | 128K | 2K | 97.3 (82.7) | 94.2 | 87.4 | 81.5 | 72.1 | 59.5 | 42.7 |
Llama 3.1 405B | 128K | 2K | 94.7 (80.5) | 89.0 | 85.0 | 74.5 | 60.1 | 48.4 | 38.0 |
Llama 3.1 70B | 128K | 2K | 94.5 (80.3) | 91.0 | 81.8 | 71.2 | 62.7 | 51.8 | 43.2 |
Gemini 1.5 Pro | 2M | 2K | 92.6 (78.7) | 86.4 | 82.7 | 75.4 | 63.9 | 55.5 | 48.2 |
Jamba 1.5 Mini | 256K | <1K | 92.4 (78.6) | 76.3 | 74.1 | 70.8 | 62.2 | 52.7 | 43.6 |
Command R+ | 128K | <1K | 90.9 (77.3) | 77.0 | 73.5 | 66.3 | 39.5 | 21.3 | 7.4 |
Mistral Large 2 | 128K | 2K | 87.9 (74.7) | 86.1 | 85.5 | 73.3 | 51.5 | 32.6 | 18.7 |
Claude 3.5 Sonnet | 200K | 4K | 87.6 (74.4) | 85.4 | 84.0 | 77.6 | 61.7 | 45.7 | 29.8 |
Gemini 1.5 Flash | 1M | <1K | 84.7 (72.0) | 68.6 | 61.6 | 51.0 | 44.4 | 35.5 | 28.6 |
GPT-4o mini | 128K | <1K | 84.9 (72.2) | 67.7 | 58.2 | 44.1 | 32.6 | 20.6 | 13.7 |
Llama 3.1 8B | 128K | 1K | 76.7 (65.2) | 65.7 | 54.4 | 44.1 | 31.9 | 22.6 | 14.2 |
※ ベーススコアの50%を下回るスコアはイタリック体で表示されています。
この表から分かるように、ほとんどのモデルは短い文脈では高い性能を示すものの、文脈長が増加するにつれて性能が大幅に低下しています。特に注目すべきは、主張されている文脈長と実際の「有効長」(ベーススコアの85%を維持できる最大長)との大きな差です。
衝撃的な結果
実験結果は、現在のLLMの長文脈処理能力に深刻な課題があることを明らかにしました:
-
主張と現実のギャップ:128Kトークンをサポートすると主張するモデルの多くは、実際には2K以下の「有効長さ」しか持っていませんでした。GPT-4oは例外的に8Kの有効長さを示しました。
-
急激な性能低下:12モデル中10モデルが32Kトークンの文脈では、ベーススコアの50%以下まで性能が低下しました。最高性能のGPT-4oでさえ、ベーススコア99.3%から69.7%まで低下しています。
-
複雑な推論の困難さ:2ホップの推論が必要な質問は特に難しく、文脈長が増加するにつれてそのギャップはさらに広がりました。
-
「lost-in-the-middle」効果:長い文脈の中央部分に配置されたneedleは、文脈の端に近いものよりも発見されにくい傾向がありました。
改善の試み
研究者たちはChain-of-Thought(CoT)プロンプティングを試した結果、特に2ホップタスクでいくつかの改善が見られました。例えばLlama 3.3 70BモデルはCoTを使用することで、8Kトークンでの性能が37.2%から51.2%に向上しました。
しかし、16Kトークン以上の文脈では、CoTを使用しても性能は依然として低いままでした。また、GPT-o1などの推論に特化したモデルはより良い結果を示しましたが、32Kトークンでは31.1%と依然として50%を下回っています。
実用的な意義
NoLiMaの結果は、RAGシステムや長文書QAなど実際のアプリケーションに重要な示唆を与えています:
-
検索の限界:ユーザークエリと関連文書の間に語彙的なギャップがある場合、モデルは関連情報を適切に抽出できない可能性があります。
-
長文書理解の課題:長文書の要約や複雑なQAタスクでは、特に文書の中央部分にある情報が見落とされやすいことを考慮する必要があります。
-
システム設計への影響:長文脈を扱うLLMアプリケーションを設計する際は、チャンク分割やクエリリファインメントなどの技術を活用し、モデルの長文脈処理の限界を補う必要があります。
結論
NoLiMaは、LLMの長文脈処理能力の評価における新たな基準を設定しました。この研究から明らかになったのは、最新のLLMでさえも、リテラルマッチがない長い文脈での深い推論には依然として課題があるということです。
長文脈をサポートするLLMの開発は急速に進んでいますが、単にトークン数を増やすだけでは不十分です。今後は、長文脈での深い推論能力を向上させるためのアーキテクチャやトレーニング方法の改善が必要とされます。開発者、研究者、そしてユーザーはこれらの限界を認識し、現実的な期待を持ってLLMを活用することが重要です。
データセットと評価コードはGitHubで公開されており、LLMの長文脈処理能力の進展を評価する貴重なリソースとなるでしょう。
Discussion