検索拡張生成(RAG)は、大規模言語モデル(LLM)によって生成される応答の品質と信頼性を高めるために設計された人工知能(AI)の高度な技術である。LLMの生成機能と情報検索システムを組み合わせることで機能する。回答を生成する前に、RAGシステムはまず、事前に定義された知識ソース(企業の内部文書、特定のデータベース、ウェブなど)から関連する情報の断片を検索します。この検索されたコンテキストは、元のユーザークエリとともにLLMに提供され、より正確で、最新で、事実に基づいたデータを基にした回答を生成することを可能にし、それによって幻覚のような問題を軽減する。
検索拡張世代の仕組み
RAGプロセスには通常、2つの主要段階がある:
- 検索:ユーザーがプロンプトやクエリーを提供すると、システムはまずこの入力を使って、大規模な文書コーパスやベクトルデータベースを検索する。この検索は、クエリに関連する情報を含むテキストセグメントや文書を見つけることを目的としている。ここでは、キーワードの一致だけでなく、文脈的に類似した情報を見つけるために、セマンティック検索のような技術がしばしば採用される。
- 生成:第一段階で検索された関連情報は、元のユーザープロンプトと組み合わされる。LLMは、元のクエリと提供されたコンテキストの両方を使用して、包括的で事実に基づいた応答を合成する。LLMは、元のクエリと提供されたコンテキストの両方を使用して、包括的で事実に基づいた応答を合成する。このプロセスは、「Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks」という論文などで正式に紹介されている。
利点と応用
RAGには、標準的なLLMを単独で使用するよりも優れた点がいくつかある:
- 精度の向上:RAGは、外部データに基づいて回答を行うことで、LLMが誤った情報や捏造した情報を生成する可能性を低減する。
- 最新情報へのアクセス:RAGシステムは、知識ベースに保存された最新の情報にアクセスすることができ、前回のトレーニング時に知識が凍結されたLLMの限界を克服することができる。
- ドメイン固有の知識:LLMは、特定の技術文書やデータベースから情報を検索することにより、専門的な領域において専門家レベルの回答を提供することができます。
- 透明性と信頼:RAGシステムは多くの場合、生成に使用されたソースを引用することができ、ユーザーの信頼を高め、AIの倫理にとって重要なファクトチェックを可能にする。
実例:
- エンタープライズナレッジマネジメント:企業はRAGを使用して社内チャットボットを構築し、SharePointや専用のナレッジベースのようなプラットフォームに保存されている社内ポリシー、技術マニュアル、レポートから情報を取得することで、従業員の質問に正確に回答することができます。
- カスタマーサポートの自動化:カスタマーサービス・プラットフォームはRAGを活用し、FAQ、製品ドキュメント、過去のサポート・チケットから関連情報をサポート・エージェントやチャットボットに提供することで、顧客からの問い合わせをより迅速かつ正確に解決することができます。Zendeskのようなツールは、このような機能を取り入れています。
RAGと関連概念
- RAGと標準LLMの比較:標準的なLLMは、訓練中に学習されたパターンのみに基づいて応答を生成する。RAGは、推論時に動的に外部情報を取り込むことでこれを強化し、より事実に即した、文脈に関連した出力を導く。
- RAGとFine-Tuningの比較: ファインチューニングは、事前に訓練されたモデルを特定のタスクやドメインに適応させるもので、より小規模で特殊なデータセットで訓練プロセスを継続する。効果的ではあるが、知識を更新するためには多大な計算リソースと再トレーニングが必要となる。RAGは、LLMを再トレーニングすることなく、外部データソースを変更するだけで知識を更新できるため、急速に変化する情報により柔軟に対応できる。RAGとファインチューニングは併用することもできる。
- RAG対プロンプトエンジニアリング: プロンプトエンジニアリングでは、LLMの応答を導くために入力プロンプトを注意深く作成する。RAGは、プロンプトに関連するコンテキストを外部ソースから取得して提供するプロセスを自動化する。LangChainや LlamaIndexのようなフレームワークは、RAGパイプラインを構築するツールを提供する。
RAGは、LLMの膨大な生成能力と事実の正確さの必要性とのギャップを埋めることで、より知識豊富で信頼性の高いAIシステムを作るための重要な一歩となる。多くの場合、テキストに関連していますが、このコンセプトは、以下のようなモデルを拡張する可能性があります。 Ultralytics YOLOのようなモデルを、関連する視覚的な例やメタデータを検索することによって拡張することができる。Ultralytics HUBのようなプラットフォームは、将来のマルチモーダルRAGアプリケーションの知識源となりうるモデルやデータセットの管理を容易にする。利用可能なデータセットを探索することで、有用な構造化情報の種類についての洞察を得ることができる。