Retrieval Augmented Generation (RAG)
検索強化生成(RAG)がリアルタイムデータでLLMを最適化する仕組みを探求しましょう。Ultralytics を用いたビジュアルRAGによるマルチモーダルパイプラインの構築方法を学びます。
検索拡張生成(RAG)は、人工知能分野における先進技術であり、大規模言語モデル(LLM)の出力品質を最適化します。これは、トレーニングデータ外の信頼性の高い知識ベースを参照することで実現されます。従来の生成モデルは初期トレーニングで学習した静的情報のみに依存するため、回答が時代遅れになったり、確信を持って誤った回答(幻覚と呼ばれる)を生成したりする可能性があります。 RAGはこのギャップを埋めるため、
企業データベース、最新ニュース、技術マニュアルなどの外部ソースから関連性のある最新情報を検索し、
応答生成前に文脈としてモデルに供給します。このプロセスにより、AIの出力が言語的に一貫しているだけでなく、
事実的に正確で特定のデータに基づいたものとなることが保証されます。
RAGシステムの機能について
RAGシステムのアーキテクチャは通常、検索と生成という2つの主要なフェーズで構成される。このワークフローにより、開発者は高コストな頻繁な再トレーニングを必要とせずに基盤モデルを維持できる。
-
検索:ユーザーがクエリを送信すると、システムはまずベクトルデータベースと呼ばれる特殊なストレージシステム全体で意味検索を実行します。このデータベースには、埋め込みと呼ばれる数値表現に変換されたデータが含まれており、システムがキーワードの一致だけでなく概念的に類似した情報を見つけることを可能にします。
-
生成:検索中に見つかった関連文書やデータ断片は、ユーザーの元の質問と組み合わされます。
この強化されたプロンプトは生成モデルに送信されます。モデルはこの提供されたコンテキストを用いて回答を合成し、
応答が検索された事実に基づいていることを保証します。
仕組みの詳細については、
IBMがRAGワークフローに関する包括的なガイドを提供しています。
ビジュアル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 AIにおけるRAGの概要を参照してください。
-
臨床意思決定支援:
医療分野におけるAIでは、RAGシステムが患者の病歴や最新の医学研究論文を検索し、医師の診断を支援します。これにより、助言が最新の臨床研究を考慮したものとなることが保証されます。
-
スマート小売アシスタント: 小売分野でAIを活用するアプリケーションは、RAG(Retrieval-Augmented Generation)を用いてリアルタイム在庫データベースを確認します。顧客がチャットボットに「このランニングシューズの10サイズはありますか?」と尋ねると、モデルは回答前にリアルタイムの在庫レベルを取得し、品切れによる顧客の不満を防止します。
RAG対微調整
RAGと微調整は異なる問題を解決するため、両者を区別することが極めて重要です。
-
RAG(検索拡張生成):動的で頻繁に変化するデータ(例:株価、ニュース)や、公開トレーニングセットに存在しないプライベートデータへのアクセスに最適です。実行時に新たな情報を提供することに重点を置いています。
-
微調整:モデルの挙動、スタイル、用語を適応させるのに最適です。特定のデータセット上でモデルの重みを更新するプロセスです。微調整はモデルが特定の言語パターン(医療用語など)を学習するのに役立ちますが、リアルタイムの事実へのアクセスを付与するものではありません。意思決定フレームワークについては、OpenAIの微調整とRAGの比較ガイドを参照してください。
関連概念
-
LangChain:人気のオープンソースフレームワーク。
リトリーバーとLLMを連結することで、RAGアプリケーションの作成を簡素化するために特別に設計されています。
-
ナレッジグラフ:
データ表現の構造化された手法であり、検索ソースとして利用可能。単純なベクトル類似性よりも文脈的に豊かな関係性を提供する。
-
プロンプトエンジニアリング:モデルを導く入力を作成する技術。
RAGは本質的に自動化されたプロンプトエンジニアリングの一形態であり、
「プロンプト」はプログラム的に取得されたデータで強化される。
-
Ultralytics :RAGがテキスト生成を担当する一方で、このようなプラットフォームは、マルチモーダルRAGパイプラインに視覚データを入力するビジョンモデルのデータ前処理とトレーニングを管理するために不可欠です。