用語集

リトリーバル・オーグメンテッド・ジェネレーション(RAG)

リアルタイムで信頼性の高い外部データを統合することで、正確で最新の応答を実現するRAG(Retrieval Augmented Generation)がどのようにAIモデルを強化するかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

検索拡張生成(RAG)は、大規模言語モデル(LLM)によって生成される応答の品質と信頼性を高めるために設計された人工知能(AI)の高度な技術である。LLMの生成機能と情報検索システムを組み合わせることで機能する。回答を生成する前に、RAGシステムはまず、事前に定義された知識ソース(企業の内部文書、特定のデータベース、ウェブなど)から関連する情報の断片を検索します。この検索されたコンテキストは、元のユーザークエリとともにLLMに提供され、モデルがより正確で、最新かつ事実に基づいたデータを基にした回答を生成することを可能にし、それによって幻覚のような問題を軽減する。このアプローチは、標準的なLLMを改良し、初期学習データ以外の外部の最新情報にアクセスして利用できるようにするものである。

検索拡張世代の仕組み

RAGプロセスには通常、2つの主要段階がある:

  1. 検索:ユーザーがプロンプトやクエリーを提供すると、システムはまず指定された知識ベースから関連情報を検索する。この知識ベースは、文書、ウェブページ、またはベクターデータベースのエントリーのコレクションである。検索メカニズムでは、セマンティック検索のような技術を使用して、キーワードの一致だけでなく、クエリと文脈的に関連するテキストチャンクを見つけることが多い。これらの検索されたスニペットは、次のステージのためのコンテキスト基盤として機能する。このプロセスでは、クエリとドキュメントの両方の意味を表現するために埋め込みを利用することが多い。
  2. 生成:元のクエリと検索された文脈上のスニペットを組み合わせて、拡張プロンプトを生成する。この拡張プロンプトはLLMに入力される。LLMはクエリと提供されたコンテキストの両方を使用して応答を生成する。これにより、回答はクエリに関連するだけでなく、検索された、多くの場合より最新の、あるいは具体的な情報に基づいたものとなる。RAGに関する基礎的な研究は、論文"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks"で詳述されている。

利点と応用

RAGには、標準的なLLMを単独で使用するよりも優れた点がいくつかある:

  • 正確性と信頼性の向上:RAGは、検索された事実データに基づいた応答を行うことで、LLMが不正確な情報や捏造された情報(幻覚)を生成する可能性を大幅に低減します。これにより、ユーザーの信頼とシステム全体の精度が向上します。
  • 最新情報へのアクセス:LLMは通常、静的なデータセットでトレーニングされるため、その知識カットオフにより、トレーニング後に出現した事象やデータを知ることができない。RAGは、モデルが常に再トレーニングを必要とすることなく、外部ソースから最新の情報にアクセスし、取り入れることを可能にします。
  • ドメインの特異性:RAGは、特定のキュレーションされた知識ベース(例えば、社内Wiki、技術文書、特定のデータセット)から情報を取得するように設定することができます。これにより、LLMは専門化されたドメイン内で専門家レベルの回答を提供することができます。
  • 透明性の向上:生成された回答は検索された文書に基づいているため、多くの場合、出典を引用することが可能であり、ユーザーに透明性と情報を検証する能力を提供する。これは、説明可能なAI(XAI)とAI倫理の原則に沿ったものである。
  • 費用対効果:RAGの知識ベースの更新は、一般的に大規模な言語モデルの再トレーニングやファインチューニングよりもはるかに安価で迅速です。

実例:

  1. 顧客サポートチャットボット企業はサポートチャットボットにRAGを使用することができます。顧客が質問をすると、システムは会社の製品マニュアル、FAQ、ナレッジベースの記事から関連情報を検索します。LLMは、このコンテキストを使用して、Zendeskのようなプラットフォームと統合できる可能性がある、的確で役に立つ回答を生成します。
  2. エンタープライズサーチとナレッジマネジメント:従業員は、SharePointやその他のデータベースに保存されている社内文書を検索することができます。RAGは、潜在的に膨大なドキュメントリポジトリから適切なセクションを検索し、回答を合成することで、従業員が手作業でドキュメントを選別することなく、迅速に情報を見つけることを支援します。

RAGと関連概念

RAGを、LLMのパフォーマンスを向上させるために使われる他の方法と区別することは有益である:

  • 微調整ファインチューニングは、事前に訓練されたLLMを特定のタスクやドメインに適応させるもので、より小規模で特殊なデータセットで訓練プロセスを継続する。RAGとは異なり、ファインチューニングはモデルの内部重みを変更する。ファインチューニングはスタイルの適応や特定のタスクの学習に適しており、RAGは事実に基づいた最新の知識を取り入れるのに適している。PEFT(Parameter-Efficient Fine-Tuning)のようなテクニックは、このアプローチのバリエーションを提供する。
  • プロンプト・エンジニアリングこれは、LLMに与えられる入力プロンプトを慎重に作成し、望ましい応答を引き出すことを含む。RAGが検索されたコンテキストをプロンプトに組み込むのに対し、プロンプトエンジニアリングはユーザーのクエリと指示を手動で構成することに重点を置く。
  • プロンプトの充実プロンプトを補強する点ではRAGと似ているが、プロンプトの充実は、ユーザーの履歴や会話の流れからコンテキストを追加する可能性がある。

LangChainや LlamaIndexのようなフレームワークは、RAGパイプラインやその他の複雑なLLMアプリケーションを構築するためのツールを提供する。

RAGは、LLMの膨大な生成能力と、事実の正確さと動的な情報へのアクセスの必要性とのギャップを埋めることで、より知識豊富で信頼性の高いAIシステムの実現に向けた重要な一歩となる。主にテキストで使用されるが、検索された情報で生成を補強するという核となる考え方は、概念的に他の領域にも適用可能である。例えば、コンピュータビジョン(CV)では、画像の生成や分析をガイドするために、関連する視覚的な例やメタデータを検索することが考えられるが、これはまだ新しい研究分野である。Ultralytics HUBのようなプラットフォームは、モデルやデータセットの管理を支援します。これは、以下のようなモデルを含む将来のマルチモーダルRAGアプリケーションにおいて、知識ソースとして機能する重要なコンポーネントです。 Ultralytics YOLO.利用可能なコンピュータビジョンデータセットを探索することで、このようなシステムに有用な構造化情報の種類についての洞察を得ることができる。

すべて読む