Fusion-in-Decoder: 複数パッセージの検索が生成型QAをどのように改善するか
検索拡張生成(RAG)の成否は、ジェネレータが複数のドキュメントに分散した証拠をいかに上手く統合できるかにかかっています。IzacardとGraveによる2021年のEACL論文「Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering」は、一見単純なアーキテクチャの修正を提案しています。それは、パッセージを独立してエンコードし、それらすべてをデコーダーで融合させるという手法で、当時主流だったRAGフレームワークを大幅に上回る性能を示しました。私が今この論文を読んでいるのは、その設計原理がBeancountエージェントにおける元帳QAに直接応用できるからです。エントリをどのように検索するかを決定する前に、どの融合戦略が実際に機能するかを理解することは非常に価値があります。
論文の概要
LewisらによるオリジナルのRAG (arXiv:2005.11401) は、高密度検索(dense retriever)とBARTジェネレータを組み合わせていますが、ジェネレータが一度に1つの検索パッセージのみを条件とするように強制し、シーケンス単位(RAG-Sequence)またはトークン単位(RAG-Token)でパッセージを周辺化しています。IzacardとGraveは、これを拘束条件であると特定しました。一度に1つのパッセージしか見ることができないモデルは、複数のドキュメントに散らばった証拠を三角測量(triangulate)することが困難だからです。
彼らのFiD(Fusion-in-Decoder)ソリューションはエレガントです。検索された各パッセージは質問と連結され、T5のエンコーダーによって独立してエンコードされます。エンコーダーはパッセージごとに1回実行され、完全に並列化可能です。その後、デコーダーはすべてのパッセージ表現の連結に対して同時にクロスアテンション(cross-attention)を実行します。エンコーダーの計算量はパッセージ数に対して線形に増加しますが、重要なのは、デコーダーがすべての生成ステップにおいてパッセージの境界を越えてアテンションを向けられる点です。この論文では、ジェネレータのバックボーンとしてT5-baseとT5-largeを使用しています。
主なアイデア
- 100個の検索パッセージを使用したFiD-largeは、Natural Questionsで51.4%、TriviaQA openで67.6%の厳密一 致(exact match)を達成しました。これに対し、RAG-Sequenceはそれぞれ47.5%と56.1%であり、約4〜11ポイントの向上が見られます。
- Natural Questionsのパフォーマンスはパッセージ数に応じて単調に増加します。1パッセージで37.3%、10で48.8%、50で50.8%、100で51.4%となります。限界収益は減少しますが、マイナスに転じることはありません。
- パッセージ数を10から100に増やすと、TriviaQAで6%、Natural Questionsで3.5%改善しました。これは、デコーダーが単に上位のパッセージを選択しているだけでなく、真に情報を集約している証拠です。
- エンコード工程は並列化が容易です。各(質問、パッセージ)のペアは独立して処理されるため、実時間はハードウェアに応じてサブ線形にスケールします。
- 7億7千万パラメータのFiD-baseは、クローズドブック(外部知識なし)のT5-11Bを上回ります(NQで44.1%対36.6%)。これは、検索によって小規模なモデルがその実力以上の成果を出せることを示しています。
評価されている点と課題
中心的な結果は堅牢であり、広く再現されています。独立したエンコードと共同でのデコードというアーキテクチャの洞察は非常に明快です。エンコーダーの前にすべてのパッセージを単純に連結することで発生する二次的な自己アテンションの爆発を回避しつつ、デコーダーにすべての検索証拠に対するグローバルなコンテキストを提供しています。
この論文がほとんど触れていない制限は、推論時においてデコーダーのクロスアテンションがボトルネックになる点です。クロスアテンションは、生成ステップごとに、デコーダーレイヤーごとにすべてのエンコーダーのKey-Valueペアをロードする必要があり、それらのKey-Valueテンソルはパッセージ数に応じて線形に増加します。2023年の追跡研究であるFiDO (arXiv:2212.08153) は、マルチヘッドアテンションをマルチクエリアテンションに置き換え、クロスアテンション層を削減することで、精度をほとんど落とさずに推論を7倍高速化できることを示しました。これは、オリジナルのFiDデコーダーがタスクの要求に対して大幅にオーバーエンジニアリングされていることを示唆しています。
また、この論文が探求していないキャリブレーションのギャップもあります。この論文は厳密一致(exact match)を報告していますが、これは、たまたま正確な標準回答文字列を生成したシステムを評価するものです。複数のパッセージにわたる発見を要約するような事実統合タスク(スパンを抽出するのではなく)において、厳密一致はエラーを過小評価し、信頼度を過大評価してしまいます。金融の設定では、それ以外は正しい文章の中に間違った数字が1つ混じっているだけで深刻な失敗となるため、厳密一致は指標として全く不適切です。