資料はこちら
RAGと言えばセマンティック検索(ベクトル検索)です。セマンティック検索では、語句の意味を解釈して検索したり、文脈に沿ってクエリを修正します。今回は、セマンティック検索やRAG周辺技術の問題点と解決策、そして弊社プロダクトへのRAGの活用について紹介していきます。
![[Passionate Genius CTO 森本氏]二刀流で切り開くRAG活用術 #LLM最新活用事例](https://images.microcms-assets.io/assets/0424eb4d08074d81bfa98eb3dc10071c/0d39cac2a285468f955b9095db864cc1/report_LLM-RAG_morimoto.png?w=3840&q=75&fm=webp)
資料はこちら
RAGと言えばセマンティック検索(ベクトル検索)です。セマンティック検索では、語句の意味を解釈して検索したり、文脈に沿ってクエリを修正します。今回は、セマンティック検索やRAG周辺技術の問題点と解決策、そして弊社プロダクトへのRAGの活用について紹介していきます。
株式会社Passionate Genius CTO
森本 タカヒロ明治大学卒。ゲームプログラマーとしてキャリアをスタートし、ハイパーカジュアルゲームの開発を経験。ChatGPTのローンチをきっかけに生成AIの可能性を感じ、AI開発者への転身を決意。電話オペレーター業務に特化したAI「nocall.ai」を開発し、現在はPassionate GeniusのCTOとして、nocall.aiのプロジェクトマネジメントを邁進しています。趣味はパーティーを開くことと女装。
セマンティック検索は未学習の単語に対してベクトルを生成する能力が低いのが弱点です。そのため、専門用語や固有名詞、自社内のみで使う用語は検索をかけてもヒットしません。
しかし、RAGを改善するために、Embeddingモデル自体を改善するのは非経済合理的です。ベクトル検索はあくまでも文章の類似性の特定が得意な手法なので、 質問に対する回答が全く異なる意味だったり、用語が専門的すぎてベクトル検索に対してEmbeddingできない問題が出てきてしまいます。


セマンティック検索の問題に対応するために、RAGの周辺技術であるHydeやRag fusionを使用することが思いつきますが、それぞれ問題があります。
Hydeでは生成した仮の文章とドキュメントをマッチングさせて検索します。しかし、1回文書を生成しなければいけない分、速度が課題です。Rag fusionはクエリを与えられた時にLLMで生成した複数のクエリから生成したドキュメントをマッチングさせる仕組みですが、曖昧なクエリだと複数のクエリも曖昧になってしまいます。

弊社ではハイブリッド検索とリランキングという2つの手法を用いて問題を解決していきました。結果的には5〜10%ほどの精度改善が見込めました。
ハイブリッド検索はキーワード検索とベクトル検索を組み合わせた手法です。 キーワード検索はGoogle検索と同様で、単語の品質を文章の長さによってスコアを出す仕組みになります。文章全体の意味を特定できるベクトル検索の良さをキーワード検索と掛け合わせて精度を上げていきます。

キーワードとベクトル検索の融合方法は順位に基づいたスコア(逆順位融合)と加重平均の合計スコアで最終的なスコアを算出する形です。

学術的な指標を用いると、ベクトル検索ではFAISSとOpenAIのtext-embedding-3-largeを使用しています。キーワード検索にはOkapiBM25(キーワード検索の中では1番精度がいいと言われているアルゴリズム)を使用します。
使用するデータセットは弊社の資料(170チャンク)で、クエリとドキュメントが1対1でも紐付いているものです。
評価仕様にはMRRとRecallを使用します。MRRはユーザーの正解を4番目に出したものと1番目に出したものがあったとしたら、1番目に出した方がスコアが高いという仕様です。Recallは、例えばユーザーに5個おすすめしてその中に正解が含まれているかどうかという指標です。

そして、結果は以下の通りです。RFF hybridに関しては先ほど説明した逆順位融合(Reciprocal Rank Fusion)で、その下はweighted sum hybridです。ベクトル検索やキーワード検索とともに高いスコアを出しており、精度が向上しているのが分かります。

続いてリランキングです。リランキングとは、RAGの検索をかけた後にもう一度同じ文章クエリが正しいかどうかをランキング付けするモデルです。例えば、取得した50個のドキュメントの中で上から5個の文章を並べ替えます。

今回はCohereのリランキングAPIを使用しています。結果はhybridでは精度の向上が見られませんでしたが、ベクトル検索とキーワード検索では著しい精度改善が見られました。特にMRRでは先ほどの指標よりも15〜16%ほど改善しています。

ここで注意ですが、ハイブリッド検索によって精度が下がる場合があります。あるデータセットではキーワード検索が足を引っ張って性能が上がらないケースもあります。 また、リランキングには今回CohereのAPIを使用しましたが、コストが結構かかってしまいます。

その一例としてデータセットを使用して検証したところ、ベクトル検索やキーワード検索、hybridでは改善しませんでした。しかし、hybridのrerankモデルを使うと数%ほど改善しました。

実際には、架電業務に特化したnocall.aiというAI電話オペレーターサービスのプロダクトにRAGを活用しています。nocall.aiは人間のようにAIと対話できるのが特徴であり、リマインドの自動化やSaaSオンボーディングのサポート、インサイドセールス電話の自動化などに使われます。
RAGを導入することで、お客様の多岐に渡る内部データへの検索精度が上がって、対応品質の向上に繋がっています。

また、ブラウザ搭載の接客AIアバターも提供しております。画面右下に接客AIアバター(コンシェルジュ)を表示させて、スムーズな会話でAIが接客してくれるサービスです。
実際にアパレルブランドのお客さんから、ブランドや商品情報をRAGで取得したいという要望がありました。自社商品などのニッチな情報にはRAGが強いです。

――まずは丸岡さんの方から技術的な観点やコメント等がございましたらお願いします。
丸岡:初めてプロダクトを拝見しましたが、非常に応答速度が早いと感じます。言える範囲で構いませんので、工夫されているところはありますか。
森本:応答速度は大体1秒以下でできるように作っています。認識した瞬間から処理するイメージです。基本的に私たちのプロダクトは文字起こししてからGPTに投げて、Text-to-Speechで情報をリアルタイムで流す形にしています。
――「RAGの精度評価について、パフォーマンスはどのように評価していったのでしょうか」とのことですが、いかがでしょうか。
森本:基本的にテストデータはドキュメント1個に対してクエリ1個で作りました。ドキュメント全体を見て我々で一旦クエリを書いてから、ChatGPTを使って水増しする形でデータを作成しました。
丸岡:色々試されてハイブリッドに落ち着いたとのことですが、速度面の性能で選ばれたのでしょうか。
森本:そうですね。我々のプロダクトは速度を重視しているので、ユーザーの応答前にクエリの処理をするものは速度的に採用できませんでした。
丸岡:最近GPT-4oも速くなったと言われますが、4と比べても遜色ない速度ではないでしょうか。
森本:4oの内部構造が分からないのではっきりとは言えないですが、4oは0.3秒程度で返すようです。我々は文字起こし→ChatGPT→結果を喋らせるという3段階のステップを踏んでいます。最近発表されたGPT-4oは音声とプロンプトを入れて音声を出すモデルを使用しているのではないかと推測しています。
AI 時代のエンジニア転職は Offers で
あなたのキャリアに合った求人やスカウトが届く、エンジニア向け転職サービスです。
無料ではじめる正社員の求人を探す
Offers Jobs で正社員の求人を探せます。
求人を見る
AIに画面を作らせても、人のレビューは要るのか。デザインハーネスを提唱するこぎそ様が、4層モデルとデモ、レビューコメントから判断基準を育てる実践、人が判断を残すべき領域を語りました
株式会社Lumilinks 代表取締役 / デザイナー
こぎそ 他1名

設計・実装がAIに移った今、人間に残る要求・要件定義をどう考えるか。『良いコード/悪いコードで学ぶ設計入門』著者のミノ駆動様が、文脈・未知の未知・アウトカム・仮説推論の4つの思考と、現場の問いへの答えを語りました
合同会社DMM.com
ミノ駆動 他1名

#GTMLab主宰のなかむらまこと氏とLayerXの飯沼広基氏が登壇。GTMエンジニアは何をエンジニアリングするのか、なぜエンジニア出身が向いているのかを、効率化ではなく売上を伸ばす開発の実践とともに語りました。
#GTMLab 主宰
なかむら まこと 他2名

AIがコードを書く時代にORMをどう選ぶか。KyselyとD1でDBを2回吹き飛ばした溝口浩二(coji)様と、DrizzleとAtlasでスキーマだけを見るKenn Ejima様が、型・マイグレーション・DB選定で人が担う判断を語りました
Dot Product AI, Inc. Founder
Kenn Ejima 他2名

【前編はこちら】 Contents1 ディスカッション・質疑応答1.1 【OSS
バーチャルテックポエマー
紅月/koduki 他1名

Connpass詳細はこちら アーカイブはこちら 2024年09月11日、株式会
バーチャルテックポエマー
紅月/koduki 他1名