- 会員限定
- 2024/12/17 掲載
RAG(検索拡張生成)とは何かをわかりやすく解説、LLMとどう併用?安野氏の活用例とは
RAGとは何か
RAG(読み方:ラグ)とは「Retrieval Augmented Generation」の略称で、自社だけに蓄積された社内情報や、外部の最新情報を、ChatGPTなどのLLM(大規模言語モデル)に取り込んで、回答させる技術のこと。通常、LLMには「ナレッジのカットオフ」と呼ばれる問題がある。これは、そのLLMが特定の日時時点までの情報しか知らない(学習していない)、という問題のこと。知らないことは答えられなかったり、ハルシネーション(嘘)の答えを導き出すリスクにつながる。それをRAGは補完してくる。
たとえば、企業が新製品を出したとき、その新製品の情報をChatGPTが知らない、といったことが起こりうる。そのとき、RAGを使うことで、「ChatGPTに自社の新製品に関する情報を組み込ませて、その情報を元に質問に答えさせるといった使い方が可能です」(安野氏)。
昨今、RAG技術の市場規模は拡大している。Grand View Researchの調査によれば、世界の検索拡張生成(RAG)市場規模は、2023年時点で約1,600億円(10億4,270万米ドル)に達すると推定されている。2024年から2030年にかけては年平均成長率44.7%で成長すると予測されており、今後ビジネスにおいても、RAGの活用が増えていくだろう。
■「検索拡張生成」とは
RAGは、質問に対する回答を生成する際、外部のデータベースから関連性の高い情報を取得し、それを踏まえた上で回答を生成できる。
また、LLMの知識を補完し、AIに新たな学習をさせずに回答精度を維持しながら、活用範囲を広げられる。取得可能な情報ソースの範囲も豊富で、インターネット上の最新情報や企業のビジネス情報、社内の機密文書まであり、LLMの学習データだけではカバーできない範囲にも対応できるのが特徴だ。
■LLM(大規模言語モデル)との関係
LLMとは、膨大なデータと深層学習技術を用いて構築された言語モデルだ。一方、RAGは、LLMを始めとする生成AIの弱点を補い、有益に活用するための手法である。
具体的には、RAGではLLMが回答を生成する前に、最新の情報や専門分野のデータベースなどの外部情報を付与し、検索可能な状態にするプロセスを追加する。これにより、LLMの情報の不正確さなどの課題を克服できる。
さらに、LLMにRAGを組み合わせることで、パーソナライズされた回答生成も可能となる。一般的なLLMでは、公開されている既存の情報しか提供できないが、RAGを用いたLLMでは社内情報やインターネット上にはない学習させたタスクも提供できるのだ。
安野氏によると「ChatGPTに限らず、通常LLMのプロンプトに入力できる文字数は限られているので、たとえば本一冊分などは入り切りません。しかしRAGの場合は、質問に応じて、本のこのページの辺りの記述を用いれば回答できるかもしれないと判断して、そこから関連する情報だけをプロンプトに含めてAIに提供することも可能なのです」(安野氏)
■RAGが必要とされている理由
RAGが求められる理由は、企業が生成AIを利用していく中で、自社に蓄積された社内情報や外部の最新情報を活用したいというニーズが高まっているためだ。
生成AIは、学習済みのデータをもとに質問に対して、統計的に確率の高い回答を生成するが、新しい情報や企業独自の情報などは対応できない点が課題だ。しかし、RAG(検索拡張生成)を導入すると、生成AIが社内の情報なども参照しながら回答を提供できる。たとえば、直近の研究や市場トレンド、自社のノウハウを取り入れた回答ができ、意思決定がスピーディーで正確になる。
従来の生成AIの弱点を補いながら、ニーズが高まっている情報を回答できるため必要とされている。
RAGの仕組み
RAGは、検索フェーズと生成フェーズの2段階のフェーズにわかれる。■検索フェーズ
検索フェーズとは、LLMが保有していない知見を補うために、組織内に蓄積された社内情報や組織外の最新情報を取得するプロセスだ。
RAGを活用した生成AIのアプリケーションに対して利用者が質問をした際、データベースや文書から関連情報を検索する。これにより、生成AIは外部データから関連度の高い文書を入手できる。
検索フェーズの精度を上げるためには、検索のしやすさや構造化の方法を考慮する必要がある。また、どの検索手法を活用するのかについても検討が必要だ。安野氏は「似ている情報を取ってくるためのアルゴリズムだけでも、数十種類もある」と話す。
検索結果から情報を得られたら、次の段階に移る。
■生成フェーズ
生成フェーズでは、検索フェーズで得られた情報を利用して、利用者の質問に対する回答を生成する。
具体的には、アプリケーションは利用者からの質問に加えて、検索フェーズで取得した関連文書の情報をLLMに送信する。この過程の後に、LLMが回答を生成してアプリケーションが出力する。
このような2つのフェーズを経て、ハルシネーション(事実と異なる情報や、実際には存在しない情報を生成する現象)を避けて信頼性の高い回答を提供できるようになる。
RAGを導入するメリット
RAGを導入することで得られるメリットは多岐にわたる。ここでは、RAGを導入する4つのメリットを解説する。■信頼性の高い回答を生成できる
RAG活用のメリットとして、回答の信頼度を高められる点が挙げられる。LLM単体で回答を作り出すと、元データが古い可能性があり、ファクトチェックに時間を要してしまう。
対してRAGでは、信頼できる外部の情報を検索し、生成AIと連携させて回答を作ることができる。回答の信憑性に疑問を感じた場合は、参照元のチェックも可能だ。
加えて、事前学習されていない情報も参照できるため、より網羅的かつ専門性の高い情報をもとにした回答が得られる。たとえば、データベース内の最新論文や自社製品情報などを参照し、内容を踏まえた回答を出力できるのだ。
■外部情報の更新が容易になる
LLMの知識をアップデートするには、最新情報などを再学習させる「ファインチューニング」などが必要で、一般的に膨大な手間がかかってしまう。RAGはユーザーが用意した正確な外部情報を検索するため、ファインチューニングが不要だ。
安野氏はファインチューニングとRAGについて、「どちらもAIに知識を注入するための手法ですが、その違いはかなり大きい」とした上で、「ファインチューニングでは大量の情報を使ってAIを学習させる必要があり、多くのデータと時間を必要とするほか、場合によってはコストもかかる」と指摘する。
「ファインチューニングでは特定の言葉遣いやスタイルなどのフォーマットを学ばせることはできる一方、新しい知識を効率的に注入するのはかなり困難です。そのため、AIに新しい情報を与えて正確な回答を得たい場合には、ファインチューニングよりもRAGのほうが効果的です。質問に対して必要な情報を検索してAIに提供するため、新しい知識を効率的に取り入れやすいというRAGの特徴が、ファインチューニングとの決定的な差と言えます」(安野氏)
RAGであれば、常に最新の情報を反映した回答が生成できる。専門性の高い分野においても、更新が容易になる。
■コストを大幅に抑えられる
LLMのファインチューニングには、データセットの準備や環境構築などが必要であり、コストがかさむ。それに対し、RAGであればLLMの生成プロセスに外部情報の検索手順を加えるだけで済む。
また、ファインチューニングに比べ、ハルシネーションが起こるリスクは低減されるため、一般的にはコストパフォーマンスの面でも優れていると言われている。
■パーソナライズされた回答を生成できる
生成AIがリサーチする際、ユーザーの行動履歴や趣味・嗜好などの関連情報を外部データベースから取得すれば、よりパーソナライズされた商品やサービスの提案が可能になる。
LLMは、インターネット上にある情報を根拠とするため、限られた分野・範囲の回答しか生成できず、パーソナライズもできない。
一方のRAGであれば、製品に関する問い合わせに対し、製品情報に加えてユーザーの購入履歴や問い合わせ履歴などをデータベースに登録して、その情報を総合的に分析し、個人に最適化された回答を出力できるのだ。 【次ページ】RAGの活用例
関連コンテンツ
PR
PR
PR