RAG(検索拡張生成) - 外部知識で回答精度UP

RAGはLLMに外部知識を与えて回答精度を向上させる技術です。ハルシネーション対策としても注目される仕組みを解説します。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針
戸倉 ジャスミン(あせる) 戸倉 ジャスミン

先生、この前 ChatGPT に「うちの部活の規則教えて」って聞いたら、めっちゃ適当な答え返ってきたんだけど!
なんで?

香月 リサ 先生(笑顔) 香月 リサ 先生

ジャスミンちゃん、今日の主役はあなたね。
LLM の最大の弱点——「学習データにない最新情報や特定組織の知識には答えられない」っていうのを、見事に体験したってことなのよ。

深見 つむぎ(普段) 深見 つむぎ

LLM は事前学習した範囲しか知らないし、その中でも曖昧な部分はハルシネーションで作話してしまう——という課題ですね。

香月 リサ 先生(普段) 香月 リサ 先生

そう。
それを解決する技術がRAG(Retrieval-Augmented Generation、検索拡張生成)よ。
RAG の流れは3ステップ。
①ユーザーの質問に関連する文書を検索(Retrieval)する。
②検索結果を LLM のプロンプトに追加する。
③LLM が検索結果を参考に回答を生成(Generation)する。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

うそっ!?
要は「ネット検索してから答える友達」みたいなもんじゃん!

香月 リサ 先生(普段) 香月 リサ 先生

ジャスミンちゃん、たとえが上手くなってるわね。
知識を丸暗記するんじゃなくて、必要な時に参考書を引いて答える学習スタイルと同じことね。

雪村 ましろ(笑顔) 雪村 ましろ

えへへ、ましろもテスト持ち込み可だったらそうする〜!

深見 つむぎ(普段) 深見 つむぎ

補足すると、RAG の利点は3つあります。
①ハルシネーション軽減(根拠文書に基づくので作話しにくい)、②最新情報への対応(検索対象DBを更新すればOK)、③組織固有の知識活用(社内文書・マニュアルを検索対象にできる)。
ファインチューニングと違って、モデル自体を再訓練する必要がないから、コスト的にも運用的にも現実的です。

雪村 ましろ(普段) 雪村 ましろ

どんな場面で使われてるの?

香月 リサ 先生(普段) 香月 リサ 先生

典型的なのが社内ナレッジベースへの質問応答システム。
社内規定・マニュアル・過去のFAQなどを RAG に食わせて、社員が自然言語で質問できるようにする。
ジャスミンちゃんの部活規則も、もし顧問の先生が部の規則集をRAG化してくれれば、ChatGPT みたいに聞けるようになるわ。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

あたし規則よくわかんないから、先生作ってよ!
自由研究にもいけそうじゃん!

香月 リサ 先生(普段) 香月 リサ 先生

ふふっ、ジャスミンちゃん、生徒会書記のつむぎさんと一緒に企画してみたら?
学校の規則集を RAG 化するの、いい自由研究になりそうよ。

深見 つむぎ(普段) 深見 つむぎ

補足: 実装としては、文書をチャンクに分割→埋め込みベクトル化→ベクトル DB に格納→質問が来たら類似検索→結果を LLM に渡す、という構成が標準です。
RAG の課題もいくつかあって、①検索精度がそのまま回答精度を左右する、②関係のない文書を引っ張ると逆にノイズになる、③長い文書では要点を見逃すことがある。
改善技術としてHyDE(仮説文書で検索クエリ拡張)やリランキング(再ランク付け)があります。

香月 リサ 先生(普段) 香月 リサ 先生

つむぎさんの補足、実務的にとても重要ね。
次回はその心臓部である「ベクトル DB」を扱うわよ。
試験では「RAG=外部知識を検索してLLMの回答に使う」「3ステップ」「ハルシネーション軽減効果」の3点を押さえておいてね。

確認クイズ

RAG の最大のメリットとして最も適切なものはどれか。

  1. モデルの学習速度が上がる
  2. 外部知識に基づき回答精度が向上しハルシネーションが軽減される
  3. パラメータ数を削減できる
  4. オフラインでも動作する
こたえを見る

正解: 2. 外部知識に基づき回答精度が向上しハルシネーションが軽減される

RAG は外部の正確な情報に基づいて回答を生成するため、回答精度の向上とハルシネーションの軽減に効果があります。学習速度・パラメータ削減・オフライン動作は直接のメリットではありません。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。