
3
RAG(Retrieval Augmented Generation)
3.7
RAG(Retrieval Augmented Generation:検索による知識の拡張)[Lewis et al. 2020]は、
タスクに関連する外部知識を取り込むことで、LLMの応答性能を向上させる手法です。LLM
は大規模なテキストコーパスを用いて事前学習されますが、訓練データに存在しない知識に基
づく質問に対する回答が難しい場合があります。このため、訓練データに含まれていない特定
ドメインの情報、最新の出来事などが必要な場合、回答できなかったり、不正確な回答を生成
(ハルシネーション)したりすることがあります。RAG の基本的なアイデアは、訓練データ以
外の情報源から知識を取得し、LLM がそれを利用できるようにすることで、より正確で情報
量の多い出力を生成することです。
図3.7.1 にRAGの概要を示します。RAGは、LLM と外部知識源を格納したインデックス
から構成されます。ユーザからプロンプトが与えられると、LLMを用いてプロンプトの埋め
込みベクトルを取得し、インデックスからプロンプトに関連する知識を検索します。そして、
その関連知識を元のプロンプトと組み合わせてLLM に入力し、回答を生成します。
RAGで利用可能な外部知識源としては、Webページ、ニュース記事、書籍、論文、機密文
書など、様々なテキストデータが考えられます。知識源の選定にあたっては、タスクに関連す
る情報が豊富に含まれていること、情報の信頼性が高いことなどが重要な基準となります。 ...