現在では、ChatGPTをはじめとする生成AIが社会に浸透しており、それにともない、LLM(大規模言語モデル)の需要が高まっています。
そのような状況で注目されているのが、「RAG(検索拡張生成、取得拡張生成)」と呼ばれる技術です。
RAGは外部データを検索して情報を取得し、LLMによって回答を生成する技術を指し、さまざまなビジネスシーンでの活用が期待されています。
本記事では、RAGの仕組み、活用するメリット、ビジネスにおける活用シーンについて解説します。
RAGとは
RAGとは、信頼性の高い外部情報の検索とLLM(大規模言語モデル)によるテキスト生成を組み合わせて、回答精度を高める自然言語処理(NLP)技術のことです。
RAGは「Retrieval Augmented Generation」を略した言葉で、日本語に訳すと「検索拡張生成」や「取得拡張生成」といいます。
そもそもLLM(Large Language Models)とは、ディープラーニング技術と膨大な量のデータによって構築された言語モデルのことで、高度な言語理解を実現しています。
RAGは、検索機能とLLMをはじめとする生成AIの弱点を補い合う技術として現在注目されています。
RAGが注目される背景
RAGは、LLMが抱える以下の課題を解消できます。
-
情報が古い
-
各企業独自のノウハウ情報を扱えない
-
ハルシネーションが起きやすい
LLMは、インターネット等で収集した学習済みのデータから回答を生成する技術です。そのため、日々移り変わる最新の情報に対応できないという課題があります。
さらに、情報源がインターネット等の公開情報になっていることから、企業の独自情報のようなクローズド環境に置かれているものは扱えません。
また、LLMには「ハルシネーション」を引き起こしてしまうリスクがあります。ハルシネーションとは「幻覚」を意味する言葉で、事実と異なる情報をAIが生成してしまうことです。
インターネット上には正しい情報と誤った情報が混在していますが、LLMにはその正誤を判断することができません。
そのため、収集した情報に誤ったものが紛れ込んでいても、あたかも事実であるかのように出力してしまう場合があります。
しかし、RAGは信頼性の高い外部のデータベースの情報を検索して回答を生成する仕組みのため、ハルシネーションが起きる可能性を低減することが可能です。
ファインチューニングとの違い
RAGと同様に、クローズドな情報を扱える手段として挙げられるのがファインチューニングです。
ファインチューニングとは、学習済みのモデルに追加で独自のデータを学習させて、生成AIに新たな情報を扱えるようにする技術を指します。
RAGとファインチューニングには、生成AIに学習させるか否かという点に違いがあります。RAGは生成AIに学習させるのではなく、生成AIが情報を検索できるようにデータベースを用意します。
つまり、ファインチューニングが知識を身につけさせる仕組みであるのに対して、RAGは生成AIがいつでも情報を参照できるように資料を用意しておくような仕組みだといえるでしょう。
RAGの仕組み
RAGは「検索」と「生成」という2つのフェーズを経て、回答を生成します。ここでは、チャットAIの利用を例に挙げて、それぞれのプロセスを詳しくみていきましょう。
検索フェーズ
チャットAIを使用した場合の検索フェーズは、以下のような流れで進みます。
- チャットAIの入力欄にユーザーが質問を記述
- AIが文書やデータベースなどの外部情報の検索を行ない、最適なデータを収集
- 検索結果となるデータを取得
このプロセスでは、AIに扱わせたい情報を独自に用意し、検索させることでハルシネーションのリスクを低減できます。このとき、インターネット上の情報だけでなく社内に蓄積されたデータも含めることで、信頼性の高い情報の取得が可能です。
生成フェーズ
生成フェーズは、以下のような流れで行なわれます。
- チャットAIがユーザーの質問と検索フェーズで取得したデータをもとに、LLMにプロンプトを入力
- 入力されたプロンプトをもとに、LLMがテキストを自然言語処理で生成してチャットAIに返答
- LLMから得た回答をチャットAIが出力
AIだけでは、検索フェーズで得たデータを適切な形でユーザーに返すことができません。そのため、AIがLLMに質問して回答を生成してもらい、それを最終的にAIが出力する仕組みになっています。
RAGがもたらす4つのメリット
- 外部情報を容易に更新できる
- 生成する回答結果の確実性が高まる
- 非公開の情報を扱えるようになる
外部情報を容易に更新できる
RAGには、外部情報を容易に更新できるメリットがあります。通常、LLMのデータをアップデートするには、最新情報を追加学習させるファインチューニングが必要なため、手間がかかります。
それに対し、RAGはLLMが保有するデータではなく外部情報を検索させるため、ファインチューニングを行なう必要がありません。外部情報のデータを最新化すれば、最新情報をもとにした回答生成が常に行なえます。
生成する回答結果の確実性が高まる
生成AIは、事前に学習したデータをもとに、単語を組み合わせてテキストを生成します。そのため、ハルシネーションを起こしたり古い情報を参照したりするなど、事実とは異なる回答や信頼性の低い回答を生成してしまうケースがあります。
一方、RAGでは信頼性の高い外部情報を検索し生成AIと連携して回答を生成するため、回答精度や回答の信頼性が高まるでしょう。回答の信頼性が疑わしい場合は、参照元の確認をとることもできます。
非公開の情報を扱えるようになる
生成AIは、おもにインターネット上にある既存の情報を根拠に回答するため、非公開の情報に扱うことはできません。
その点、RAGはデータベースに作業マニュアルや顧客情報などの組織特有の情報を登録すれば、その情報に基づいた回答を生成できるようになります。
社内情報をもとに回答を生成する社内用生成AIが実現すれば、ノウハウの蓄積・活用によって業務の効率化につながるでしょう。
RAGの活用方法
- 社内の問い合わせ対応
- チャットボットによるカスタマーサポート
- コンテンツの作成
- データ分析
社内の問い合わせ対応
従来、社内問い合わせに生成AIを利用するにはファインチューニングが必要であり、膨大なデータの準備や専門的な知識、プログラミングスキルが不可欠でした
しかし、RAGでは業務マニュアルや社内規定をデータベースに登録するだけで、専門的な知識やスキルがなくても、独自の社内問い合わせシステムを作成できます。回答の品質を担保するための初期設定や登録する資料の整理は必要ですが、社内の問い合わせ対応をAIで対応できれば、それまで問い合わせ対応を行なっていた従業員は優先度の高いほかの業務に専念できるため、業務効率化・生産性アップにつながるでしょう。
チャットボットによるカスタマーサポート
オペレーションマニュアルや、ホームページなどに掲載しているよくある質問(FAQ)などを外部情報として用意すれば、顧客からの問い合わせに対応するカスタマーサポートとしても活用できます。
通常は、問い合わせを受けてから、オペレーターが社内マニュアルやFAQを手作業で探して対応する必要がありました。RAGとチャットボットを活用すれば、これらの作業の多くを自動化できるようになり、対応コストを削減することが可能です。
電話やメールなどで問い合わせることが少なくなれば、顧客のストレスも減る可能性があります。加えて、対応時間外や土日祝日も関係なく対応できるため、顧客満足度の向上にもつながるでしょう。
コンテンツの作成
営業のプレゼン資料や製品カタログ、ブログ記事などコンテンツの作成にもRAGを活用できます。コンテンツを作成できるツールは他にもありますが、RAGは自社のフォーマットに沿ったコンテンツを生成できるのがメリットです。
ChatGPTなどと同様に、文章に加えて画像・動画・音声も生成できるため、顧客の関心をひきつけ、エンゲージメントを向上させるコンテンツを作成できるでしょう。
データ分析
市場データやトレンド、消費者のフィードバック、業界レポートなどの外部情報を収集させ、動向を分析させるといった活用方法もあります。例えば、自社で独自に収集した顧客データやアンケート調査結果などをデータベースに登録すれば、それらの情報をもとに市場レポートや競合製品の評価などを出力することが可能です。
他のツールでも分析はできますが、RAGでは大量のデータを効率良く分析でき、人では気づきにくい傾向やデータの相関関係を発見できるというメリットがあります。
まとめ
RAGは、クローズドな情報を扱えることやハルシネーションのリスク低減など、LLMの課題を解決できる技術として、生成AIの分野で注目されています。外部情報を容易に更新できる点や、回答生成の精度を高められる点などメリットが多く、これまで行なわれていたファインチューニングのデメリットをカバーすることも可能です。
実際に、RAGは社内FAQやカスタマーサポート、コンテンツ作成、データ分析などさまざまなビジネスシーンで活用されており、今後も多くの導入が見込まれるでしょう。
今後実際にオンプレミス環境で独自データをRAGとLLMで分析し回答させるとこを深堀していきたいと思います。