検索拡張生成 (RAG) とは?

検索拡張生成とは、より実用的で正確な回答のために大規模言語モデル プロンプトを関連のあるデータで強化することです。

RAG アーキテクチャの仕組みとは?

検索拡張生成 (RAG) は、世界の一般知識で有名な大規模言語モデル (LLM) の機能と、ドキュメント、SQL データベース、社内ビジネス アプリケーションなど、ビジネスに固有の情報源が組み合わされたソフトウェア アーキテクチャです。RAG は LLM 応答の精度と関連性を高めます。RAG ではベクトル データベース 技術を使用し、最新の情報を保存します。その情報がセマンティック検索で取得され、他の有用な情報と共にプロンプトのコンテキスト ウィンドウに追加されます。LLM ではその結果、可能な限り最善かつ最新の応答を生成できます。このアーキテクチャはさまざまなユース ケースで知られていますが、たとえば、LLM からの知識と企業が保有するビジネス データを統合することで、詳細で関連性の高い回答を提供できます。

RAG の仕組みとは?

AI チャットボットと Web アプリでは Llama2 や GPT などの LLM が使用されています。LLM は、ユーザー プロンプトを満足させる応答を生成するため、広範囲の情報コレクションで入念にトレーニングされています。言語のニュアンスと生成能力を深く理解しているこれらの LLMは、RAG アーキテクチャの基盤として機能します。

推論時に検索できるように情報をチャンクし、ベクトル化し、保存する。

ステップ 1: RAG システム実装の最初のステップは、プロジェクトで使用するナレッジ ソースを社内で見つけることです。このデータには、たとえば、メタデータ、テキスト、画像、動画、表、グラフなどがあります。企業固有のデータは前処理され、データ処理サービスによってデータ チャンクに分割されます。次に、チャンクが埋め込みモデルに送られ、各データ チャンクの意味とニュアンスのベクトル (数値表現) が作られます。これらのベクトルと対応するデータチャンクは、後で検索できるようにベクトル データベースに保存されます。

ステップ 2: チャットボットまたは AI アプリケーションのクエリを受け取ると、システムはプロンプトを解析します。データ取り込みに使用されているものと同じ埋め込みモデルを使用し、ユーザー プロンプトの一部を表すベクトルを作成します。ベクトル データベースのセマンティック検索により、企業固有のデータ チャンクの中から最も関連性の高いものが返され、プロンプトのコンテキストに組み込まれます。SQL データベースなどの情報検索システム、その他のビジネスクリティカルなアプリケーション、AI モデルなどからの他のデータ チャンクと追加の LLM 命令も、拡張されたプロンプトが LLM に送信される前に検索されます。LangChain と LlamaIndex は、AI チャットボットと RAG ソリューションの作成を自動化する広く普及しているオープンソース プログラミング フレームワークです。

AI チャットボットは RAG をどのように使用しますか?

AI チャットボットの登場は、自然言語を使用した質疑応答の対話スタイルでビジネス固有データをユーザーに提供する上で、画期的な出来事でした。ChatGPT が巨大な GPT-3 LLM と共に登場した時、AI チャットボットに関する熱狂が広まりました。GPT-3 は当時、そのトレーニングに使用されたデータしか使用できませんでした。最新の AI チャットボットでは、GPT-3、Llama、Mistral といった LLM やオープンソース LLM と RAG を使用しているため、最新のビジネス固有データ ソースで LLM に送られるプロンプトを強化し、その関連性や有用性を高めることができます。

AI チャットボットでは、 RAG を使用してリアルタイムにデータベースにクエリを実行し、ユーザーのクエリのコンテキストに関連がある応答が、最新の情報で強化されて提供されます。基盤となる LLM を再トレーニングする必要はありません。この進歩はとりわけ、カスタマー サービス、教育、エンターテインメントなど、即座に正確な情報に基づいた応答が求められる産業においてユーザー エンゲージメントに大きな影響を与えます。

RAG は LLM ハルシネーションにどのように対処しますか?

LLM をエンタープライズ AI ソリューションに導入する際、大きな課題となるのがハルシネーション現象です。これは、LLM によって生成された応答が、論理的に一貫性があり、もっともらしく見えるものの、正確な事実からは乖離しているというものです。この問題は、企業の意思決定プロセスの完全性を危険にさらし、AI 主導でもたらされる洞察の信頼性を損なわせます。

