ゲームプログラマーとしてキャリアをスタートし、ハイパーカジュアルゲームの開発を経験。ChatGPTのローンチをきっかけに生成AIの可能性を感じ、AI開発者への転身を決意。GeniusのCTOとして、nocall.aiのプロジェクトマネジメントを邁進しています。趣味はパーティーを開くことと女装。Connpass詳細はこちらアーカイブはこちら資料はこちらRAGと言えばセマンティック検索(ベクトル検索)です。セマンティック検索では、語句の意味を解釈して検索したり、文脈に沿ってクエリを修正します。今回は、セマンティック検索やRAG周辺技術の問題点と解決策、そして弊社プロダクトへのRAGの活用について紹介していきます。ツイートシェアはてな【Excelテンプレート】開発組織の採用計画とコスト管理シート効果的な採用戦略と予算管理は、開発組織の成功に不可欠です。この課題に対応するため、具体的な数値と実践的なガイドラインを盛り込んだExcelファイルを作成しました。本ファイルには、採用戦略の立案から予算配分まで、具体的な数値とモデルケースを盛り込んでいます。本テンプレートをご活用ください。fusionを使用しても依然として課題は残るハイブリッド検索とリランキングで検索精度を改善する試みRAGを活用したAIが電話対応や接客業務を担う丸岡氏のコメントと視聴者からの質問に答える質問タイムへセマンティック検索の改善は非経済合理的であるセマンティック検索は未学習の単語に対してベクトルを生成する能力が低いのが弱点です。そのため、専門用語や固有名詞、自社内のみで使う用語は検索をかけてもヒットしません。RAGを改善するために、Embeddingモデル自体を改善するのは非経済合理的です。質問に対する回答が全く異なる意味だったり、用語が専門的すぎてベクトル検索に対してEmbeddingできない問題が出てきてしまいます。fusionを使用することが思いつきますが、それぞれ問題があります。Hydeでは生成した仮の文章とドキュメントをマッチングさせて検索します。1回文書を生成しなければいけない分、速度が課題です。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個おすすめしてその中に正解が含まれているかどうかという指標です。結果は以下の通りです。ベクトル検索やキーワード検索とともに高いスコアを出しており、精度が向上しているのが分かります。続いてリランキングです。リランキングとは、RAGの検索をかけた後にもう一度同じ文章クエリが正しいかどうかをランキング付けするモデルです。取得した50個のドキュメントの中で上から5個の文章を並べ替えます。今回はCohereのリランキングAPIを使用しています。結果はhybridでは精度の向上が見られませんでしたが、ベクトル検索とキーワード検索では著しい精度改善が見られました。MRRでは先ほどの指標よりも15〜16%ほど改善しています。ここで注意ですが、ハイブリッド検索によって精度が下がる場合があります。あるデータセットではキーワード検索が足を引っ張って性能が上がらないケースもあります。リランキングには今回CohereのAPIを使用しましたが、コストが結構かかってしまいます。その一例としてデータセットを使用して検証したところ、ベクトル検索やキーワード検索、hybridでは改善しませんでした。hybridのrerankモデルを使うと数%ほど改善しました。RAGを活用したAIが電話対応や接客業務を担う実際には、架電業務に特化した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は音声とプロンプトを入れて音声を出すモデルを使用しているのではないかと推測しています。」は、優秀な人材を獲得したい、でも採用になるべく工数をかけたくない、そんな企業・担当者の皆さまにぴったりのサービスです。いくつもの転職媒体を使って、人材を探し回るのはもう終わり。/まずは無料で資料ダウンロード!【Excelテンプレート】開発組織の採用計画とコスト管理シート効果的な採用戦略と予算管理は、開発組織の成功に不可欠です。この課題に対応するため、具体的な数値と実践的なガイドラインを盛り込んだるExcelファイルを作成しました。本ファイルには、採用戦略の立案から予算配分まで、具体的な数値とモデルケースを盛り込んでいます。本テンプレートをご活用ください。2024-07-25黎明期から使ってきたC#の将来性について考える。2024-02-22毎月拡大を続ける「スニダン」開発組織。VPoE林氏が見据える次の打ち手と、OffersMGRへの期待とはスニーカー&トレカフリマアプリ「スニダン」を運営する株式会社SODA。MGRを導入した同社は、プロダクトの成長に伴って毎月新たなメンバーが増えている。OffersMGRで開発効率を改善し、数値を意識した組織にしていきたい。」を展開するクロスマート株式会社。2023-12-25Webエンジニアから「Salesforceエンジニア」へ。2024-04-11業務委託における経費精算の方法。2024-04-11フリーランスの税金事情。2024-04-11フリーランスで月40万円稼げる職種とは。学ぶ基準の明確化を解説2024-11-01【2024年11月】エンジニア採用コスト削減の方法とは?フルリモートや副業採用のメリットを紹介2024-11-01【2024年11月】エンジニア人材派遣の魅力を探る。