Retrieval Augmented Generation (RAG)
検索拡張生成(RAG)がリアルタイムデータでLLMをどのように最適化するかを探ります。ビジュアルRAG向けにUltralytics YOLO26を使用してマルチモーダルパイプラインを構築する方法を学びましょう。
Retrieval Augmented Generation (RAG) は、人工知能分野における高度な技術であり、トレーニングデータ外の信頼できる知識ベースを参照することで、大規模言語モデル (LLM)の出力を最適化します。従来の生成モデルは、初期トレーニング中に学習された静的な情報のみに依存するため、時代遅れの回答や、ハルシネーションとして知られる確信的な不正確さにつながることがあります。RAGは、企業データベース、最新ニュース、技術マニュアルなどの外部ソースから関連性のある最新情報を取得し、応答が生成される前にそれをコンテキストとしてモデルに供給することで、このギャップを埋めます。このプロセスにより、AIの出力は言語的に一貫しているだけでなく、事実に基づき正確であり、特定のデータに基づいていることが保証されます。
RAGシステムの機能について
RAGシステムのアーキテクチャは通常、検索と生成という2つの主要なフェーズを含みます。このワークフローにより、開発者は頻繁な再トレーニングという高コストな必要なしに基盤モデルを維持できます。
-
検索: ユーザーがクエリを送信すると、システムはまず、ベクトルデータベースと呼ばれる特殊なストレージシステム全体でセマンティック検索を実行します。このデータベースには、埋め込みとして知られる数値表現に変換されたデータが含まれており、キーワードの一致だけでなく、概念的に類似した情報を見つけることができます。
-
生成: 検索中に見つかった関連文書やデータスニペットは、ユーザーの元の質問と結合されます。この強化されたプロンプトは、その後生成モデルに送信されます。モデルは提供されたこのコンテキストを使用して回答を合成し、応答が検索された事実に依拠することを保証します。その仕組みについてさらに深く掘り下げるには、IBMがRAGワークフローに関する包括的なガイドを提供しています。
Visual RAG: コンピュータビジョンの統合
RAGは伝統的にテキストベースですが、マルチモーダル学習の台頭により「ビジュアルRAG」が導入されました。このシナリオでは、コンピュータビジョンモデルが検索メカニズムとして機能します。これらは画像やビデオストリームを分析して、物体名、数、活動などの構造化されたテキストデータを抽出し、そのデータをLLMに供給して視覚シーンに関する質問に答えます。
例えば、開発者はYOLO26を使用して画像内のオブジェクトをdetectし、そのオブジェクトのリストをテキストモデルに渡して記述的なレポートを生成できます。
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."
実際のアプリケーション
RAGは、AIエージェントが独自のデータやリアルタイムデータに安全にアクセスできるようにすることで、産業を変革しています。
-
企業向けナレッジベース: 企業はRAGを利用して、人事ポリシーや技術文書に関する従業員の質問に回答する社内チャットボットを構築します。LLMを最新のドキュメントリポジトリに接続することで、システムは古いポリシー情報を提供するのを回避します。企業での実装の詳細については、Google CloudのVertex AIにおけるRAGの概要を参照してください。
-
臨床意思決定支援: ヘルスケアAIにおいて、RAGシステムは患者の病歴や最新の医学研究論文を検索し、医師の診断を支援することで、最新の臨床研究を考慮した助言を保証します。
-
Smart Retail Assistants: 小売業におけるAIを活用したアプリケーションは、RAG(Retrieval-Augmented Generation)を利用してリアルタイムの在庫データベースを確認します。顧客がチャットボットに「このランニングシューズのサイズ10はありますか?」と尋ねると、モデルは回答する前にリアルタイムの在庫レベルを取得し、品切れによる不満を防ぎます。
RAG対微調整
RAGとファインチューニングは異なる問題を解決するため、これらを区別することが重要です。
-
RAG (Retrieval Augmented Generation): 動的で頻繁に変化するデータ(例:株価、ニュース)や、公開トレーニングセットに存在しないプライベートデータへのアクセスに最適です。実行時に新しい情報を提供することに焦点を当てます。
-
ファインチューニング: モデルの動作、スタイル、または用語を適応させるのに最適です。特定のデータセットでモデルの重みを更新することを含みます。ファインチューニングはモデルが特定の言語パターン(医療専門用語など)を学習するのに役立ちますが、リアルタイムの事実にアクセスを許可するものではありません。意思決定フレームワークについては、OpenAIのファインチューニング vs. RAGに関するガイドを参照してください。
関連概念
-
LangChain: リトリーバーとLLMを連結することで、RAGアプリケーションの作成を簡素化するために特別に設計された、人気のあるオープンソースフレームワークです。
-
知識グラフ: データを表現する構造化された方法であり、検索ソースとして使用でき、単純なベクトル類似性よりも文脈的に豊かな関係を提供します。
-
プロンプトエンジニアリング: モデルを誘導するための入力を巧みに作成する技術。RAGは本質的に、プログラムによって取得されたデータで「プロンプト」が強化される、プロンプトエンジニアリングの自動化された形式です。
-
Ultralytics Platform: RAGがテキスト生成側を処理する一方で、このようなプラットフォームは、視覚データをマルチモーダルRAGパイプラインに供給するビジョンモデルのデータ前処理と学習を管理するために不可欠です。