RAG では、プロンプトのコンテキスト ウィンドウで追加の指示と関連するデータ チャンクと共に LLM が提供されます。これはハルシネーションを減らしますが、完全に消すことはできません。従来のハルシネーション緩和手法が依然として必要となります。ほとんどの企業では、有害なユーザー インタラクションを減らすため、ガードレールも使用しています。

プロンプト エンジニアリング、アライメント、RAG はどのように相互作用しますか?

手法を組み合わせることで効率が上がり、具体的な企業ニーズに対して応答がさらに適したものになります。LLM が現実のビジネス シナリオに対応できるようになります。

  • 基盤モデルは、機械学習と、広くアクセス可能なデータからなる広範なコレクションを利用し、多大な労力とコストのかかるプロセスを経て開発される LLM です。このプロセスでは、ハードウェアとデータの膨大なリソースが必要になります。
  • プロンプト エンジニアリングは、LLM に送信する前にコンテキストを追加することでユーザーのオリジナル プロンプトを強化する手法です。
  • アライメントの手法:
    • LLM をファインチューニングし、ビジネス固有の情報、語彙、スキルでトレーニングすることで、特定のタスクに対する適合性が向上させます。
    • RLHF (Reinforcement Learning from Human Feedback/人間のフィードバックによる強化学習) では、プロンプトに対するさまざまな回答を用意し、それに対して人間が直接フィードバックしたものでモデルを改善します。精度が明確に測れない好みやスタイルに関する LLM の応答を調整します。
    • RLAIF は命令に従う LLM の機能を改善します。強化学習の手法と AI が生成するフィードバックを活用し、言語モデルをファインチューンします。
    • DPO は 学習中、言語モデルのサンプリングに頼ることなく、人間の嗜好に合わせて LLM をファインチューンする手法です。
    • SteerLM は、リアルタイムの調整とフィードバックのメカニズムを利用して大規模言語モデルを動的に導き、ユーザーの嗜好や意図に添った応答を生成する手法です。
  • RAG では、関連のあるデータ チャンクがユーザー プロンプトに追加され、その後、LLM に送信されます。データ チャンクは通常、ベクトル データベースか社内のその他の情報源から取得されます。

この手法により、LLM に送信されるプロンプトの精度と関連性が向上し、可能な限り最善の応答がユーザー クエリに提供できます。

RAG の埋め込みモデルはどのように機能しますか?

単語の Word2Vec や文章の BERT など、埋め込みモデルは、単語、文章、グラフィックス、表などのデータ チャンクを多次元の数値ベクトルに変換し、その意味とニュアンスをベクトル空間でとらえるというものです。よくトレーニングされた埋め込みモデルでは、類似した意味を持つ項目がベクトル空間内で近くに配置され、それらの互換性や関係を示します。

ベクトルは情報の意味とニュアンスをとらえます。

埋め込みベクトルは、テキスト分類、感情分析、機械翻訳など、さまざまな自然言語処理 (NLP) タスクで使用され、機械が言語を一層効果的に処理し、理解できるようにします。埋め込みモデルは、意味的、文脈的関係を管理しやすい数値フォーマットにコード化することで、テクノロジと人間の言語の間でより特別な意味合いを持てるよう、橋渡しの役割を果たします。情報検索の効率と精度は埋め込みモデルの品質と精巧さに左右されるため、埋め込みモデルは RAG エコシステムの重要な要素となっています。

ベクトル データベースが必要な理由とは?

ベクトル データベースは RAG システムの核となるものです。ビジネス固有の情報をデータ チャンクとして効率的に格納するために必要であり、チャンクはそれぞれ、埋め込みモデルによって生成される対応する多次元ベクトルによって表現されます。ベクトル データベースに格納されるデータ チャンクには、テキスト、グラフィックス、グラフ、表、動画、その他のデータ モダリティなどがあります。これらのデータベースでは、コサイン類似度のような複雑で特異なベクトル空間を扱うことができ、次のような利点があります。

  • 効率的な類似検索: あるクエリ ベクトルに最も近い上位 K ベクトルを素早く検索することができ、これはセマンティック検索やレコメンダー システムにとって非常に重要です。
  • 高次元データの処理: データにおける関心の特徴数が増えるにつれ、従来の SQL データベースでは高速処理が難しくなります。
  • スケーラビリティ: ベクターデータベースは、データ取り込みや類似検索に必要なパフォーマンスを提供するために、多数の GPU アクセラレーションサーバーで実行することができます。
  • リアルタイム処理: AI チャットボットなどの RAG アプリケーションでは、ユーザーからの問い合わせへの対応が良くなるよう、LLM に送信する最新のビジネス情報をベクトル データベースを活用して提供します。
  • 検索関連性の強化: 意味的な関係を理解することで、より関連性の高い検索結果を提供し、コンテンツ検索とユーザー体験を改善します。

