grasys blog

Vertex AI モデル評価: Pointwise Evaluation 実践ガイド

Vertex AI におけるモデル評価シリーズへようこそ。
これまでの記事では、モデル評価の基礎や、評価に必要なデータセット・メトリクス・各種設定の準備方法について学んできました。

今回は、実際に Pointwise Evaluation を使ったエンドツーエンドの評価を体験していきます。
評価環境のセットアップから実行、結果の確認まで、一連の流れを実践形式で解説します。

Pointwise Evaluation とは?

まずは簡単に振り返っておきましょう。
Pointwise Evaluation は、「この回答はどの程度良いのか?」を評価するための手法です。
単一のモデル出力に対して、あらかじめ定義した評価基準(Safety、Faithfulness、Quality など)を用いてスコアリングを行い、モデルの性能を定量的に評価します。
複数モデルを比較する Pairwise Evaluation とは異なり、1つの応答そのものを評価対象とするのが特徴です。

すべてをつなげる: エンドツーエンド実践例

ここからは、Pointwise Evaluation を実際に実行する具体例を見ていきます。
今回は、実運用でも特によく使われる2つの代表的なパターンを取り上げます。

例1: Full Pointwise Evaluation(Live Model)

最も一般的な評価パターンです。
Vertex AI のデプロイ済みのモデルに対して、新しい評価用プロンプトを使い、モデルの性能を評価します。

この例で行うこと

  • gemini-2.5-flash を評価
  • prompt のみを含むデータセットを使用
  • モデルがレスポンスをリアルタイム生成
  • safety と question_answering_quality を用いて評価

処理の流れ

  1. EvalTask にモデルと評価データセットを渡す
  2. 各プロンプトに対してレスポンスを生成
  3. 評価メトリクスでスコアリング
  4. 結果を Vertex AI Experiments に保存

今回のデータセットには prompt カラムのみが含まれています。
response カラムは不要で、評価時に GenerativeModel がレスポンスを生成します。

それでは、実際のコードを見ていきましょう。

評価実行後の出力

評価スクリプトの実行が完了すると、以下のような結果を確認できます。

出力結果の見方

評価完了後は、result オブジェクトを使って結果を確認できます。
このオブジェクトには、主に以下の2つの重要な属性があります。

  • result.summary_metrics
    • 各メトリクスの平均スコアをまとめた概要情報です。データセット全体に対するモデルの総合的な性能を、素早く把握するのに役立ちます。
  • result.metrics_table
    • pandas.DataFrame 形式で出力される詳細結果テーブルです。各サンプルごとの評価結果が含まれており、以下の情報を確認できます。
      • 元の prompt
      • モデルが生成した response
      • 各メトリクスのスコア

個別のレスポンス品質を詳しく分析したい場合に便利です。

例2: Full Pointwise Evaluation(Bring-Your-Own-Response)

事前に用意したレスポンスを使って評価を行うパターンです。
Vertex AI 上で生成したレスポンスだけでなく、外部モデルや過去に生成済みの出力に対しても評価を実施できます。

この例で行うこと

  • promptresponse を含むデータセットを使用
  • レスポンス生成ステップをスキップ
  • 既存レスポンスに対して評価のみを実施
  • safetyquestion_answering_quality を用いて評価

処理の流れ

  1. EvalTaskpromptresponse を含むデータセットを渡す
  2. 提供済みレスポンスに対してスコアリングを実行
  3. 評価結果を Vertex AI Experiments に保存

この方法は、過去に生成したデータの分析や、事前生成済みテキストの一括評価に非常に便利です。

それでは、実際のコードを見ていきましょう。

評価実行後の出力

評価スクリプトの実行が完了すると、以下のような結果を確認できます。

出力結果の見方

評価完了後は、result オブジェクトを使って結果を確認できます。
主に以下の2つの属性が利用できます。

  • result.summary_metrics
    • 各メトリクスの平均スコアをまとめた概要情報です。
    • データセット全体に対するモデルの総合的な性能を素早く把握できます。
  • result.metrics_table
    • pandas.DataFrame 形式で出力される詳細結果テーブルです。各サンプルごとの評価結果が含まれており、以下の情報を確認できます。
      • 元の prompt
      • 提供した response
      • 各メトリクスごとのスコア

個別レスポンスの品質を詳しく分析したい場合に便利です。

次回予告

お疲れさまでした。
これで、Pointwise Evaluation を使ったモデル評価の基本的な流れを実践できるようになりました。

Pointwise Evaluation を活用することで、モデル品質を定量的に把握し、改善の方向性をデータに基づいて判断できるようになります。

一方で、実際の開発では次のような課題も出てきます。

  • 新旧モデルを比較したい
  • プロンプト変更の効果を確認したい
  • 複数モデルのうち、どちらを採用すべきか判断したい

こうしたケースでは、単一モデル評価ではなく、モデル同士を比較する評価手法が必要になります。

次回の Part 4 では、Pairwise Evaluation 実践ガイド として、「A vs. B」形式でモデルを比較評価する方法を解説します。

実際の評価フローを通して、どちらのモデルがより優れているのかを確認していきます。

Vertex AI のモデル評価について他の記事も書いているので、よろしければこちらもご覧ください!
> 『Vertex AI モデル評価』シリーズ一覧


採用情報
お問い合わせ