フォーム読み込み中
この記事はソフトバンクアドベントカレンダー2024の最終日前日の24日目の記事です。
普段は、TASUKI AnnotationというRAGデータ作成ツール(データ構造化、回答精度評価のツール)の技術開発をしています。
ビジネス利用では、圧倒的にAzure AIが市場を一歩リードしていますが、最近ではGeminiを導入する企業も出てきました。そのため、今回は2024年12月24日時点で正式リリースの最新モデルとなるGemini1.5を使い、Vertex AI Search上で精度検証を行いました。
Gemini1.5モデルの精度検証の環境として、Google社がAIアプリケーションの開発プラットフォームとして提供しているVertex AI Searchを利用しています。
この環境で構築したAI Chatアプリケーションを使い、検証用に用意した12種類の文書を、ソフトバンクが提供するTASUKI annotationツールにて構造化したデータを用い、またこれにあわせて用意した100問の質問に対する回答により、その精度を検証してみました。
Vertex AI Searchは非常に多機能な開発ツールで、様々なモジュールがあります。今回は簡単にGeminiのRAGを作成することができる、Vertex AIの以下のモジュールを利用しました。
① Cloud Storage:RAGとして取り込む文書を保管するためのモジュールです。
② Agent Builder:Chatアプリを構築するためのモジュールです。
まず最初に、Cloud StorageにRAGとして取り込むべきデータを置く作業を行います。
なお、Vertex AIの利用が初めての方は、無料トライアルへの申し込みが必要です。
Cloud Storageのページを開くと次のような画面が表示されるので、「クイックアクセス」内の「Cloud Storage」をクリックします。
次に①「バケット」→②「バケット作成」と進みます。
バケットはデータを格納する基本的なコンテナで、Cloud Storage内に保存するデータはすべてバケットに格納する必要があります。なお、バケットは入れ子構造にすることはできません。
作成するバケットのパラメータを設定します。
必須項目はバケット名で、それ以外はデフォルトの設定がありますので、必要に応じて変更します(例:データを置くリージョンの指定)。パラメータの変更を行う場合には、選択項目の分類ごとに設定ができます。次の分類に進む場合、「続行」ボタンを押すと次の分類が表示されます。
今回の検証は全てデフォルト設定で行っています。
全てのパラメータの設定が完了したら、一番下にある「作成」をクリックすると、バケットが作成されます。
作成したバケットにRAGに使うデータを置く作業を行います。
RAGのデータを細分化する場合には「フォルダの作成」によりフォルダを作成します。細分化が必要でない場合は、「アップロード」を選択します。「フォルダ」で一括アップロードする方法と「ファイル」を指定する方法のどちらかを選択できます。「フォルダ」を選択するとフォルダごとバケットに登録されます。
登録が完了すると以下のように表示されます。
これでRAGに使用するデータのVertex AI Searchへの登録は完了です。
次にLLMを使うChatアプリの作成を行います。アプリの作成はAgent Builderを使います。
上記のページで、左上にある「Google Cloud」のロゴをクリックすると最初のページに戻るので、そこで文字列検索欄に「Agent Builder」と入力し、「検索」ボタンをクリックします。その後表示される「Agent Builder」をクリックします。
「アプリ」→「新しいアプリ作成」で作成画面に移ります。
アプリ作成は以下の手順で行います。
【種類】
・「ドキュメント検索」にある「作成」をクリックします。
【構成】
・適当なアプリ名を設定します。
・会社名または組織名を設定します。
・「続行」をクリックします。
【データ】
・「データストアを作成」をクリックします。
次にRAGに取り込むデータを指定します。RAGデータは先程Cloud Storageに登録したデータを使います。
アプリ作成では以下の手順で行います。
【ソース】
【Cloud Storageのデータをインポート】
「データ」→「ドキュメント」で、RAGデータとしてCloud Storageに登録したデータが認識されていることを確認します。また、「作業内容」をクリックすると行った処理の履歴が見られるので、ここに「インポートが完了しました エラーなし」と表示されていれば問題なく取り込めたことがわかります。
さらにアプリのチューニングを行います。
①「構成」をクリックします。
②検索のタイプを選択します。
今回は「フォローアップ付きの検索」(サマリーの生成と後続の質問に対するサポートを含む会話型検索)を選択しますが、「回答付きの検索」を選択し、「概要の結果の数」(Top-K)を指定してもよいかと思います。
③大規模言語モデルを選択します。
今回は「Gemini1.5 Flash2」と「Gemini1.5 Pro」を選択しています。 それ以外はデフォルトでも問題ないかと思います。
④「保存して公開」をクリックします。
これで環境は整いましたので、⑤のプレビューのところに質問を入力して動作を確認してみます。
プレビューエリアは次のようになっています。
①質問の入力欄です。
こちらに質問を入力します。
②LLMが生成した回答がここに表示されます。
③回答を生成するために取得したRAGデータの一覧がここに表示されます。
表示されたRAGデータを基にLLMが生成した回答が②に表示されます。
ここから実際に精度検証を行った結果について記載していきます。
検証用に使った構造化データですが、こちらの記事「GPTシリーズのRAG回答精度の比較と構造化データの効果」で使ったデータを利用しています。
Gemini1.5pro preview、Gemini1.5Flash2、前回の検証で回答精度評価を行ったGPT-4o(0805)の結果を表にまとめています。
※2024年12月19日時点でのRAG/LLMを仕様した結果となります。記事執筆時には異なる結果となる可能性があります。
GPT-4o(0805) | Gemini1.5Flash2 | Gemini1.5pro preview | |
---|---|---|---|
テキスト | 100% | 96% | 96% |
表 | 96% | 88% | 88% |
図 | 68% | 64% | 72% |
画像埋め込みの図 | 88% | 60% | 88% |
全体 | 88% | 77% | 84% |
この結果をから分かることは、Gemini1.5の回答精度は全体的にGPT-4oに一歩及ばずと言った感じに見受けられます。
ただ、Gemini1.5proとGPT-4oを比較した場合、「テキスト」、「表」ではGPT-4oに負けていますが、「画像埋め込みの図」ではほぼ同等、「図」に至ってはGPT-4oを上回る結果となっています。
従ってどのような種類のデータをRAGとして扱うかによっては、GPT-4oよりもGemini1.5proの方が適している場合もあるかと思います。
今回の検証ではAgent Builder(Vertex AI Search)をほぼデフォルト設定のまま利用しています。そのためか、人によっては回答結果が冗長な表現にも捉えられます。
そのため、プロンプトを設定して、わかりやすい回答にしてみました。
設定したプロンプトは以下のものになります。
Given the conversation between a user and a helpful assistant and some search results, create a final answer for the assistant. The answer should use all relevant information from the search results, not introduce any additional information, and use exactly the same words as the search results when possible. The assistant's answer should be no more than 1 sentence. |
設定する場所は、
Agent Builder ⇒ アプリを選択 ⇒ 構成 ⇒ UI
「要約をカスタマイズ」になります。
参考までにプロンプトを設定する前後の回答を比較したものを記載します。
質問 | ソフトバンクの地方創生インターンでは、誰のためのインターンシップですか? |
---|---|
想定する回答 | 次の時代を創る"変革リーダー"を目指す学生のためのインターンシップ |
デフォルト設定のGemini1.5pro | ソフトバンクの地方創生インターン「TURE-TECH(ツレテク)」は、次世代の変革リーダーを目指す学生向けのプログラムです。日本の地方自治体が抱える課題解決を目的としており、学生は実際に地方を訪れ、市の職員、地域住民、事業者へのヒアリングを行います。そして最終日には、ICTを活用した課題解決策を市長に提案します。2022年9月には、新型コロナウイルスの影響でフルオンラインで開催され、オンラインインタビューや現地ライブ配信を通して課題解決策を提案しました。 また、ソフトバンクは「情報革命で人々を幸せにする」というミッションを掲げており、このインターンシップを通して、多様なバックグラウンドを持つ学生に現場に触れる機会を提供し、机上の空論で終わらせない実践的な学びの場を提供しています。 |
プロンプト指定のGemini1.5pro | 「TURE-TECH」は、次の時代を創る“変革リーダー”を目指す学生のための、地方自治体が抱える課題を解決するためにICTを用いた解決策を提案する地方創生インターンシッププログラムです。 |
GPT-4o | ソフトバンクの地方創生インターン「TURE-TECH」は、次の時代を創る“変革リーダー”を目指す学生のためのインターンシッププログラムです 。 |
質問は「誰のための?」なので、回答としては「"変革リーダー"を目指す学生」で十分なのですが、デフォルト設定でのGemini1.5proの回答では、地方創生インターンシップの目的、活動内容等の背景までも含めた回答となっており、冗長な回答とも言えます。恐らく質問者の背景(例えば地方創生インターンシップに対する事前知識の有無等)によっては、親切な回答であるとも言えます。従って誰に対して、どのような用途で提供するか、それによっては、GPT-4o、ないしはGemini1.5pro(プロンプト指定あり)の場合が適している場合もあれば、Gemini1.5pro(デフォルト設定)の方が適している場合もあるかと思います。
今回はGemini1.5のモデル検証をVertex AI Searchを利用しておこないました。
Vertex AI Searchは誰でも簡単に精度の高い回答を得られるChatアプリを構築できる良いツールだと感じました。
Geminiに関しては、ビジネスの利用では今一歩GPTに出遅れている印象を持ちましたが、利用料が低廉である事を考えると今後進化を期待したいと思います。
プレビュー版のGemini2.0Flashも公開されています。引き続きウォッチしていきたいと思います。
明日は、ソフトバンクアドベントカレンダー2024最終日です!おたのしみに!
AI開発を加速する最高品質の画像アノテーション代行サービス。
自動アノテーション技術で迅速・安価に高品質な凝視データを作成。
TASUKI Annotation RAGデータ作成ツールは、RAGを高度に活用する際に課題となるポイントをテクノロジーで支援するツールです。
RAGに関する知見がなくても、社内データを活用した精度の高いRAG回答生成を簡単に得ることが可能です。
条件に該当するページがございません