これらの特徴により、ベクトル データベースは RAG にとって欠かせないものとなり、複雑なデータを含む効率的な操作を支援します。

ベクトル検索メカニズムとは何ですか?

ベクトル検索メカニズムは 企業固有情報を迅速かつ効率的に検索するための、RAG システム運用の基盤となるものです。このプロセスは、埋め込みモデルを使用したデータの最初のチャンキングとベクトルへの変換から、ベクトル データベースから上位 K 個のマッチングベクトルを検索する近似最近傍 (ANN) 検索などのアルゴリズムまで、一連の複雑なステップを含んでいます。多くの場合においてGPU アクセラレーションを必要するこれらアルゴリズムは、企業環境特有の広範なデータセットをナビゲートするために不可欠であり、最も関連性の高い情報を迅速かつ正確に取得するために不可欠です。

RAG で継続的な学習と更新が必要な理由とは?

継続的な改良、フィードバック、更新は RAG の重要な特長であり、システムの改善と進化を可能にします。ユーザー からのフィードバックは、RAG システムでより精度と関連性が高い応答を作成するために活用されます。新しいデータは常にベクトル データベースに組み込まれ、関連性が最も高い情報をシステムとユーザーに提供します。基礎となるビジネス情報を継続的に更新するこの動的なプロセスにより、RAG システムはコストのかかる LLM の再トレーニングを必要とすることなく、高品質で文脈に沿った応答を提供することができます。

RAG はハードウェアでどのように高速化されますか?

RAG パイプラインの多くの要素は GPU で高速化されます。たとえば、ソース データのスクラブ、埋め込みとインデックスの作成、ベクトル データベースの類似検索、プロンプトへの応答として LLM が実行する操作が高速化されます。NVIDIA RAPIDS™ RAFT ライブラリTensorRT™、TensorRT-LLM、Triton™ Inference Server、Transformer Engine、Tensor コア、その他の GPU アクセラレーテッド技術の使用により、RAG アプリケーションは基盤となるハードウェアの効率的な活用から恩恵を受けます。この高速化は、RAG システムに必要となる高いパフォーマンス基準を維持し、新たなデータ トレンドへの迅速な適応を促進し、システムによって生成される応答が常に正確で、関連性があり、利用可能な最新の情報に基づくようにするために不可欠です。

RAG のデータ ガバナンス要件とは?

RAG システムのデータ ガバナンスでは、とりわけ、企業データや機密データのソースを扱うとき、ドメイン固有の LLM トレーニング データとナレッジ ベース データの管理が優先されます。RAG アプリケーションの完全性と信頼性を維持するには、プライバシー規制と倫理基準を遵守し、強固なセキュリティ対策を実装することが不可欠です。プライバシー、セキュリティ、データ品質、倫理的なデータ使用、ライフサイクル管理を含む包括的なフレームワークを通じて、RAG システムは倫理的に AI を開発し、展開し、データが効果的、責任ある、透明性のある形で使用されることを保証します。NVIDIA NeMo™ Guardrails は、LLM で誤ったコンテンツが生成されないようにする機能として強く推奨されています。

RAG を始めるにはどうすればよいですか?

サンプル RAG アプリケーションの構築を始めるには、NVIDIA AI ワークフロー例を使用してマイクロサービスにアクセスします。マイクロサービスでエンタープライズグレードの RAG アプリケーションを構築し、本番環境に展開できます。

あるいは、NVIDIA RAG LLM Operator を利用し、プロトタイプから本番環境に RAG アプリケーションを移行します。これは NVIDIA AI Enterprise の 90 日間無料試用版で利用できます。

次のステップ

RAG の詳細を見る

NVIDIA の技術ブログで RAG パイプライン構築の詳細をご覧ください。

RAG アプリケーションの構築を始める

AI チャットボットの構築を始めるにあたり、リファレンス ソリューションとして NVIDIA AI ワークフローをご覧ください。

オンデマンドで RAG のビデオとチュートリアルを見る

登録すると、RAG に関する無料のチュートリアル、ステップバイステップのガイド、解説動画で視聴できます。