読むだけでちょっと賢くなる、架空のまとめスレ

【疑問】RAGって結局「検索してからAIに答えさせる」だけなん?【AI】

21レスカテゴリ:AI・機械学習
1: 名無しさん

RAG ってよく聞くけど
検索して、出てきた文章をAIに渡して答えさせる、ってだけの話なん?

2: 名無しさん

>>1
大筋はそれ。名前は Retrieval-Augmented Generation(検索で補強した生成)
言い出したのは Lewis らの論文(2020年、NeurIPS)
「検索する部品(retriever)」と「文章を作る部品(generator)」を組み合わせる

3: 名無しさん

>>2
検索ってキーワード検索のこと?

4: 名無しさん

>>3
論文のは違う。文章も質問もベクトル(数字の並び)に変えて、向きが近いものを探す
近さはだいたいコサイン類似度(2つのベクトルの向きがどれだけそろってるか、1なら同じ向き、0なら無関係)で測る

5: 名無しさん

>>4
数字で見せてくれ

6: 名無しさん

>>5
おもちゃの例。ベクトルの3つの成分を「食事」「休暇」「手続き」っぽさとする
文書A「社員食堂の営業時間」(1, 0, 0)
文書B「有給休暇の申請方法」(0, 2, 1)
文書C「会議室の予約方法」(0, 0, 1)
質問「休みってどうやって取るの」(0, 1, 1)

7: 名無しさん

>>6
コサイン類似度を計算すると
A:0、B:約0.949、C:約0.707
Bが一番近いから、Bの本文を質問と一緒に生成モデルに渡す
Bの計算だけ書くと

8: 名無しさん

>>7
実際の論文ではどのくらいの規模なん

9: 名無しさん

>>8
検索対象は Wikipedia で、記事を100語ずつに区切って約2100万個の文書にしてる
検索部品は DPR(質問と文書を別々にベクトルにする検索モデル)、生成部品は BART-large(約4億パラメータの文章生成モデル)
訓練では上位5件か10件を取ってきて使う

10: 名無しさん

>>9
で、検索をつけると何がうれしいん?

11: 名無しさん

>>10
LLM(大規模言語モデル)は知識をパラメータの中に覚えてるけど、知識を足したり直したりするには学習し直しが要る
RAG なら、検索対象の文書を入れ替えるだけで知識を更新できる

12: 名無しさん

>>11
ほんまに入れ替えだけで変わるん?

13: 名無しさん

>>12
論文で実験してる。各国の指導者を問う82問で、古い Wikipedia を検索対象にしたら古い時点の指導者に70%正解、新しい Wikipedia にしたら新しい時点の指導者に68%正解
検索対象と時点が食い違うと、正解率は12%と4%まで落ちる
モデルを学習し直さずに、文書だけで答えが変わったってこと

14: 名無しさん

精度はどれくらい上がるん

15: 名無しさん

>>14
Natural Questions(検索エンジンに実際に来た質問を使った質問応答データ)の完全一致率で比べると
検索なしの T5-11B(110億パラメータ)が34.5、RAG が44.5
パラメータ数ははるかに少ないのに上回ってる

16: 名無しさん

>>15
じゃあRAGにすれば、AIのでたらめ(ハルシネーション)はなくなるんやな

17: 名無しさん

>>16
なくならん。論文が言ってるのは、人手評価で「BART単体より事実に沿った文が多い」ってところまで
そもそも検索で外れの文書を拾ったら、外れた根拠で答えを作る
論文自身も、Wikipedia だって完全に正しいわけでも偏りがないわけでもない、と書いてる

18: 名無しさん

>>17
検索の当たり外れが、そのまま答えの質に効くってことか

19: 名無しさん

>>18
そう。だから実際に使うときは、検索で何件目にどの文書が来たかを見て確かめられるのも利点
答えの根拠になった文書を、人間があとから読める

20: 名無しさん

>>19
いや、それ言い出したら普通の検索エンジンでええやん。わざわざ生成させる意味ある?

21: 名無しさん

>>20
論文では、正解の文字列がどの文書にもそのまま書いてないケースでも、Natural Questions で11.8%は正解を作れてる
文書から抜き出すだけの方式やとそこは0%。複数の手がかりをまとめて答えにできるのが生成させる意味

管理人のひとこと