フォーム読み込み中
本稿では、Google Cloud Vertex AI Rapid Evaluation APIを利用して、RAG(Retrieval-Augmented Generation)の回答精度の評価を自動化する方法について解説します。主にRAGシステムの検討・導入・構築を行っている開発者向けの記事ですが、ビジネスサイドや事業開発部門の方々にも、ステップバイステップで理解しやすいよう努めております。
大規模言語モデル(LLM)を用いたサービス開発の開発者
大規模言語モデル(LLM)を用いたサービス開発のIT企画責任者
RAGシステムの検討・構築・運用担当者
RAGの精度評価を人が行うのが負担に感じている
RAGの精度評価を自動化したいが、その方法がわからない
RAGの精度評価は理解しているが、適切な指標が定まっていない
RAG(Retrieval-Augmented Generation)は、大規模言語モデル(LLM)と外部知識ソースを連携させることで、LLMが学習していない知識を外部ソースから取得し応答するアプローチです。「検索拡張生成」や「拡張生成」と訳され、日本語では「ラグ」と呼ばれています。
RAG自体の技術的アプローチは新しいものではありませんが、自然な文章を扱えるLLMとの親和性の高さから近年注目を浴びています。現在では、様々な業種の企業で導入やPoCが進行しており、日本国内でもRAGを導入する企業が増えつつあります。
RAGは外部ソース(PDF、PowerPoint、Word などの非構造化データ)から関連する情報を検索し、それをLLMの入力として組み込むことで、より正確で文脈に沿った応答を生成します。LLMの内部知識が更新されるわけではなく、外部知識ソースを使用することで回答の幅が広がる技術です。(図1)
RAGの汎用性の高さや導入後の業務改善のイメージが掴みやすいことから、企業導入の検討が進んでいますが、期待どおりに活用できていない場合も多いようです。よく聞かれる課題として、以下のようなものが挙げられます:
外部知識ソースに対して精度が出ない
回答の精度を人間が評価する必要があるが、非現実的な量である
ボトルネックは特定できているが、改善方法がわからない
上記に対してはそれぞれ以下のようなアプローチが考えられますが、本稿は「2. RAGの精度評価」に主眼を置きます。
ソースファイルをLLMが解釈しやすいように構造化し、精度を向上させる
人による主観的評価(Human Eval)に近い感覚のRAGの回答を評価する仕組みを導入し、効率化する
外部ベンダーのナレッジやLLM関連の支援サービスを活用する
「RAGってGeminiやChatGPTを使ってPDFを検索できるやつでしょ?もちろん知ってるよ!」
RAGについて上記のような大まかなイメージを持っている方は多いと思いますが、RAGがどのようなフローで回答を生成しているか、案外ブラックボックスなのではないでしょうか。大まかに説明すると、以下のようなフローで知識検索 → 回答の生成が行われていると理解いただければ問題ありません。
質問をする:
ユーザーが質問を入力すると、システムはそのクエリを処理するところから始まります。
文書のチャンク化:
事前に文書を特定のサイズ(例えば200文字)でチャンク化し、各チャンクをベクトルデータとして保存します。これにより、情報の検索が効率的に行えるようになります。
ナレッジの検索:
ユーザーの質問に対して、最も関連性の高いチャンク(例えば、top-k=10であれば類似度上位10個のchunk)を外部知識ソースから取得します。この過程で、検索アルゴリズム(例えば、コサイン類似度など)を使用して類似度を計算します。
LLMによる応答生成:
取得したチャンクを元に、LLM(たとえばGeminiなど)が回答を生成します。この際、関連する情報が与えられることで、より具体的で豊富な応答が可能になります。
Rapid Evaluation API では、②で取得したコンテキスト情報と①で受け取ったユーザーの質問文がどれだけ類似しているか、様々な指標(メトリクス)から評価します。
Vertex AIで利用できるモデル精度を計測するためのコンポーネントの1つです。主にAIモデルの回答評価を迅速かつ効率的に行うことができるツールです。
スコアリング:モデルの回答に対して数値評価を提供
根拠説明:各スコアに対する詳細な説明を生成し、評価の透明性を確保
上記機能に加えて、本稿ならではの工夫として回答の評価+αの改善提案ができるようにします。具体的にはGemini Pro1.5を使用し、「質問」「回答」「抽出コンテキスト」「スコア」を相互的に組み合わせ、スコアリングの根拠と回答の改善提案を実施します。
Rapid Evaluation APIでは評価指標をカスタマイズして使用することが可能です。注意点として、評価指標が多すぎると逆に混乱する要因にもなるので、今回はRAGの精度評価の観点から、GroundednessやFullillmentなどの5つの指標に絞ります。
上記指標だけでは何が評価できるのか分かりづらいため、それぞれの指標を分かりやすく整理します。
上記動作環境で開発した構成は以下になります。図の左側がローカル環境、右側がGoogle Cloudの環境です。
PDF(外部知識ソース)をChromaDBにベクトル化
利用者からLangchain LLM ClientにInput(質問)を送信
LLM ClientがVectorDBに対して、Inputと近しい関連コンテキストを抽出
ベクトルDBが関連するコンテキストを返却
k=10の場合、10個のコンテキストを返却(類似度が高い上位10個)
chunk_size=200の場合、1コンテキストあたり200文字のテキストを含む
1と3で得られたInput(質問)ベクトルDBからRetrievalしたコンテキストをGemini Pro 1.5に渡す
4で受け取ったInputをもとに、Gemini Pro 1.5が回答を生成する
LLM Client はInput(質問)、コンテキスト、回答の3つの情報をRapid Evaluationに渡す
Rapid Evaluationは3つの情報をもとに、5つの指標をどれだけ満たしているか評価を行う
スコア情報をもとに、Gemini Pro 1.5が「生成AIの回答」「ユーザーの質問」「抽出コンテキスト」を総合的に評価し、スコアの根拠と改善点を示す
評価された結果をGradio UIに回答として表示する
それではこれまで説明してきた内容とローカルの検証環境上で、PDFデータを対象に回答制度の評価を実施しましょう。以下の図の通り、回答の表示とともにリアルタイムで評価の結果を表示します。
使用するPDFデータはソフトバンク流人的資本経営を使用します。質問と回答はそれぞれ3つです。
ソフトバンクのSmart−AI chatとは?20文字で回答して
ソフトバンクの全社員向けLLM業務利用サービス
[
{
"page_content": "SoftBank Corp.\n37\n38\n© 2024 SoftBank Corp.\nAI利活用の基盤整備\n安全で安心なAI利活用の推進\nソフトバンク版 LLMサービス\n「SmartAI-Chat」\nAIガバナンス基本規程\nの制定\n推進\n基盤\n整備\n※「SmartAI-Chat」はLLMの業務利用を目的に、2023年5月に全従業員に導入された社内向けサービス\n38\n39\nLLMの学習機会\n生",
"metadata": {
"chunk_id": 27,
"page_num": 39
}
},
{
"page_content": "ル\nグループ内最適化\n組織開発\n© 2024 SoftBank Corp.\n35\n36\nテクノロジーの変遷\nLLMは今後、最重要なテクノロジーへ\n© 2024 SoftBank Corp.\n36\n37\nLLMに関する取組み\n全社員がLLMを使い倒すための環境作り\nとにかくまずは使い倒す\nための各種取組み\nAI利活用の基盤整備\nLLMの学習機会\n活用コンテストの開催\nLLM\n© 2024 ",
"metadata": {
"chunk_id": 26,
"page_num": 37
}
},
{
"page_content": "成AIの学習コンテンツを様々用意\n© 2024 SoftBank Corp.\nChat GPT特訓コース動画\nChat GPT活用講演会\n全4回10日で\n延べ約15,000人受講\n2,800人受講\n39\n40\n活用コンテストの開催\nLLMの学習コンテンツを様々用意\nLLM活用コンテスト\n(ソフトバンクグループ企業内で実施)\n提案数累計:約15万件\na\n総額:2,500万円\n賞金1位:1,000",
"metadata": {
"chunk_id": 28,
"page_num": 40
}
},
{
"page_content": "AIリサーチャー\nE資格\nオンライン\nプログラミング\nAxross\n(レシピ学習)\nAI企画力向上\nプログラム\nAI基礎\neラーニング\n電子書籍\nUdemy\nG検定\nAI開発\n体験研修\nAIプロジェクト\n推進力向上研修\nAI商材提案\nケーススタディ\n研修\n1,537名取得\n7,800名受講\n100名取得\n© 2024 SoftBank Corp.\n23\n約80%\n内製化\n内製/外注比率\n内製\n外注",
"metadata": {
"chunk_id": 19,
"page_num": 24
}
},
{
"page_content": "SS」「ITSS+」等\nレベル\nスペシャリスト向け\n企画・開発人材向け\n活用人材向け\n基礎\n※部門(現場)とも連携\n※部門(現場)とも連携\n「AI Campus」\n© 2024 SoftBank Corp.\n22\n23\nSBU Tech 概要\nAI人材育成プログラム「AI Campus」\nAIの基礎的なことが\nわかる人材\nAIを活用できる人材\nAIを\n実装できる人材\nLv.1\nLv.2\nLv.3\n",
"metadata": {
"chunk_id": 18,
"page_num": 23
}
}
]
評価項目 | スコア | 説明 | 改善点 |
根拠の有無 (Groundedness) | 1 (根拠あり) | 回答は、コンテキスト情報に記載されている「SmartAI-Chat」がソフトバンク社員向けに導入されたLLMサービスであることと一致しています。 | 回答にサービス名を含めることで、より正確で詳細な回答になります。例: 「SmartAI-Chat:ソフトバンク社員向けLLM業務利用サービス」 |
指示への適合度 (Fulfillment) | 4 (指示にほぼ沿っている) | 質問「ソフトバンクのSmart−AI chatとは?20文字で回答して」に対して、Geminiは「ソフトバンク社員向けLLM業務利用サービス」と20文字以内で回答しています。 | サービス名を明示的に含めることで、完全に指示に沿う形になります。例: 「SmartAI-Chat:社員向けLLMサービス」 |
回答の質 (Question Answering Quality) | 4 (良い) | SmartAI-Chatがソフトバンク社員向けのサービスであること、LLMを利用したサービスであることを簡潔に説明しており、全体として質の高い回答と言えるでしょう。 | サービス名を含めて回答することで、より質の高い回答になります。 |
関連性 (Question Answering Relevance) | 5 (関連性が高い) | 質問「ソフトバンクのSmart−AI chatとは?」に対して、SmartAI-Chatの目的や対象ユーザーを的確に説明しており、質問内容と高い関連性を持っています。 | 特になし。 |
有用性 (Question Answering Helpfulness) | 4 (ある程度役に立つ) | SmartAI-Chatの概要を理解する上で役立つ情報を提供しています。 | 具体的な活用方法やメリットなどを加えることで、よりユーザーにとって役に立つ情報になります。例: 「ソフトバンク社員が業務で利用できるLLMサービス。業務効率化や新しいアイデア創出などに活用されている。」 |
[
{
"page_content": "成AIの学習コンテンツを様々用意\n© 2024 SoftBank Corp.\nChat GPT特訓コース動画\nChat GPT活用講演会\n全4回10日で\n延べ約15,000人受講\n2,800人受講\n39\n40\n活用コンテストの開催\nLLMの学習コンテンツを様々用意\nLLM活用コンテスト\n(ソフトバンクグループ企業内で実施)\n提案数累計:約15万件\na\n総額:2,500万円\n賞金1位:1,000",
"metadata": {
"chunk_id": 28,
"page_num": 40
}
},
{
"page_content": "ル\nグループ内最適化\n組織開発\n© 2024 SoftBank Corp.\n35\n36\nテクノロジーの変遷\nLLMは今後、最重要なテクノロジーへ\n© 2024 SoftBank Corp.\n36\n37\nLLMに関する取組み\n全社員がLLMを使い倒すための環境作り\nとにかくまずは使い倒す\nための各種取組み\nAI利活用の基盤整備\nLLMの学習機会\n活用コンテストの開催\nLLM\n© 2024 ",
"metadata": {
"chunk_id": 26,
"page_num": 37
}
},
{
"page_content": "SoftBank Corp.\n37\n38\n© 2024 SoftBank Corp.\nAI利活用の基盤整備\n安全で安心なAI利活用の推進\nソフトバンク版 LLMサービス\n「SmartAI-Chat」\nAIガバナンス基本規程\nの制定\n推進\n基盤\n整備\n※「SmartAI-Chat」はLLMの業務利用を目的に、2023年5月に全従業員に導入された社内向けサービス\n38\n39\nLLMの学習機会\n生",
"metadata": {
"chunk_id": 27,
"page_num": 39
}
},
{
"page_content": "AIリサーチャー\nE資格\nオンライン\nプログラミング\nAxross\n(レシピ学習)\nAI企画力向上\nプログラム\nAI基礎\neラーニング\n電子書籍\nUdemy\nG検定\nAI開発\n体験研修\nAIプロジェクト\n推進力向上研修\nAI商材提案\nケーススタディ\n研修\n1,537名取得\n7,800名受講\n100名取得\n© 2024 SoftBank Corp.\n23\n約80%\n内製化\n内製/外注比率\n内製\n外注",
"metadata": {
"chunk_id": 19,
"page_num": 24
}
},
{
"page_content": "万円\n1回あたり\n© 2024 SoftBank Corp.\n41\nとにかくまずは使い倒す\nための各種取組み\nLLMに関する取組み\nAI利活用の基盤整備\nLLMの学習機会\n活用コンテストの実施\n使い倒す→日本一LLMを活用する企業へ\n徹底的な社内業務\n効率化\n産業変革の武器となる\n事業化\nCost DOWN\nコンテスト案件の\n事業化検討の為\nCEO直轄新組織\n「AIプロジェクト\n推進室」を設",
"metadata": {
"chunk_id": 29,
"page_num": 41
}
}
]
評価項目 | スコア | 説明 | 改善点 |
根拠の有無 (Groundedness) | 1 (根拠あり) | 回答は提供されたコンテキスト情報にほぼ基づいています。例えば、「延べ約15,000人が参加し、累計約15万件の提案」や「賞金総額は2,500万円で、1位には1,000万円」といった情報は、コンテキスト情報から直接的に抽出されています。また、「CEO直轄の新組織「AIプロジェクト推進室」にてさらに検証が進められています。」という記述もコンテキスト情報と一致しています。 | コンテストの目的として「社員のLLM活用促進と、社内業務の効率化、さらには産業変革につながる事業創出を目的としています。」と記述されていますが、コンテキスト情報からは「徹底的な社内業務効率化」「産業変革の武器となる事業化」といったキーワードは確認できますが、「社員のLLM活用促進」というキーワードは明確には読み取れません。この部分については、コンテキスト情報と回答の整合性をより高めるために、コンテキスト情報から「社員のLLM活用促進」を裏付ける記述を探るか、表現を修正する必要があります。 |
指示への適合度 (Fulfillment) | 4 (指示にほぼ沿っている) | ソフトバンクのLLM活用コンテストの目的と実績について、400文字程度で分かりやすく説明するという指示にほぼ沿っています。目的と実績を分けて記述し、コンテキスト情報から適切な情報を抽出しています。また、箇条書きや太字などを用いて見やすく整理されています。 | 文字数は400文字程度という指示に対して、回答は約300文字と少し短くなっています。より詳細な情報を加えることで、文字数を増やし、指示に完全に沿うように改善できます。例えば、コンテストで生まれた具体的なアイデアや、「AIプロジェクト推進室」での検証内容について、コンテキスト情報から読み取れる範囲で追記することが考えられます。 |
回答の質 (Question Answering Quality) | 4 (良い) | ソフトバンクのLLM活用コンテストについて、目的と実績を明確に記述しており、全体的に分かりやすくまとめられています。コンテキスト情報から重要な情報を適切に抽出しており、誤った情報や矛盾した情報も含まれていません。 | コンテストの目的や実績について、より具体的な事例や数値などを加えることで、回答の質をさらに向上させることができます。例えば、コンテストで生まれた具体的なアイデアや、そのアイデアがどのように社内業務の効率化や産業変革に貢献するかについて、コンテキスト情報や外部情報を参考に記述することが考えられます。 |
関連性 (Question Answering Relevance) | 5 (関連性が高い) | 質問の内容である「ソフトバンクのLLM活用コンテストの目的と実績」に完全に合致しています。コンテスト以外の情報や無関係な情報は含まれていません。 | 特になし。 |
有用性 (Question Answering Helpfulness) | 4 (ある程度役に立つ) | ソフトバンクのLLM活用コンテストについて、基本的な情報を得る上で役立ちます。目的と実績が明確に記述されており、コンテストの概要を理解することができます。 | コンテストの目的や実績について、より詳細な情報を加えることで、回答の有用性をさらに高めることができます。例えば、コンテストで生まれた具体的なアイデアや、AIプロジェクト推進室での検証内容、今後の展望などについて記述することで、より深い理解を得られるようになり、ユーザーにとってより有用な情報となるでしょう。 |
ソフトバンクの女性活躍推進の施策について箇条書きで要点だけ洗い出して。また、最後に表でまとめて。
## ソフトバンクの女性活躍推進の施策(箇条書き)
## ソフトバンクの女性活躍推進の施策(表)
| 項目 | 内容 |
|---|---|
| 目標 | 女性管理職比率向上 |
| 具体的な施策 | * 無意識バイアス是正<br> * 女性社員の挑戦意欲向上<br> * 管理職/リーダーへの挑戦志向を持つ女性社員を増やす<br> * 外部の専門家監修によるeラーニング展開 |
| 推進体制 | 女性活躍推進委員会/推進会議 |
| 委員会/会議の役割 | * 方針審議<br> * KPI進捗確認<br> * 施策議論 |
ベクトルDBから抽出されているコンテキスト情報(200文字 × 5チャンク)
[
{
"page_content": "比率向上\n・無意識バイアス是正\n(特に根深いジェンダーバイアスから)\n・多様性の拡大\n(国籍/障がい/LGBTQ)\n・個々の多様性を受容/活用\n・全社員の能力発揮\nまずは「女性活躍推進」から取組み、将来的にD&I推進につなげる\nソフトバンクとしての方向性\n© 2024 SoftBank Corp.\n51\n52\n推進会議\n女性活躍推進委員会\n委員長\n宮川社長\n推進委員\n各部門役員\n推進メンバー(委員",
"metadata": {
"chunk_id": 39,
"page_num": 52
}
},
{
"page_content": "と相談\nできる機会をつくる\n外部の専門家監修もと\n内製でeラーニング展開\n管理職/リーダーへの\n挑戦志向を持つ女性社員\nを増やす\n© 2024 SoftBank Corp.\n56\n健康経営の推進\nウェルビーイング\n© 2024 SoftBank Corp.\n57\n58\n健康経営マップ\n目標やアクションを\n一つにまとめた\n戦略マップを策定\n© 2024 SoftBank Corp.\n58\n59\n59",
"metadata": {
"chunk_id": 48,
"page_num": 59
}
},
{
"page_content": "験)\n新卒の報酬\n特例処遇\n全体報酬水準への対応\n(賃上げ)\n高市場価値人材群の処遇\nプロフェッショナル・コントラクト制度\n高報酬の有期雇用\n© 2024 SoftBank Corp.\n49\n50\n女性活躍推進\nDE&I\n© 2024 SoftBank Corp.\n50\n51\nSTEP1\n女性活躍推進\nSTEP2\nダイバーシティ推進\nSTEP3\nダイバーシティ&\nインクルージョン推進\n・女性管理職",
"metadata": {
"chunk_id": 38,
"page_num": 51
}
},
{
"page_content": "組み\n活躍機会の拡大\n会社への貢献\n再掲\n© 2024 SoftBank Corp.\n71\n",
"metadata": {
"chunk_id": 61,
"page_num": 71
}
},
{
"page_content": "による指名者)\nアドバイザー\n開催\n目的\n・全社の方針審議\n・KPI進捗の確認\n・全社施策議論\n開催\n・半期に一度\n推進メンバー(委員による指名者)\nアドバイザー\n会議\n内容\n・全社施策・KPIの進捗確認\n・各統括取組みの共有\n・有識者との議論\n開催\n・四半期に一度\n女性管理職比率目標の達成に向け取組強化を目的とし設置\n女性活躍推進委員会/推進会議について\n© 2024 SoftBank Corp",
"metadata": {
"chunk_id": 40,
"page_num": 52
}
}
]
評価項目 | スコア | 説明 | 改善点 |
根拠の有無 (Groundedness) | 1 (根拠あり) | 提供されたコンテキスト情報と概ね一致しています。例えば、「女性管理職比率向上」「無意識バイアス是正」「女性社員の挑戦意欲向上」「外部の専門家監修によるeラーニング展開」「女性活躍推進委員会/推進会議」といった内容は、コンテキスト情報のスライド50~52, 56に記載されています。 | ただし、コンテキスト情報には「多様性の拡大(国籍/障がい/LGBTQ)」「個々の多様性を受容/活用」「全社員の能力発揮」といった内容も含まれていますが、Geminiの回答では触れられていません。これらの情報も盛り込むことで、より網羅的な回答になるでしょう。 |
指示への適合度 (Fulfillment) | 5 (指示に完全に沿っている) | 「ソフトバンクの女性活躍推進の施策について箇条書きで要点だけ洗い出して。また、最後に表でまとめて。」という指示に対して、箇条書きと表の両方で回答を生成しており、指示に完全に沿っています。 | 特になし。 |
回答の質 (Question Answering Quality) | 4 (良い) | ソフトバンクの女性活躍推進の施策について、箇条書きと表を用いて分かりやすくまとめています。箇条書きでは主要な施策を簡潔に示し、表では目標、具体的な施策、推進体制、委員会/会議の役割といった項目を整理して提示しています。 | 表の「具体的な施策」の欄に、複数の施策が改行で羅列されています。施策ごとに分けて行を追加することで、より見やすくなるでしょう。 |
関連性 (Question Answering Relevance) | 5 (関連性が高い) | 「ソフトバンクの女性活躍推進の施策」という質問に対して、的確に答えており、関連性は非常に高いです。 | なし |
有用性 (Question Answering Helpfulness) | 4 (ある程度役に立つ) | ソフトバンクの女性活躍推進の施策の概要を理解するのに役立ちます。箇条書きと表で情報が整理されているため、内容を把握しやすいです。 | コンテキスト情報に記載されている「多様性の拡大」や「個々の多様性を受容/活用」といった内容も盛り込むことで、より有用性が高まるでしょう。 |
設計したとおりに、5つの評価指標に対してスコアリングとスコアの根拠、改善提案までを自動化することができました。さらに、Rapid Evaluationの検証を通して2つの考察を得ることができました。
ハルシネーションを抑えることに執着するのではなく、回答そのものが質問者にとって”有益であるか”、質問と”関連する回答”を返しているか、”指示を守れているか”など、Groundedness以外の指標も計測することで、業務支援ツールとしての総合的な良し悪しを計測することができました。RAGは正確性が大切なのは言わずもがなですが、ハルシネーションを恐れ、それ以外を犠牲にしてはユーザーにとって使いやすいシステムとは言えません。したがって、回答の質を多角的に評価することで、根拠以外の品質に注目することが不可欠です。
Rapid Evaluationで評価を数値化できるだけでも価値がありますが、システムを更に良くしていくためにはスコアから次の打ち手を決めていく必要があります。今回は、RAGが生成した回答、コンテキスト、質問文とRapid Evaluationの評価スコアを用いて、Geminiに改善提案をさせることによって、より理想的な回答を生成させるヒントを得ることができています。本稿に続く”Gemini Pro 1.0を利用したファインチューニングの概要と適用すべきユースケース”と組み合わせることによって、改善提案された回答をファインチューニングのトレーニングデータとして利用するなどの組み合わせも検討ができます。
本稿ではRapid Evaluation APIを活用したRAGシステムの精度評価の自動化を試みました。Rapid Evaluation APIはVertex AIの機能として統合されており、Google Cloudのアカウントさえあればどなたでもすぐに利用することができます。本稿の内容が参考になったという方は、是非Google Cloudを活用してみてはいかがでしょうか。
ソフトバンクではGoogle Cloudに関する支援を行っておりますので、各種サービスのご活用もご検討いただけると幸いです。
Vertex AI Search を使って社内文書検索環境(RAG)を構築してみませんか?ソフトバンクのエンジニアが構築をサポートします。
Vertex AI DIY プランでは、以下の3つのことをご体験いただけます。詳細は、関連サービスにある「Vertex AI DIYプラン」をご確認ください。
条件に該当するページがございません