A Reality Check on Context Utilisation for Retrieval-Augmented Generation
- 検索拡張生成(Retrieval-Augmented Generation, RAG)で、言語モデルが検索結果をどの程度使っているかを、実世界のファクトチェック資料で調べた論文である。
- 著者らは、実際の主張とウェブから取得した証拠を集めた DRUID を作り、人工的なデータセットで得られる知見との差を示した。
- 単一の性質、たとえば文脈の長さや主張との語彙重なりだけでは、モデルが証拠に従うかを十分に説明できない。
論文の面白いところ
この論文は、RAG の評価でよく使われる人工的な設定が、実際の検索結果とはかなり違うことを丁寧に示している。CounterFact や ConflictQA のようなデータでは、知識衝突が分かりやすく作られ、証拠も比較的整っている。これに対し、実際にウェブから取った証拠は、長く、曖昧で、ときに主張を十分に支えない。論文はこの差を、印象論ではなくデータセット間の性質の比較として扱う。DRUID では、ファクトチェック済みの主張を検索クエリに見立て、検索で得られた証拠に対して関連性と立場を人手で付与する。これにより、RAG が本当に直面する「証拠らしいが不十分な文脈」を評価対象にできる。もう一つの要点は、モデルが証拠へ近づく場合だけでなく、証拠の立場から遠ざかる場合も測る点である。著者らは Accumulated Context Usage(ACU)という尺度を導入し、証拠ありと証拠なしで True、False、None の確率がどう変わるかを見る。結果として、人工データで目立つ「証拠への反発」は、実世界データではそれほど頻繁ではなかった。
問題設定
対象は、RAG における文脈利用の評価である。RAG では、検索器が外部文書を取り出し、言語モデルがその文書を参照して回答する。しかし、検索された文書が役に立つことと、モデルがそれを正しく使うことは別の問題である。従来研究では、言語モデルの内部知識と与えた文脈が衝突するような人工例を作り、モデルがどちらを優先するかを調べることが多かった。だが、実際の検索結果には、不十分な説明、曖昧な記述、発行時期の問題、出典の信頼性などが混じる。そこで著者らは、ファクトチェックを題材に、主張と証拠の組を用いた評価へ整理する。モデルは、ある主張が真か偽か、または証拠だけでは判断できないかを答える。この設定では、証拠の立場が主張を支持するのか、反証するのか、不十分なのかを明示できる。したがって、モデルの出力が証拠の立場へ動いたかを比較的はっきり測れる。
提案手法
著者らは、DRUID(Dataset of Retrieved Unreliable, Insufficient and Difficult-to-understand contexts)を構築した。これは 1,329 件の主張と 5,490 件の証拠片からなるデータセットである。主張は Google Fact Check API を通じ、複数の英語圏ファクトチェックサイトから集められた。証拠は、元のファクトチェック記事の要約に加え、Google と Bing の検索結果を段落単位に分け、Cohere の rerank モデルで並べ替えて取得する。DRUID の各証拠片には、人手で関連性と立場が付けられる。立場は支持、反証、または不十分な支持・中立・反証などに分けられる。さらに、文脈の読みやすさ、長さ、主張との重なり、ヘッジ表現、出典の種類、発行時期などを自動的に測る。評価尺度としては ACU を導入する。ACU は、証拠を与えない場合と与えた場合で、True、False、None の確率が証拠の立場に沿って動いたかを、-1 から 1 の範囲で表す。
結果
DRUID は、CounterFact や ConflictQA とかなり異なる性質を示した。実世界の証拠は長く、主張との一致が低く、曖昧さや不十分さを含みやすい。DRUID では、自動検索で得られた文脈のうち、明確な立場を持たない、または主張を判断するには足りないものが多い。論文では、Llama 3.1 8B と Pythia 6.9B を用いて、証拠なしと証拠ありの出力を比較した。人工データでは、支持証拠に対する文脈利用が大きく、反証証拠では証拠の立場から離れる挙動も見られた。DRUID では、この反発はまれで、支持証拠に対する ACU も人工データほど大きくなかった。また、Llama と Pythia では文脈利用の傾向が大きく異なった。単一の文脈特徴と ACU の相関は全体に小さく、特に DRUID では、主張と証拠の語彙的な近さだけで利用度を説明できなかった。一方、ファクトチェックサイト由来の証拠では、モデルが反証証拠に従いやすい傾向があった。
具体例
たとえば、入力の主張が「血圧記録アプリは腕帯式の血圧計を置き換えられる」であるとする。検索器は、アプリ紹介記事、販売ページ、ファクトチェック記事、医療機器に関する説明などを取得する。ある証拠には「そのアプリは血圧を測定するのではなく、別の機器で測った数値を保存して追跡する」と書かれている。この証拠を与えられたモデルは、主張を False と判断するのが望ましい。ACU では、証拠なしの状態で True、False、None にどれほどの確率を置いていたかをまず見る。次に証拠を加えたとき、False の確率が上がり、True や None の確率が下がれば、文脈を使ったとみなされる。間違えやすい点は、検索結果が必ずしも直接的な反証ではないことである。たとえば、別の記事が「将来的に腕帯を置き換える可能性がある」とだけ述べていれば、それは断定的な反証でも支持でもない。実際の RAG では、このような不十分な証拠が多く、人工的に作った明快な例より評価が難しくなる。