検索拡張生成(RAG)とは

執筆者

Ivan Belcic

Staff writer

検索拡張生成(RAG)とは

検索拡張生成(RAG)は、人工知能(AI) モデルを外部のナレッジベースに接続してそのパフォーマンスを最適化するアーキテクチャーです。RAGは、大規模言語モデル(LLM)がより関連性の高い応答を、より高い品質で提供できるよう支援します。

生成AIモデルは大規模データセットでトレーニングされ、この情報を参照してアウトプットを生成します。ただし、トレーニングに使用されるデータセットは有限であり、AI開発者がアクセスできる情報(パブリック・ドメイン作品、インターネット記事、ソーシャル・メディア・コンテンツ、その他の公開されているデータ)に限定されています。

RAGにより、生成AIモデルは、社内の組織データ、学術雑誌、専門データセットなど、追加の外部ナレッジベースにアクセスできます。関連情報を生成プロセスに統合することで、チャットボットやその他の自然言語処理(NLP)ツールは、追加のトレーニングを必要とせずに、より正確な分野固有のコンテンツを作成できます。

RAGのメリットとは

RAGにより、組織は生成AIモデルを分野固有のユースケースに適応させる際に、高い再トレーニング・コストを回避できます。企業はRAGを使用して機械学習モデルのナレッジベースのギャップを補い、より優れた回答を提供できるようになります。

RAGの主なメリットは次のとおりです。

  • 現在の分野固有のデータへのアクセス
  • ユーザーからの信頼の向上
  • 拡大したユースケース
  • 開発者による管理とモデルの保守の強化
  • データ・セキュリティーの向上

コスト効率の高いAI実装とAIスケーリング

AIを実装する場合、ほとんどの組織はまず基盤モデル、つまりより高度なバージョンの開発の基盤となるディープラーニング・モデルを選択します。基盤モデルには通常、一般化されたナレッジベースがあり、トレーニング実行時に利用可能なインターネット・コンテンツなどの一般公開されているトレーニング・データが入力されています。

基盤モデルを再トレーニングするか、ファイン・チューニング(より小規模な分野固有のデータセット内の新しいデータで基盤モデルをさらにトレーニング)するには、計算コストが高く、多くのリソースを消費します。このモデルは、パラメーターの一部またはすべてを調整することで、新しい特殊なデータに合わせてパフォーマンスを調整します。

RAGを使用することで、企業は社内の信頼できるデータソースを使用し、再トレーニングせずに同様のモデル・パフォーマンスを向上させることができます。企業は、コストとリソース要件の増加を抑えながら、必要に応じてAIアプリケーションの実装を拡張できます。

最新のデータおよび分野固有のデータへのアクセス

生成AIモデルには、トレーニング・データが最後に更新された時点であるナレッジ・カットオフ(知識の中断)があります。モデルが知識の中断を過ぎてさらに古くなると、時間の経過とともに関連性が失われます。RAGシステムは、モデルと補足的な外部データをリアルタイムで接続し、生成された応答に最新の情報を組み込みます。

企業はRAG 使用して、独自の顧客データ、信頼できる調査、その他の関連文書などの特定の情報をモデルに装備します。

RAGモデルはアプリケーション・プログラミング・インターフェース(API)を使用してインターネットに接続し、リアルタイムのソーシャルメディア・フィードやレビューにアクセスして、市場の感情をより深く理解することもできます。一方、最新のニュースや検索エンジンへのアクセスは、取得した情報をテキスト生成プロセスに組み込むモデルで、より正確な応答につながります。

AIのハルシネーションのリスク低減

OpenAIのGPTなどの生成AIモデルは、データ内のパターンを検出し、それらのパターンを使用してユーザー入力に対する最も可能性の高い結果を予測することで機能します。時には、存在しないパターンを検知することがあります。ハルシネーションや混同は、モデルが誤った情報や作話を事実のように提示するときに起こります。

RAGは、事実に基づく信頼性のある、最新のデータに裏打ちされた特定の知識にLLMを固定します。トレーニング・データのみを使用する生成モデルと比較して、RAGモデルは外部データのコンテキスト内でより正確な答えを提供する傾向があります。RAGはハルシネーションのリスクを軽減できますが、モデルをエラーフリーにすることはできません。

ユーザーからの信頼の向上

チャットボットは、一般的な生成AI実装であり、人間のユーザーからの質問に答えます。ChatGPTなどのチャットボットを成功させるには、ユーザーはその出力を信頼できるものにする必要があります。RAGモデルは、応答の一部として、外部データ内の知識ソースへの引用を含めることができます。

RAGモデルが情報源を引用する場合、人間のユーザーはそれらのアウトプットを検証して正確性を確認できると同時に、引用された文献を参照して後で明確化したり、追加情報を得たりすることができます。企業のデータ・ストレージは、複雑でサイロ化された迷路となっていることがよくあります。引用付きの RAG 応答は、ユーザーに必要な資料を直接示します。

拡大したユースケース

