検索拡張生成(RAG)
Last updated
Last updated
RAGアーキテクチャは、ベクトル検索を中核としで、大規模モデルが最新の外部知識にアクセスすることを可能にします。これにより、生成されたコンテンツに関する幻覚問題にも対処できる、主流の技術フレームワークとなっています。この技術は多様なアプリケーションシナリオで利用されています。
開発者は、この技術を活用して、低コストでAIを活用したカスタマーサービスや企業のナレッジベース、AI検索エンジンなどを構築できます。自然言語入力を介して様々な知識構成と対話することで、知的なシステムを創造できます。代表的なRAGアプリを例に示します:
次の図では、ユーザーが「アメリカ合衆国の大統領は誰ですか?」と尋ねた場合、システムはその質問を直接大規模モデルに渡して回答を得るのではなく、まずナレッジベース(図に示されているWikipediaなど)でベクトル検索を行います。意味的類似性マッチングを通じて関連コンテンツ(例:「ジョー・バイデンはアメリカ合衆国の第46代および現職大統領である…」)を見つけ出します。その後、システムはユーザーの質問と収集した関連知識を大規模モデルに提供し、十分な情報を基に信頼性のある回答を得ることができます。
なぜこれが必要なのか?
大規模モデルは、さまざまな人類知識の分野に精通したスーパーエキスパートと見なすことができますが、いくつかの制限があります。例えば、個人情報については把握していないため、その情報はプライベートであり、インターネット上にも公開されていません。そのため、事前学習の機会がありません。
このスーパーエキスパートを個人の財務アドバイザーとして雇う場合、質問に答える前に投資記録や家計支出などのデータを確認することを許可する必要があります。これにより、専門家はあなたの状況に基づいた専門的なアドバイスを提供できるのです。
これがRAGシステムの役割です:大規模モデルが持っていない外部知識を一時的に取得し、質問に答える前に必要な情報を見つけ出す手助けをします。
この例から、RAGシステムにおいて最も重要な要素が外部知識の収集であることがわかります。専門家が必要な情報を正確に見つけられるかどうかが、専門的な財務アドバイスを提供できるかどうかを決定します。もし投資記録ではなく減量計画を見つけてしまった場合、どれほど知識が豊富な専門家でも無力になってしまうのです。