このページでは、モデル評価を実行した後にモデルの評価結果を表示して解釈する方法について説明します。
評価の結果を表示する
評価タスクを定義したら、タスクを実行して評価結果を取得します。
eval_result: EvalResult = eval_task.evaluate(
model=MODEL,
)
EvalResult
クラスは、次の属性を持つ評価の実行結果を表します。
metrics_table
: インスタンスごとの結果。summary_metrics
: リクエストされたすべての指標のすべてのインスタンスの集計結果。metadata
: 評価実行のテスト名とテスト実行名。
EvalResult
クラスは次のように定義されます。
@dataclasses.dataclass
class EvalResult:
"""Evaluation result.
Attributes:
summary_metrics: The summary evaluation metrics for an evaluation run.
metrics_table: A table containing eval inputs, ground truth, and metric
results per row.
metadata: The metadata for the evaluation run.
"""
summary_metrics: Dict[str, float]
metrics_table: Optional["pd.DataFrame"] = None
metadata: Optional[Dict[str, str]] = None
ヘルパー関数を使用すると、次のように評価結果を Colab ノートブックに表示できます。
評価結果を可視化する
要約の指標は、レーダー チャートまたは棒グラフにプロットして、さまざまな評価実行の結果を可視化して比較できます。この可視化は、さまざまなモデルやプロンプト テンプレートの評価に役立ちます。
次の例では、4 つの異なるプロンプト テンプレートを使用して生成されたレスポンスを 4 つの指標(一貫性、流暢性、指示の遵守、全体的なテキスト品質)で可視化しています。レーダーグラフと棒グラフから、プロンプト テンプレート #2 が 4 つの指標すべてで他のテンプレートより常に上回っていることがわかります。これは、指示の実行とテキストの品質のスコアが大幅に高いことからも明らかです。この分析に基づくと、4 つのオプションの中でプロンプト テンプレート #2 が最も効果的であると考えられます。
指標の結果について
次の表に、PointwiseMetric
、PairwiseMetric
、計算ベースの指標について、metrics_table
と summary_metrics
に含まれるインスタンス レベルの結果と集計結果のさまざまなコンポーネントを示します。
PointwiseMetric
インスタンス レベルの結果
列 | 説明 |
---|---|
response | モデルがプロンプトに対して生成したレスポンス。 |
score | 基準と評価ルーブリックに基づいてレスポンスに付けられた評価。スコアは、バイナリ(0 と 1)、リッカート尺度(1~5、-2~2)、浮動小数点数(0.0~1.0)のいずれかです。 |
explanation | 判定モデルがスコアを付けた理由。思考の連鎖を使用して、判定モデルが各判定に対する根拠を説明できるようにします。判定モデルに推論を強制すると、評価精度が向上することが示されています。 |
集計結果
列 | 説明 |
---|---|
mean score | すべてのインスタンスの平均スコア。 |
standard deviation | すべてのスコアの標準偏差。 |
PairwiseMetric
インスタンス レベルの結果
列 | 説明 |
---|---|
response | 候補モデルがプロンプトに対して生成したレスポンス。 |
baseline_model_response | ベースライン モデルがプロンプトに対して生成したレスポンス。 |
pairwise_choice | より良いレスポンスを返すモデル。有効な値は CANDIDATE、BASELINE、TIE です。 |
explanation | 判定モデルが選択した理由。 |
集計結果
列 | 説明 |
---|---|
candidate_model_win_rate | 判定モデルが候補モデルのレスポンスのほうが優れていると判定した時間の割合(レスポンスの合計に対する割合)。範囲は 0~1 です。 |
baseline_model_win_rate | 判定モデルがベースライン モデルのレスポンスのほうが優れていると判定した時間の割合(レスポンスの合計に対する割合)。範囲は 0~1 です。 |
計算ベースの指標
インスタンス レベルの結果
列 | 説明 |
---|---|
response | 評価中のモデルのレスポンス。 |
reference | 参照レスポンス。 |
score | スコアは、レスポンスと参照のペアごとに計算されます。 |
集計結果
列 | 説明 |
---|---|
mean score | すべてのインスタンスの平均スコア。 |
standard deviation | すべてのスコアの標準偏差。 |
例
このセクションの例では、評価結果の読み取りと解釈の方法について説明します。
例 1
最初の例は、TEXT_QUALITY
のポイントワイズ評価です。TEXT_QUALITY
指標のポイントワイズ評価のスコアは 4 です(尺度は 1~5)。これは、レスポンスが良好であることを示しています。さらに、評価結果の説明で、予測がスコア 4 に判断された理由を示しています。スコアは高くも低くもありません。
データセット
prompt
: 「5 歳の子供でも理解できるように次のテキストを要約してください。テキスト: ソーシャル メディア プラットフォームのコンテンツ管理ポリシーをめぐって反発\n著名なソーシャル メディア プラットフォームが、ユーザーやコンテンツ クリエイターからコンテンツ管理ポリシーに対する不満を表明され、論争の的となっています。偏った検閲、一貫性のない適用、特定の視点の抑圧の疑いにより、プラットフォームが言論の自由を抑圧していると主張するユーザーの間で怒りが広がっています。一方、プラットフォームは、ポリシーは安全で包括的なオンライン環境を維持するために設計されていると主張しています。この論争は、ソーシャル メディアが世論を形成する役割と、オンライン コンテンツをキュレートするプラットフォームの責任について疑問を提起しています。」response
: 「ユーザーは、投稿できる内容が公平ではないと考え、ウェブサイトに不満を持っています。ウェブサイトが、ユーザーが言いたいことを言えない状態にしているという意見もあります。しかし、ウェブサイトでは、すべてのユーザーを保護しようとしています。そのため、ウェブ上でユーザーが何を言ったり書いたりできるかをウェブサイトが管理すべきかどうかが問題になります。」
結果
score
: 4。explanation
: レスポンスの概要は、5 歳児が理解できるようにコンテキストを要約するという指示に従っています。コンテキストに基づいており、要約には重要な詳細情報が含まれています。ただし、レスポンスで使用される表現は少し冗長です。
例 2
2 番目の例は、PAIRWISE_QUESTION_ANSWERING_QUALITY
のペアワイズ比較評価です。pairwise_choice
の結果は、プロンプトの質問に回答する際、ベースライン レスポンス「フランスは国です」よりも、候補レスポンス「フランスは西ヨーロッパにある国です」が判定モデルによって優先されていることを示しています。ポイントワイズの結果と同様に、候補モデルのレスポンスがベースライン モデルのレスポンスよりも優れている理由も提供されます(この場合は候補モデルのレスポンスのほうが優れています)。
データセット
prompt
: 「次の段落を読んで、フランスがどこにあるか答えてください。フランスは西ヨーロッパにある国です。国境を接しているのは、ベルギー、ルクセンブルク、ドイツ、スイス、イタリア、モナコ、スペイン、アンドラです。フランスの海岸線は、ドーバー海峡、北海、大西洋、地中海に沿って伸びています。フランスは、豊かな歴史、エッフェル塔などの象徴的なランドマーク、美味しい料理で知られ、ヨーロッパおよび世界における文化的、経済的な大国です。」response
: "フランスは西ヨーロッパにある国です",baseline_model_response
: "フランスは国です",
結果
pairwise_choice
: CANDIDATEexplanation
: BASELINE のレスポンスに根拠はありますが、質問に対する完全な答えにはなっていません。一方、CANDIDATE のレスポンスは正しく、フランスの場所に関する有用な詳細情報を提供しています。
次のステップ
評価用のサンプル ノートブックを試す。
生成 AI の評価について学習する。