より多くのデータにアクセスできるということは、1つのモデルがより幅広いプロンプトを処理できることを意味します。企業は、ナレッジベースを拡大することでモデルを最適化し、モデルからより多くの価値を得ることができ、その結果、それらのモデルが信頼できる結果を生み出すコンテキストを拡大できます。

生成AIと検索システムを組み合わせることで、RAGモデルは、複雑な問い合わせに応じて複数のデータソースから情報を取得し、統合することができます。

開発者による管理とモデル保守の強化

現代の組織は、注文の入力から市場予測、従業員の離職などに至るまで、膨大な量のデータを常に処理しています。強力なRAG実装には、効果的なデータ・パイプラインの構築とデータ・ストレージが最も重要です。

それと同時に、開発者やデータ・サイエンティストは、モデルがアクセスできるデータソースをいつでも調整できます。モデルをあるタスクから別のタスクに再配置することは、微調整再トレーニングではなく、外部の知識ソースを調整する作業になります。微調整が必要な場合、開発者はモデルのデータソースを管理する代わりに、その作業を優先させることができます。

データ・セキュリティーの向上

RAGは、モデルのトレーニング・データに知識を組み込むのではなく、モデルを外部の知識ソースに接続するため、モデルとその外部知識の間に隔たりが維持されます。企業はRAGを使用して第一者データを保存しながら、モデルにそのデータへのアクセスを許可します。このアクセスはいつでも取り消すことができます。

ただし、企業は外部データベース自体のセキュリティーを維持するために注意する必要があります。RAGは、埋め込みを使用してデータ点を数値表現に変換するベクトル・データベース を使用します。これらのデータベースが侵害されると、特にベクトル・データベースが暗号化されていない場合、攻撃者はベクトル埋め込みプロセスを逆転させて元のデータにアクセスできるようになります。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

RAGのユースケース

RAGシステムにより、ユーザーは基本的に会話型言語でデータベースを照会できるようになります。RAGシステムのデータを活用した質問応答機能は、次のようなさまざまなユースケースに適用されています。

  • 専用のチャットボットとバーチャル・アシスタント

  • 調査

  • コンテンツ生成

  • 市場分析と製品開発

  • ナレッジ・エンジン

  • 推奨サービス

専用のチャットボットとバーチャル・アシスタント

カスタマー・サポートを自動化したい企業は、顧客を適切に支援するために必要な専門知識が自社のAIモデルに不足していることに気付くかもしれません。RAG AIシステムは、モデルを内部データに組み込み、企業の製品、サービス、方針に関する最新の知識をカスタマー・サポートのチャットボットに提供します。

同じ原則がAIアバターとパーソナル・アシスタントにも適用されます。基礎となるモデルをユーザーの個人データに接続し、過去のやり取りを参照することで、よりカスタマイズされたユーザー体験が実現します。

リサーチ

内部文書の読み取りや検索エンジンとのインターフェースをとれるRAGモデルは、調査に優れています。金融アナリストは、最新の市場情報や過去の投資活動を含むクライアント固有のレポートを生成することができ、医療専門家は患者や施設の記録を使用することができます。

コンテンツ生成

RAGモデルは信頼できる情報源を引用できるため、より信頼性の高いコンテンツ生成が可能になります。すべての生成AIモデルはハルシネーションを起こす可能性がありますが、RAGを使用すると、ユーザーはアウトプットの正確性を容易に確認できます。

市場分析と製品開発

ビジネス・リーダーは、ソーシャル・メディアの傾向、競合他社の活動、業界関連の最新ニュース、その他のオンライン・ソースを参照して、ビジネス上の意思決定をより適切に行うことができます。一方、製品マネージャーは、将来の開発に関する選択肢を検討する際に、顧客からのフィードバックやユーザーの行動を参照できます。

ナレッジエンジン

RAGシステムは、従業員に社内情報を提供できます。オンボーディング・プロセスの簡素化、より迅速な人事サポート、現場での従業員向けのオンデマンド・ガイダンスは、企業がRAGを使用して仕事の能力を向上させる方法のほんの一部にすぎません。

推奨サービス

RAGシステムは、過去のユーザーの行動を分析し、それを現在のサービスと比較することで、より正確な推奨サービスを提供します。電子商取引プラットフォームとコンテンツ配信サービスはどちらもRAGを使用して、顧客エンゲージメントと支出を維持できます。

AI Academy

ビジネス向け生成AIの台頭

生成AIの発展と現在のビジネスへの影響について学びます。

RAGの仕組み

RAGは、情報検索モデルと生成 AI モデルを組み合わせて、より信頼性の高いコンテンツを生成します。RAGシステムは、応答を生成する前に、ナレッジベースを照会し、ユーザー・プロンプトに詳細なコンテキストを追加します。

Standard LLMは、トレーニングのデータセットから情報を取得します。RAGはAIワークフローに情報検索コンポーネントを追加し、関連情報を収集して生成AIモデルに送り込むことで応答の品質とユーティリティーを向上させます。

