検索拡張生成 (RAG )は、 大規模言語モデル (LLM)が外部データソースから新しい情報を取得して組み込むことを可能にする技術です。 [ 1 ] RAGでは、LLMはまず指定された一連のドキュメントを参照し、次にユーザーのクエリに応答します。これらのドキュメントは、LLMの既存のトレーニングデータ からの情報を補完します。[ 2 ] これにより、LLMはトレーニングデータには含まれていないドメイン固有の情報や更新された情報を使用できます。[ 2 ] 例えば、これにより、LLMベースのチャットボットは 社内データにアクセスしたり、信頼できる情報源に基づいて応答を生成したりできます。この技術は2020年に初めて提案され、それ以来、現代のAIシステムで広く採用されているアプローチとなっています。
RAGは、応答を生成する前に情報検索を 組み込むことでLLMを改善します。[ 3 ] 静的なトレーニングデータに依存するLLMとは異なり、RAGはデータベース、アップロードされたドキュメント、またはWebソースから関連するテキストを取得します。[ 1 ] Ars Technica によると、「RAGは、LLMプロセスとWeb検索またはその他のドキュメント検索プロセスを組み合わせることで、LLMが事実に忠実であるようにすることで、LLMのパフォーマンスを向上させる方法です。」この方法は、 存在 しないポリシーをチャットボットが説明したり、議論を裏付ける引用を探している弁護士に存在しない法的事例を推奨したりする原因となるAIの幻覚を減らすのに役立ちます。 [ 3 ] [ 4 ]
RAGは、新しいデータでLLMを再学習させる必要性を減らし、計算コストと財務コストを削減します。[ 1 ] 効率性の向上に加えて、RAGはLLMが回答に情報源を含めることを可能にするため、ユーザーは引用された情報源を検証できます。これにより、ユーザーは取得したコンテンツを相互チェックして正確性と関連性を確認できるため、透明性が向上します。
検索拡張生成(RAG)という用語は、推論時に検索によってアクセスされる非パラメトリックな外部メモリとパラメトリックな言語モデルを組み合わせることを説明した2020年の論文で導入されました。[ 3 ]
RAGとLLMの制限 LLMは誤った情報を提供する可能性があります。たとえば、Googleが初めてLLMツール「Google Bard 」(後にGeminiに改名)をデモしたとき、LLMはジェームズ・ウェッブ宇宙望遠鏡について誤った情報を提供しました。このエラーは 、Googleの 株価が1,000億ドル下落する原因となりました。 [ 4 ] RAGはこれらのエラーを防ぐために使用されますが、すべての問題を解決するわけではありません。たとえば、LLMは、事実として正しい情報源から情報を取得している場合でも、文脈を誤って解釈すると誤った情報を生成する可能性があります。MIT Technology Reviewは 、「米国にはバラク・フセイン・オバマというイスラム教徒の大統領が1人いた」というAI生成応答の例を挙げています。このモデルは、書籍「Faith in the New Millennium: The Future of Religion and American Politics 」の修辞的な章タイトル「バラク・フセイン・オバマ:アメリカ初のイスラム教徒大統領?」からこれを取得しました。[ 5 ] LLMはタイトルの文脈を「知って」も「理解」もしていなかったため、誤った記述を生成しました。[ 2 ]
RAG を備えた LLM は、新しい情報を優先するようにプログラムされています。この手法は「プロンプト スタッフィング」と呼ばれています。プロンプト スタッフィングがない場合、LLM の入力はユーザーによって生成されます。プロンプト スタッフィングがある場合、モデルの応答をガイドするために、この入力にさらに関連するコンテキストが追加されます。このアプローチにより、プロンプトの早い段階で重要な情報が LLM に提供され、既存のトレーニング知識よりも提供されたデータを優先するように促されます。[ 6 ]
プロセス 検索拡張生成(RAG)は、大規模言語モデル (LLM)に情報検索 メカニズムを組み込むことで、モデルが元のトレーニングセットを超えた追加データにアクセスして利用できるようにする機能を強化します。Ars Technica は、「新しい情報が利用可能になった場合、モデルを再トレーニングする必要はなく、更新された情報でモデルの外部知識ベースを拡張するだけでよい」(「拡張」)と述べています。[ 4 ] IBMは、「生成フェーズでは、LLMは拡張されたプロンプトとトレーニングデータの内部表現から情報を取得して」回答を合成します。[ 1 ]
RAGの主要段階 RAGプロセスの概要:外部文書とユーザー入力をLLMプロンプトに組み合わせて、カスタマイズされた出力を得る。 通常、参照対象のデータはLLM埋め込み 、つまり大きなベクトル空間の形式の数値表現に変換されます。RAGは、非構造化データ(通常はテキスト)、半構造化データ、または構造化データ(例えば、知識グラフ)に適用できます。これらの埋め込みは、 文書検索を 可能にするためにベクトルデータベース に保存されます。
ユーザーのクエリが与えられると、まずドキュメント検索器が呼び出され、クエリを補強するために使用される最も関連性の高いドキュメントが選択されます。[ 2 ] [ 3 ] この比較は、使用されるインデックスの種類に応じて、さまざまな方法で行うことができます。[ 1 ]
このモデルは、ユーザーの元のクエリを迅速にエンジニアリングする ことにより、取得した関連情報をLLMに供給します。新しい実装( 2023年現在) また、クエリを複数のドメインに拡張したり、メモリと自己改善を使用して過去の検索から学習したりするなどの機能を備えた特定の拡張モジュールを組み込むこともできます。
最後に、LLMはクエリと取得されたドキュメントの両方に基づいて出力を生成できます。[ 2 ] [ 3 ] 一部のモデルは、取得された情報の再ランク付け、コンテキストの選択、微調整 など、出力を改善するための追加の手順を組み込んでいます。
アプリケーション 検索拡張型生成は、生成される応答が外部情報や頻繁に更新される情報に基づいている必要があるアプリケーションで使用されます。
医療分野では、RAGは大規模な言語モデルの出力を外部の医学知識源に基づかせる方法として研究されてきたが、評価、倫理、臨床的信頼性に関する課題が依然として残っていることがレビューで指摘されている。[ 7 ]
改善点 上記の基本プロセスに対する改善は、RAGフローのさまざまな段階で適用できる。
エンコーダー これらの手法は、テキストを密ベクトルまたは疎ベクトルとしてエンコードすることに焦点を当てています。単語の識別情報をエンコードする疎ベクトルは、通常 辞書 長で、ほとんどがゼロです。意味をエンコードする密ベクトル は、よりコンパクトで、ゼロの数が少なくなっています。さまざまな機能強化により、ベクトルストア(データベース)での類似性の計算方法を改善できます。[ 8 ]
ベクトル類似度の計算方法を最適化することでパフォーマンスが向上します。ドット積は 類似度スコアを向上させ、近似最近傍探索(ANN)は K近傍 探索(KNN)よりも検索効率を向上させます。[ 9 ] 後期の相互作用により精度が向上する可能性があり、これによりシステムは検索後に単語をより正確に比較できるようになります。これは文書のランキングを改善し、検索の関連性を向上させるのに役立ちます。[ 10 ] ハイブリッドベクトルアプローチは、密なベクトル表現と疎なワンホット ベクトルを組み合わせるために使用でき、密なベクトル演算よりも疎なドット積の計算効率を利用します。[ 8 ] その他の検索手法は、文書の選択方法を洗練することで精度を向上させることに重点を置いています。一部の検索手法は、SPLADEなどのスパース表現とクエリ拡張戦略を組み合わせて、検索精度と再現率を向上させています。[ 11 ]
リトリーバー中心の方法 これらの手法は、ベクターデータベースにおける文書検索の質を向上させることを目的としています。
逆クローズタスク (ICT)を使用してリトリーバーを事前学習します。これは、文書内のマスクされたテキストを予測することで、モデルが検索パターンを学習するのに役立つ手法です。[ 12 ] 教師ありリトリーバー最適化は、検索確率をジェネレーターモデルの尤度分布に合わせます。これには、特定のプロンプトに対して上位 k 個のベクトルを検索し、生成された応答のパープレキシティ をスコアリングし、リトリーバーの選択とモデルの尤度の間のKL ダイバージェンスを 最小化して検索を洗練することが含まれます。[ 13 ] 再ランキング技術は、トレーニング中に最も関連性の高い検索ドキュメントを優先することで、検索器のパフォーマンスを向上させることができます。[ 14 ]
言語モデル RAG用のRetro言語モデル。各Retroブロックは、アテンション層、チャンク化クロスアテンション層、フィードフォワード層で構成されています。黒文字のボックスは変更されるデータを示し、青文字は変更を実行するアルゴリズムを示します。
言語モデルをリトリーバーを念頭に置いて再設計することで、25分の1のサイズのネットワークで、はるかに大きなネットワークと同等のパープレキシティを得ることができます。[ 15 ] この方法(Retro)はゼロからトレーニングするため、元のRAGスキームでは回避されていたトレーニング実行の高コストが発生します。トレーニング中にドメイン知識を与えることで、Retroはドメインへの注目度を下げ、より小さな重みリソースを言語の意味論にのみ割り当てることができるという仮説があります。再設計された言語モデルを以下に示します。
Retroは再現性がないという報告があったため、再現性を高めるための修正が行われた。再現性の高いバージョンはRetro++と呼ばれ、コンテキストRAGが含まれている。[ 16 ]
チャンキング チャンキングとは、データ検索ツールがデータの中から詳細情報を見つけられるように、データをベクトルに分割するための様々な戦略を指します。
さまざまなデータ形式には、適切なチャンキングによって活用できるパターンが存在する。
チャンキング戦略には、次の3種類があります。
長さは固定で、重複部分があります。これは高速で簡単です。連続するチャンクを重複させることで、チャンク間の意味的な文脈を維持しやすくなります。 構文ベースのチャンクを使用 すると、文書を文に分割できます。spaCyやNLTK などのライブラリも役立ちます。ファイル形式に基づいたチャンキング。特定のファイル形式には、自然なチャンク構造が組み込まれているため、それを尊重するのが最善です。例えば、コードファイルは、関数全体またはクラス全体としてチャンク化およびベクトル化するのが最適です。HTMLファイルでは、<table>要素やbase64エンコードされた<img> 要素はそのまま残しておくべきです。PDFファイルについても同様の考慮が必要です。UnstructuredやLangChain などのライブラリは、この方法を支援するのに役立ちます。
ハイブリッド検索 ベクトルデータベース検索(別名 セマンティック検索 手法)では、ユーザーの質問に答えるために必要な重要な事実を見落とすことがあります。これを軽減する1つの方法は、従来のテキスト検索(別名 全文検索 )を実行し、その結果をベクトル検索で取得したベクトルにリンクされたテキストチャンクと組み合わせ、結合されたハイブリッドテキストを(効果的なスコアリングまたは再ランキングスコアリングを使用して)言語モデルに入力して生成することです。[ 17 ]
課題 RAGはLLMの幻覚を防ぐものではありません。Ars Technica によると、「LLMは反応時にソース素材の周りで幻覚を起こす可能性があるため、直接的な解決策ではありません。」[ 4 ]
RAGは大規模言語モデル(LLM)の精度を向上させますが、すべての課題を解消するわけではありません。RAGは頻繁なモデルの再学習の必要性を軽減しますが、完全に排除するわけではないという制約があります。さらに、LLMは信頼できる応答を提供するのに十分な情報が不足していることを認識するのに苦労する場合があります。特定のトレーニングがない場合、モデルは不確実性を示すべき場合でも回答を生成する可能性があります。IBMによると、 この問題は、モデルが自身の知識の限界を評価する能力を欠いている場合に発生する可能性があります。[ 1 ]
RAG中毒 RAGシステムは、事実としては正しいものの誤解を招く情報源を取得する可能性があり、解釈の誤りにつながることがあります。場合によっては、LLMは文脈を考慮せずに情報源から記述を抽出し、誤った結論に至ることがあります。さらに、矛盾する情報に直面した場合、RAGモデルはどの情報源が正確かを判断するのに苦労することがあります。この制限による最悪の結果は、モデルが複数の情報源からの詳細を組み合わせ、古い情報と更新された情報を誤解を招く形で統合した応答を生成する可能性があることです。MIT Technology Review によると、これらの問題は、RAGシステムが取得したデータを誤って解釈する可能性があるために発生します。[ 2 ]
2025年9月、イスラエルはこの制限に基づき、世論を自国に有利な方向に誘導するため(ハスバラ)、600万ドルを支払った。 [ 18 ] [ 19 ]
参考文献 1 2 3 4 5 6 「検索拡張生成とは何か?」 IBM 2023 年8月22日2025年 3月7日 取得 1 2 3 4 5 6 「GoogleのAI概要が間違っている理由」 . MITテクノロジーレビュー . 2024年5月31日. 2025年 3月7日 取得 . 1 2 3 4 5 Lewis, Patrick; Perez, Ethan; Piktus, Aleksandra; Petroni, Fabio; Karpukhin, Vladimir; Goyal, Naman; Küttler, Heinrich; Lewis, Mike; Yih, Wen-tau; Rocktäschel, Tim; Riedel, Sebastian; Kiela, Douwe (2020). "知識集約型NLPタスクのための検索拡張生成" . Advances in Neural Information Processing Systems . 33 . Curran Associates, Inc.: 9459– 9474. arXiv : 2005.11401 . 1 2 3 4 「RAGと呼ばれる技術は、AIモデルがでっち上げをするのを防ぐことができるか?」 . Ars Technica . 2024年6月6日. 2025年 3月7日 取得 . ↑ ゴーツ、レベッカ・アン(2015)。「バラク・フセイン・オバマ:アメリカ初のイスラム教徒大統領?」。サットン、マシュー・エイブリー、ドチュク、ダレン編『 新 千年紀の信仰:宗教とアメリカ政治の未来』所収 。 オックスフォード大学 出版局。doi : 10.1093/acprof:oso/9780199372690.003.0006。ISBN 9780199372737 。↑ 「テキスト要約におけるLLMの幻覚を軽減する」 。BBC 。 2024年6月20日。 2025年 3月7日 取得 。 ↑ Amugongo, Lameck Mbangula; Mascheroni, Pietro; Brooks, Steven; Doering, Stefan; Seidel, Jan (2025-06-11). "医療における大規模言語モデルのための検索拡張生成:系統的レビュー" . PLOS Digital Health . 4 (6) e0000877. doi : 10.1371/journal.pdig.0000877 . PMC 12157099 . 1 2 Luan, Yi; Eisenstein, Jacob; Toutanova, Kristina; Collins, Michael (2021年4月26日). "テキスト検索のための疎表現、密表現、注意表現" . Transactions of the Association for Computational Linguistics . 9 : 329–345 . arXiv : 2005.00181 . doi : 10.1162/tacl_a_00369 . 2025年 3月15日 取得 。 ↑ 「情報検索」 。 マイクロソフト 。2025年1月10日。 2025年 3月15日 取得 。 ↑ Khattab, Omar; Zaharia, Matei (2020). "ColBERT: BERT 上での文脈化された遅延インタラクションによる効率的かつ効果的なパッセージ検索" . 第 43 回国際 ACM SIGIR 情報検索研究開発会議議事録 . pp. 39–48 . doi : 10.1145/3397271.3401075 . ISBN 978-1-4503-8016-4 。↑ Wang, Yup; Conroy, John M.; Molino, Neil; Yang, Julia; Green, Mike (2024). "TREC 2024 Retrieval Augmented Generation Trackにおける分析科学研究所" . NIST TREC 2024 . 2025年 3月15日 取得 . ↑ リー、ケントン。チャン、ミンウェイ。トウタノバ、クリスティーナ(2019)。 」 「弱教師ありオープン領域質問応答のための潜在的情報検索」 「(PDF )↑ Shi, Weijia; Min, Sewon; Yasunaga, Michihiro; Seo, Minjoon; James, Rich; Lewis, Mike; Zettlemoyer, Luke; Yih, Wen-tau (2024 年 6 月). "REPLUG: Retrieval-Augmented Black-Box Language Models" . Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers) . pp. 8371– 8384. arXiv : 2301.12652 . doi : 10.18653/v1/2024.naacl-long.463 . 2025 年 3 月 16 日 取得 . ↑ ラム、オリ。レヴィン、ヨアヴ。ダルメディゴス、イタリア;ドール・ムルゲイ。シャシュア、アムノン。レイトン=ブラウン、ケビン。ショーハム、ヨアヴ (2023)。 「インコンテキスト検索拡張言語モデル」 。 計算言語学協会のトランザクション 。 11 : 1316–1331.arXiv : 2302.00083 。 土井 : 10.1162/tacl_a_00605 。 2025 年 3 月 16 日 に取得 。 ↑ Borgeaud, Sebastian; Mensch, Arthur (2021). "数兆個のトークンから取得することで言語モデルを改善する" (PDF) 。 ↑ Wang, Boxin; Ping, Wei; Xu, Peng; McAfee, Lawrence; Liu, Zihan; Shoeybi, Mohammad; Dong, Yi; Kuchaiev, Oleksii; Li, Bo; Xiao, Chaowei; Anandkumar, Anima; Catanzaro, Bryan (2023). "Shall We Pretrain Autoregressive Language Models with Retrieval? A Comprehensive Study" . Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing . pp. 7763–7786 . doi : 10.18653/v1/2023.emnlp-main.482 . ↑ Bruch, Sebastian; Gai, Siyu; Ingber, Amir (2023). "ハイブリッド検索のための融合関数の分析". ACM Transactions on Information Systems . 42 (1): 1– 35. arXiv : 2210.11934 . doi : 10.1145/3596512 . ↑ 「イスラエル、ガザに関する米国の若者の意見を変えるため、GPTトレーニングに600万ドルを支払う」 。Inside Telecom 。2025年9月30日。 2026年1月11日 閲覧 。 ↑ Cordall, Simon Speakman. 「ジェノサイドを捏造する:イスラエルはガザ戦争を正当化するために米国のPR会社をどのように利用しているのか?」 アルジャジーラ 。 2026年1月14日 閲覧 。