【コレクティブラグ】
Corrective RAG(CRAG) とは?
最終更新:
💡 検索資料を点検し、選び直してから答えるRAG
検索した文書と質問の関連度を評価し、その結果に応じて文書の精選やWeb検索を行うRAGの手法。検索結果が不適切な場合にも対応し、生成の頑健性を高めることを目指す。
📌 このページのポイント
- 評価器が質問と検索文書の関連度を採点し、3つの処理方針へ分岐する
- Correctでは取得文書を精選、Incorrectでは元の文書を捨ててWeb検索する
- Ambiguousでは精選した取得文書とWeb検索由来の知識を組み合わせる
- 評価器や検索先にも誤りがあり、回答の事実性を保証するものではない
普通のRAGとCRAGって何が違うの?
CRAGは取得した文書と質問の関連度を評価し、使う知識を補正してから回答を生成する手法だよ。RAGにもいろいろな工夫があるから、『CRAG以外は検索結果を全部そのまま使う』という意味ではないんだ。
評価してから何をするの?
原論文では3分岐だよ。Correctなら取得文書を分割し、関連のある部分を精選する。Incorrectなら元の文書を捨ててWeb検索へ進む。Ambiguousなら、精選した元の知識とWeb検索の知識を組み合わせるんだ。
Correctなら、内容が正しいと証明できたの?
名前はCorrectだけど、評価するのは主に質問との関連度なんだ。関連の強い文書があるという判定を、書かれた事実が全部正しいという保証にしてはいけないよ。検索先の情報や評価器自体も間違うことがあるんだ。
その評価は誰がやるの?
原論文ではT5-largeを調整した評価モデルが、質問と各文書のペアを採点するよ。スコアのしきい値に基づいて分岐し、文書の細かな部分の精選にも評価器を使う。すべてのCRAG実装が同じモデルを使うとは限らないね。
再検索は時間がかかりそう…
評価や追加検索の処理は増えるね。論文では改善を示す実験があるけれど、効果や遅延はデータ、評価器、生成モデルなどによるよ。再検索する割合も一律には決まらないし、ハルシネーションを完全になくせるわけではないんだ。
📖 おまけ:英語の意味
「Corrective Retrieval-Augmented Generation」 = 補正型の検索拡張生成
💬 Corrective(補正する)が付いているのは、検索結果を鵜呑みにせず修正する仕組みがあるからだよ