RAG
Retrieval Augmented Generation
検索拡張生成
外部ソースから取得した情報を用いて、生成 AI モデルの精度と信頼性を向上させるテクノロジ
ChatGPT PluginもRAG?🐰
いわば、LLM の機能の不足を補うものです……パラメーター化された知識と呼ばれることもあるこの深い理解によって、LLM は一般的なプロンプトに光速で応答するのに役立ちます。しかし、最近のトピックやより具体的なトピックに深く入り込みたいユーザーには役に立ちません。
Retrieval-Augmented Generation は、研究論文の脚注のように引用できるソースをモデルに与えます。これにより、ユーザーはあらゆる回答をチェックすることができ、それが信頼に繋がります。
信頼できる情報源をモデルに食わせる、としている
NVIDIA のテクニカル ブリーフに記載されている RAG プロセスの概要は以下の通りです。
ユーザーが LLM に質問すると、AI モデルはクエリを別のモデルに送り、機械が読めるように数値フォーマットに変換します。クエリの数値バージョンは、エンベッディングやベクトルと呼ばれることもあります。
1 クエリを埋め込みベクトルに変換
エンベッディング モデルは、これらの数値を、利用可能なナレッジ ベースの機械可読のインデックス内のベクトルと比較します。一致する、あるいは複数の一致が見つかると、関連するデータを検索し、人間が読める単語に変換して LLM に戻します。
2 ナレッジベースをベクトル化したものと1とを比較し、human readable に変換して戻す
「関連するデータを検索し」のくだりはわからんsta.icon
最後に、LLM は、検索された単語とクエリに対する独自の応答を組み合わせて、最終的な回答を作成し、エンベッディング モデルが見つけたソースがあれば引用してユーザーに提示します。
3 元々のクエリと2の内容をプロンプトにする
さすがnishio.iconさんだ、RAGを自ら開拓しちゃってたわけか
外部の知識ベースから事実を検索して、最新の正確な情報に基づいて大規模言語モデル(LLM)に回答を生成させることで、ユーザーの洞察をLLMの生成プロセスに組み込むというAIフレームワークです。
最新かつ正確
外部の知識ソースにモデルを接地させる(グラウンドさせる)ことで、LLMが生成する回答の質を向上するAIのフレームワークです。
回答の質を高めるグラウンド
Meta社(当時はFacebook)は2020年の論文で、LLMが学習データ以外の情報にアクセスできるようにするためのretrieval-augmented generationと呼ばれるフレームワークを発表しました。
2022、Meta
RAGには検索(Retrieval)とコンテンツ生成(Generation)という2つのフェーズがあります。検索フェーズでは、ユーザーのプロンプトや質問に関連する情報のスニペット(断片)をアルゴリズムが検索し、取得します。オープン・ドメインの消費者向け設定では、インターネット上のインデックス化された文書から情報を取得するかもしれません。クローズド・ドメインの企業向け設定では、セキュリティーと信頼性を高めるために、通常、より狭い範囲の情報ソースが使用されます。 / 取得した外部知識の詰め合わせは、ユーザーのプロンプトに追加され、言語モデルに渡されます。生成フェーズでは、LLMはこの増強されたプロンプトと学習データの内部表現から、その瞬間のユーザーに合わせて気の利いた回答を生成します。そしてこの際の回答は、ソースへのリンクとともにチャットボットに渡すことができます。
RAGはR 検索とG 生成から来ているのか
社内ドキュメントを認識させる場合はRetrieval Augmented Generation(以下、RAG)という概念を利用してチャットボットを拡張する必要があります。
RAGの基本的な仕組みは、ユーザが質問を行った際にそれに関連するドキュメントなどを検索し、その結果を質問と一緒にLLMへ渡すことで正確な回答生成するという流れになっています。