生成 AI におけるロングコンテキストと multi-needle

2025-04-11

はじめに

本ブログでは、Google Cloud NEXT 2025 で 2025-04-10 に行われた、Deep Mind の Staff Research Scientist である Nikolay Savinov 氏の Long context is all you need というセッションを受けて、 ロングコンテキストについて整理しつつ、セッション中に話題に出た multi-needle について触れたいと思います。

ロングコンテキストについて

ロングコンテキストとはなにか

ロングコンテキストとは、生成 AI モデルが一度に処理できる入力テキストの長さ(トークン数)が非常に大きいことを指します。 Gemini をはじめとする、生成 AI モデルのコンテキストウィンドウ(処理できるテキストの範囲)が非常に大きいモデルが登場しています。 こういったモデルに外部からの知識を与えて処理をするときに、情報を細切れにしてモデルに渡すのではなく、 大量の情報をまとめてモデルに渡したうえで、利用する情報をモデルに取捨選択させるアプローチが最近増えてきています。

ロングコンテキストと RAG

従来のモデルでは、コンテキストウィンドウ(処理できるテキストの範囲)が比較的小さく、長文の情報を十分に活用できず、 外部ドキュメントからリアルタイムで正確な回答を取得するために、RAG(Retrieval-Augmented Generation)を利用する必要がありました。
RAG は、外部のデータソースから情報を検索し、LLM がその情報を基にテキストを生成する手法です。 従来の手法では、 RAG で利用するための元データをコンテキストウィンドウの範囲内に収めるためにチャンクに分割し、 分割単位でベクトル化を行い DB に保存します。 利用時には問い合わせに応じてセマンティック検索を行い、得られた情報をコンテキストとして LLM に与えることで、 問い合わせに対してより正確な回答を生成します。

ロングコンテキスト技術の発展により、次に挙げるように RAG とロングコンテキストを比較する研究も増えており、 「RAG(Retrieval-Augmented Generation)はもう不要になるのでは?」という声も聞かれるようになりました。

私もこれまでに作成した生成 AI アプリでは RAG のフレームワークをよく利用していましたが、 実装はどちらかというとベクトル検索の仕組みを利用して関連するドキュメントを探すために利用しており、 関連ドキュメントが見つかったら、文書全体をコンテキストウィンドウが大きく、かつ安価で高速な Gemini 系のモデルに与えていました。

RAG は必要なくなるのか?

RAG には次のような課題があります。

  • 検索精度: 検索コンポーネントが常に最適な情報を取得できるとは限らず、関連性の低い情報や不正確な情報を取得してしまうと、かえって回答の質を低下させる可能性がある
  • 情報の断片化: 文書を小さなチャンク(断片)に分割して検索対象とするため、文書全体の文脈や、複数の情報間の複雑な関連性を捉えきれない場合がある
  • レイテンシの増加: 検索処理が遅い可能性がある

ロングコンテキストモデルは、RAG が抱える上記のような課題の一部を解決できる可能性があります。

  • 文脈全体の理解: 文書全体の文脈や情報間の複雑な依存関係をモデル自身が直接理解でき、情報の抜け漏れや断片化による理解不足が起こりにくくなる
  • 継続的な推論: RAG では基本的に最初に検索を行うが、ロングコンテキストモデルは大量の情報を保持したまま、対話の進行に合わせて継続的に情報を参照し、推論を行うことが可能
  • Few-Shot 学習の強化: 大量のプロンプトを一度に与えられるため、特定のタスクに対して、多くの例を用いた指示が可能になり、Reasoning などを行いファインチューニングなしでも高い性能を引き出せる可能性がある

こういった背景から、プレゼンターの Nikolay 氏も基本的にはロングコンテキストでよいのではないかという趣旨のことを述べていました (ご本人の研究分野というのもあると思います)。 同時に、RAG が廃れてしまうのか?という点に対しては No で、 エンタープライズ規模でのサービスを考えると、ロングコンテキストには収まり切らない情報量があるため、RAG のような仕組みは依然必要であるという見解を示していました。

