この記事では「RAG」について解説します。RAGとは、検索拡張生成と、日本語で呼ばれる技術です。RAGの活用で、なんと、チャットGPTなど生成AIの回答精度を高められるんです。AIのビジネス利用においては、とても大きな武器になるRAG。RAGについてまとめていきます。
RAGとは?生成AIとの関係
RAGとは 検索と生成AIを組み合わせた技術で、簡単に言えば、生成AIの人工知能の外にあるデータベースから情報を探し、その回答を生成するシステムのことです。
RAGは、Retrieval Augmented Generationの略称で、頭文字からとります。通常、RAGは、ラグと呼ばれます。AI関連の話題で、RAGが出てきたら、だいたいが、データベースの話だと思って下さいね。RAGは検索拡張生成とも呼ばれます。
生成AIとRAGは、そういう意味では、生成AIを使う技術が、RAGという位置づけになります。RAGの技術は、データを精緻化させる技術なんですよね。
RAGの仕組み
RAGの仕組みは、生成AIのシステムに外部知識を組み込みます。簡単に言えば、知識を外付けする方法です。
従来の生成AIモデルは、事前に学習したデータセットからのみ知識を獲得するため、学習データに含まれない情報に関する質問には適切に回答できませんでした。
chatgptが登場したとき、無料版だと、XX年までのデータしかないよ!って注意書きがあったと思いますが、まさにこれです。
RAGはこの問題を解決してくれます。
RAGの仕組みは、単純で、
- 情報検索(Retrieval)
- 文書のエンコーディング(解釈)
- 質問とのマッチング
- 回答生成(自然な言葉にする)
という4つのSTEPで説明できます。
基本この流れで、RAGは動きます。
RAG メリット
RAGのメリットは、学習データに制限されないことです。それゆえ、めっちゃ幅広い知識を活用できます。
たとえば、社内利用。
契約書をPDFで保存して、そこを見るようにすれば、どこの会社と何の契約をしたか?を法務に聞くことなく調べられます。
お茶の置き場とかもそうですね。
企業内にある文書を登録して、実際に、チャットボットとしておいて、質問にも、スマホからスムーズに回答可能にしておけば、めっちゃ時短で回答をもらえます。
最新の知識を取れるのも、RAGのメリットですね。
もちろん、取得する、データベースがメンテナンスされていて、常に最新の状態に保たれていることが前提です。ですが、そうであれば、RAGは最新の情報に基づいた回答をしてくれます。
従来の生成AIは学習時点の情報しかないので、ここはRAGのメリットですね。
そして、いいのは、ここです。特化した知識の活用も可能です。
データベースを切り替えておくことで、専門性の高い、そんなRAG活用が可能になります。たとえば、医療情報。法律情報。投資情報。薬学の情報。ゲームの情報。全部まぜたら、精度は下がりますが、DBを切り替えることで、高い精度を維持できます。当然ですが、回答も事実なものばかりになります。
RAGは情報の根拠を提示してくれます。これもRAG活用のメリットですね。
今までの生成AIと異なり、もとのDBがあるので、この回答のエビデンスは、ここから拾ってるんだよ!ということが明示的になります。これは、透明性高いですよね。RAGならデータベースからの根拠情報を示せます。
ということで、RAG メリットは、
- 広範囲な知識
- 最新の知識
- 特化した知識
- 明解なエビデンスがある
という4つのメリットがあるのです。
RAG 使えない理由
RAGのデメリット、使えない理由について、ネガティブに記載します。
RAG、すごいメリット大きそうなんですが、以下の点が、ボトルネックになって、使えない、使わないケースがあります。
- 情報量が多いと重い
- データのクリーニングが大変
- 検索スピードが遅い
- インフラコストが高い
ざっとこんなところが、RAGのデメリットですね。
想像してもらえばわかると思いますが、たとえば、はさみを探すシチュエーション。制限のある入れ物の中を探すのと、街の中を探すのと、どっちが大変か?です。
後者の場合、時間かかりますよね。同じ話です。
RAG 利用シーン 利用方法
RAGの利用シーンは、想像するだけでも、結構豊富ですね!
- 企業内のデータベース
- カスタマーサポート
- 教育ツール
- 判例、症例のDB
- 診断コンテンツ
こんなかんじで、利用シーンが浮かびますね。
企業内のデータベースとしては、企業内の規定、マニュアル、FAQ、過去の問い合わせ履歴などの文書をデータベースに格納することで、RAGを従業員向けの知識ベースとして活用できます。
チャットボットがあれば、スタッフから質問に対して、関連文書から的確な回答を生成してくれます。
それゆえ、新入社員の教育にも便利ですね
教育現場でのツールについても補足すると、教科書や参考資料、過去問などの学習資料をデータベースに登録しておけば、RAGを質問応答ツールとして生徒や学生に提供できます。
日本史や世界史みたいな知識を要求されるケースの学習においては、とっても便利ですね。生徒の質問のみならず、先生の質問にも、適切な回答をしてくれるのが、RAGです。
しかも、新鮮な情報として回答してくれますよ。
RAG活用でやるべきこと
では、RAG活用を始めようとしたら、なにを始めればいいでしょう。
RAGを活用するためには、まず検索対象となるデータベースを構築する必要があります。
PDFやWord、テキストなど様々な形式のデータを取り込めるよう、事前の処理をしないといけません。データの整理ですね。
データのクリーニングや構造化も必要です。誤字脱字は特に注意が必要です。
また、特筆すべき、重要なキーワードもまとめておくと、誤った回答が減ります。
次は、いつものことですが、ユーザーとのインターフェースです。
先程から書いたチャットボットはその1つです。
チャットUIなどは、もう慣れてきましたか?
ただ、あれば、あれで複数の質問はしにくいUIなので、なんらか、タグ付けとかで並列的に聞けると、楽ですよね。
また回答の出力形式とかも、場合によってはカスタマイズがいるかもしれませんね。
まとめ RAGとは
RAGとは、生成AIのシステムに外部知識を取り込んで、その知識をもとにした回答ができるようにするための技術です。
従来の生成AIモデルでは、できないことができる強みがあります。
しかし、RAGは外部知識を活用できる有力な手法ですが、検索とマッチングのオーバーヘッドが大きいです。使うマシン、サーバのスペックなども要求されますし、DB内のデータクリーニング、整理も必要です。スピードを求めると、RAGは、難しいケースも多いでしょう。特に、リアルタイムはきついかもですね。
リソースの確保やシステムの最適化、DBの整理が重要となります。RAGは生成AIシステムにおいて期待されている部分です 今後も注目していきましょう。