RAGシステムは、次の5段階のプロセスに従います。

  1. ユーザーがプロンプトを送信する。

  2. 情報検索モデルが、ナレッジベースに問い合わせして関連データを取得する。

  3. 関連情報がナレッジベースから統合レイヤーに返される。

  4. RAGシステムは、取得したデータから強化されたコンテキストを使用して、LLMへの拡張プロンプトを設計する。

  5. LLMはアウトプットを生成し、ユーザーにアウトプットを返す。

このプロセスは、RAGの名前の由来を示しています。RAGシステムはナレッジベースからデータを取得し、コンテキストを追加してプロンプトを拡張 し、応答を生成します。

RAGシステムの構成要素

RAGシステムには、次の4つの主要な構成要素が含まれます。

  • ナレッジベース:システムの外部データ・リポジトリー
  • レトリーバー:ナレッジベースで関連データを検索するAIモデル
  • 統合層:その全体的な機能を調整するRAGアーキテクチャーの部分
  • ジェネレーター:ユーザーの問い合わせと取得したデータに基づいてアウトプットを作成する生成AIモデル

その他の構成要素には、関連性に基づいて取得したデータをランク付けするランカーや、ユーザーに対して生成されたアウトプットを形式化するアウトプット・ハンドラーが含まれる場合があります。

ナレッジベース

RAGシステム構築の最初の段階は、問い合わせ可能なナレッジベースを作成することです。外部データ・リポジトリーには、PDF、ドキュメント、ガイド、Webサイト、音声ファイルなど、無数の情報源からのデータを含めることができます。これらデータの多くは非構造化データであり、まだラベル付けされていません。

RAGシステムは、埋め込みと呼ばれるプロセスを使用して、データをベクトルと呼ばれる数値表現に変換します。埋め込みモデルはデータを多次元数学空間でベクトル化し、類似性に基づいてデータポイントを配置します。互いに関連性が高いと判断されたデータ点は、近くに配置されます。

RAGシステムの品質と関連性を維持するには、ナレッジベースを継続的に更新する必要があります。

LLMインプットは、モデルのコンテキスト・ウィンドウ、つまりコンテキストを失わずに処理できるデータ量に制限されます。ドキュメントを小さなサイズに分割すると、結果として得られる埋め込みがRAGシステムのLLMのコンテキスト・ウィンドウを圧迫しないようにすることができます。

チャンク(分割)サイズは、RAGシステムにとって重要なハイパー・パラメーターです。チャンクが大きすぎると、データ点が一般化しすぎて、潜在的なユーザーの問い合わせに直接対応できなくなる可能性があります。ただし、チャンクが小さすぎると、データ点が意味的な一貫性を失うおそれがあります。

レトリバー

データをベクトル化すると、セマンティック・ベクトル検索(ユーザーの問い合わせに類似する、データベース内のポイントを識別する手法)用のナレッジベースが準備されます。セマンティック検索の機械学習アルゴリズムは、大規模なデータベースを照会して関連情報を迅速に識別できるため、従来のキーワード検索に比べて待ち時間が短縮されます。

情報検索モデルは、ユーザーの問い合わせを埋め込みに変換し、ナレッジベースを検索して類似の埋め込みを探します。次に、その検出結果がナレッジベースから返されます。

統合層

統合層はRAGアーキテクチャーの中心であり、プロセスを調整し、ネットワーク上でデータを渡します。ナレッジベースからのデータが追加されると、RAGシステムはLLMコンポーネント用の新しいプロンプトを作成します。このプロンプトは、ユーザーの元の問い合わせと、検索モデルによって返された拡張されたコンテキストで構成されます。

RAGシステムは、さまざまなプロンプト・エンジニアリング手法を採用して、効果的なプロンプトの作成を自動化し、LLM が可能な限り最適な応答を返せるよう支援します。一方、オープンソースのLangChainLlamaIndexIBM® watsonx Orchestrate™などのLLMオーケストレーション・フレームワークは、AIシステムの全体的な機能を制御します。

ジェネレーター

ジェネレーターは、統合層から提供される拡張プロンプトに基づいてアウトプットを作成します。プロンプトは、取得したデータを使用してユーザー入力を合成し、応答でこのデータを考慮するようにジェネレーターに指示します。ジェネレーターは通常、GPT、ClaudeLlamaなどの事前トレーニング済みの言語モデルです。

RAGと微調整の違いとは

RAGと微調整の違いは、RAGではLLMが外部データソースを問い合わせできるのに対し、微調整では分野固有のデータでLLMをトレーニングすることです。どちらも同じ一般的な目標を持っています。それは、指定された分野でLLMのパフォーマンスを向上させることです。

RAGと微調整はしばしば対比されますが、組み合わせて使用することもできます。微調整により、意図した分野とアウトプット要件に対するモデルの知識が高まります。一方、RAGは、関連する高品質のアウトプットを生成できるようモデルを支援します。

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約