Self-RAG:LLMのための適応的リトリーバルと自己批判
標準的なRAGは、検索が役立つかどうかにかかわらず、毎回検索を実行します。Asaiら(ICLR 2024 Oral)によるSelf-RAGは、別の問いを投げかけます。もしモデル自身がいつ情報を検索するかを決定し、その結果を評価したらどうなるでしょうか?これが非常に重要であることが判明しており、そのメカニズムは注意深く研究する価値があるほどクリーンなものです。
論文の概要
バニラな検索拡張生成(RAG)の主な不満点は、無差別であることです。すべての入力に対して固定数のパッセージを検索し、それらを先頭に追加して生成を行います。これは検索が役立つ場合には十分に機能しますが、パッセージが無関係な場合や、モデルがすでに重みの中に答えを持っている場合には、かえって悪影 響を及ぼします。本論文では、Akari Asai、Zeqiu Wu、Yizhong Wang、Avirup Sil、Hannaneh Hajishirzi(ワシントン大学およびIBM Research)によって執筆された**Self-Reflective Retrieval-Augmented Generation (Self-RAG)**を紹介しています。
鍵となるメカニズムは、トレーニング時にモデルの語彙に組み込まれた4つの特別な**反省トークン(reflection tokens)**のセットです。Retrieveは、そもそもリトリーバーを呼び出すかどうかを決定します。IsRel(関連性)は、検索されたパッセージにクエリに対する有用な情報が実際に含まれているかを評価します。IsSup(支持)は、生成された主張がパッセージによって完全、部分的、または全く支持されていないかをチェックします。IsUse(有用性)は、回答全体の品質を1から5でスコアリングします。モデルは、通常の出力と並行してこれらのトークンを発行することを学習します。つまり、1回のフォワードパスで自らの検索と生成を批判するのです。
トレーニングは2段階で行われます。まず、トークンタイプごとに約4,000〜20,000のラベル付きサンプルを用いて、批判モデル(ファインチューニングされたLLaMA 2, 7B)をトレーニングし、GPT-4の予測と90%以上の一致に達しました。次に、その批判モデルが15万件のインストラクション・出力コーパスにオフラインで注釈を付け、生成モデルは、反省トークンを通常の語彙として扱うこの注釈付きデータでトレーニングされます。強化学習は必要ありません。
主なアイデア
- 4つの反省トークン(Retrieve, IsRel, IsSup, IsUse)により、単なるバイナリな検索の可否ではなく、証拠を信頼すべきかどうかについての構造化された内部対話がモデルに提供されます。
- Self-RAG 13Bは、PopQAで55.8%、TriviaQAで69.3%、PubHealthで74.5%、ARC-Challengeで73.1%、伝記のFactScoreで80.2に達し、これらすべてにおいてChatGPTや検索拡張されたLlama2-chatを上回りました。
- PopQAでのアブレーション調査では、テスト時に検索を削除すると20.8ポイント低下するのに対し、批判モデルのみを削除した場合は2.9ポイントの低下にとどまりました。これは、リトリーバーが屋台骨であり、批判がその上にキャリブレーションを加えていることを示しています。
- 推論時には、再トレーニングなしで、批判トークンの重みを調整して引用の正確性と流暢性のトレードオフを調整できます。これにより、さまざまな下流のアプリケーションに合わせてモデルの動作を設定可能になります。
- ICLR 2024のプログラム委員会はSelf-RAGにOral(上位1%)のステータスを与えました。これは、技術的貢献に対する真のピアレビューの評価を反映しています。
何が有効で、何がそうでないか
アブレーションの結果は説得力があります。「常に検索」と「検索なし」の差は大きく(20.8 ポイント)、モデルが有用な検索とノイズを区別することを明らかに学習しています。IsRelとIsSupトークンは、適応的リトリーバル単独の場合と比較して、測定可能な価値を加えています。これは単なる言い換えではなく、意味のある結果です。
私があまり納得していないのは、汎用性に関する主張です。5つの評価タスク(PopQA, TriviaQA, PubHealth, ARC-Challenge, ASQA)はすべて、単一の検索パッセージが決定的な信号を提供できる、短文または多肢選択式のQA設定です。金融タスクが直面するような、複数ドキュメントのコンテキストにわたる長文生成については、精査が不十分です。伝記のFactScore(80.2)は最も近い指標ですが、伝記は広大な複数年にわたる経費元帳と比較すれば、比較的構造化されています。
再現性に関する問題もあります。批判モデルのトレーニングラベルはGPT-4から取得されています。これにより、ラベルの品質がプロプライエタリなシステムに依存することになり、報告されていないAPIコストが発生します。その後、CRAG(arXiv:2401.15884)は、Self-RAGの7B批判モデルよりもはるかに軽量な0.77Bのリトリーバル評価モデルが、検索品質を修正し、PopQAで標準的なRAGを19.0ポイント上回る可能性があることを示しました。これは、選択的検索に関する中心的な洞察が有効であるとしても、重いファインチューニングされた批判モデルが不要である可能性を示唆しており、設計に対する意味のある挑戦となっています。
最後に、比較対象となるベースラインも重要です。ChatGPT(おそらく2023年後半のGPT-3.5-turbo)やLlama2-chatを上回ることは、オープンな13Bモデルとしては妥当なハードルですが、フロ ンティアモデルはそれ以来大幅に進化しています。Self-RAGの適応的リトリーバルが、同じベンチマークで単純な「常に検索」設定の、適切にプロンプトされたGPT-4oを上回るかどうかについては言及されていません。
なぜこれが金融AIにとって重要なのか
Beancount元帳を扱う金融エージェントは、Self-RAGが対処するのとまさに同じ検索の識別問題に直面します。ユーザーが「今月の純利益は?」と尋ねた場合、エージェントはロードされたコンテキストから計算できます。検索はノイズを加えるだけかもしれません。同じユーザーが「第3四半期の請負業者の請求書を記録したか?」と尋ねた場合、エージェントは何年分ものエントリをスキャンする必要があるかもしれません。「常に検索」はコンテキストを浪費し、無関係な古い取引を注入するリスクがあります。「検索しない」はルックアップを逃します。
IsRelおよびIsSupトークンは、元帳の検証ロジックにきれいにマッピングされます。IsRel:検索された取引エントリは実際にクエリに関連しているか?IsSup:検索されたコンテキストは実際に生成された残高数値を支持しているか、それともその数値はハルシネーションか?有用性スコア(1〜5)は、書き戻しの信頼性の判断材料になります。モデルが自らの推論に4または5を与えた場合にのみ提案された仕訳エントリを確定し 、残りは人間によるレビューのためにフラグを立てるといった運用が考えられます。
ここでも再現性の懸念が重要になります。実務的な会計エージェントにとって、トレーニングラベルの生成をGPT-4に依存することは運用上の制約となります。If a lighter evaluator (à la CRAG) can achieve comparable selective retrieval, that's the more deployable path. 特定のトークン・トレーニングのレシピが置き換えられたとしても、検索前に決定し、検索後に批判するというSelf-RAGの設計原則は依然として価値があります。
次に読むべきもの
- CRAG: Corrective Retrieval Augmented Generation (arXiv:2401.15884) — Self-RAGの適応的リトリーバルのアイデアをベースに、より軽量な評価モデルと、ローカル検索が失敗した場合のウェブ検索フォールバックを構築しています。重複するベンチマークでSelf-RAGと直接比較する価値があります。
- RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation (arXiv:2404.00610) — Self-RAGが最も苦手とする、複雑なマルチホップQAのためのクエリ分解に特に焦点を当てています。
- FRAMES: Retrieval and Augmentation for Multi-Hop Evaluation (arXiv:2409.12941) — 複数の検索された事実を連鎖させる必要があるマルチドキュメントRAGのためのGoogle DeepMindのベンチマーク。Self-RAGスタイルのモデルにとって、自然でより困難なテストとなります。
