検索拡張生成

Retrieval-Augmented Generation (RAG)

外部の文書集合から関連箇所を検索し、それを入力に加えて文章を生成する構成。知識をモデルの重みだけに閉じ込めず、外部の索引側で更新できるため、モデルを再学習せずに情報を差し替えられる。生成結果の根拠として検索した参照元を提示できる点も特徴である。

詳細

概要

RAG は、事前学習済みの生成モデルと、外部の文書索引からの検索を組み合わせる方式である。Lewis らの 2020 年の論文が枠組みを提示した。同論文は、大規模な事前学習モデルが事実知識をパラメータ内に蓄えている一方で、その知識に正確にアクセスして操作する能力は限定的であり、判断の根拠を示すことと世界知識を更新することが未解決の課題として残ると述べている。

技術的な要点

論文は知識を 2 種類に分ける。パラメトリックメモリは事前学習済みの seq2seq モデルの重みに含まれる知識であり、ノンパラメトリックメモリは Wikipedia の密ベクトル索引として外部に置かれ、学習済みのニューラル検索器を通して参照される。この 2 つを組み合わせて生成する汎用的な微調整の手順を示した点が同論文の主張である。実装上は、文書の分割方法、埋め込みモデルの選択、近似最近傍探索の索引構造、検索結果の与え方が品質を決める。

産業での位置づけ

社内文書や専門データベースなど、公開データに含まれない情報を扱う用途で使われる。モデルを再学習せずに知識を更新でき、参照元を提示できるため、監査や説明が求められる業務との相性がよい。ベクトルデータベースや検索基盤の製品群は、この構成を前提に位置づけられている。