また、ロングコンテキストにも課題はあります。大量のトークンを処理するための計算コストや応答時間は、RAG よりも大きくなる傾向があります。 非常に長いコンテキストの中から、本当に必要な情報だけに注意を向けて適切に利用できるかという点(後述の multi-needle 評価にも関連)も重要になります。

現状では、タスクの性質や要件に応じて、RAG とロングコンテキストを使い分けたり、あるいは両者を組み合わせたりすることが有効と考えられます。

multi-needle について

セッション中で言及された "multi-needle" は、ロングコンテキストモデルの評価手法である 「Needle in a Haystack (NIAH)」 テストの拡張版です。

Needle in a Haystack(干し草の山の中の針探し)テストは、 LLM の長文読解能力、特に長い文脈の中から特定の情報(needle)を見つけ出す能力を評価するための手法です。 具体的には、長い文書(haystack)の中に意図的に特定の文(needle)を埋め込み、モデルにその文を見つけ出すよう指示し、その精度を測ります。

Multi-needle は、このテストをさらに進化させたもので、複数の情報(needles)を長い文書(haystack)の中に埋め込み、 モデルがそれらすべてを正確に見つけ出し、場合によってはそれらの情報に基づいて推論する能力を評価します。

multi-needle の特徴

  • 複数情報の検索能力評価: 単一の情報だけでなく、複数の関連情報や無関係な情報を同時に検索・抽出できるかを評価
  • 情報統合・推論能力評価: 複数の情報を見つけ出すだけでなく、それらの情報を組み合わせて質問に答えたり、推論したりする必要があるタスク(Multi-Needle + Reasoning)も評価対象とする。これにより、モデルが単なる検索だけでなく、より高度な情報処理を行えるかを確認可能
  • 現実的なシナリオのシミュレーション: 実際の応用場面では、一つの文書から複数の情報を抽出したり、複数の文書にまたがる情報を統合したりする必要があることが多いため、multi-needle 評価はより現実的なタスク遂行能力を測る

コンテキストウィンドウが長くなるほど、大量の情報の中から複数の関連情報を見つけ出し、適切に利用する能力が重要になります。 Multi-needle 評価は、この能力を定量的に測る上で有効な手法であり、 異なるロングコンテキストモデルが、複数の情報を扱う能力においてどのような違いがあるかを比較検討するための客観的な指標となります。

まとめ

Google Cloud NEXT 2025 の Long context is all you need セッションは、 生成 AI におけるロングコンテキスト技術の重要性と、Google Gemini、 特に、今後 2 百万トークンを許容出来るようになり、Reasoning も備えた (参考) Gemini 2.5 の強力さを示すものでした。 最大 200 万トークンという広大なコンテキストウィンドウは、長文だけでなく、これまで難しかった動画や大量データの処理を可能にし、AI の応用可能性を大きく広げます。

RAG と比較して、ロングコンテキストは文脈全体の理解やシステム構成の簡略化といった利点を提供する一方で、 計算コストなどの課題も残ります。現時点では、用途に応じて両者を使い分ける、あるいは組み合わせることが現実的な解と言えるでしょう。

そして、ロングコンテキストモデルの真価を測る上で、multi-needle 評価のような、 より現実に近い複雑なタスクに対応できるかを測る指標が重要になってきます。 複数の情報を正確に抽出し、統合・推論する能力は、今後のモデル選択における重要な評価軸となるでしょう。

最後に、Belong は生成 AI を活用した業務効率化を実現するメンバーを募集しています。 本記事のような内容を自らキャッチアップし、議論を深められるメンバーを求めています。 Belong に興味を持っていただけたらぜひエンジニアリングチーム紹介ページを確認していただき、カジュアル面談等お声がけいただけたら嬉しく思います。