評估評審模型

本指南說明如何比較評估模型與人工評估的成效,藉此評估評估模型。

本頁面涵蓋下列主題:

  • 準備資料集:瞭解如何使用人工評分建構資料集,做為評估的實際資料。
  • 可用指標:瞭解用於評估評估模型與人工評估結果一致性的指標。
  • 評估模型指標:查看如何執行評估工作,以及取得評估模型品質分數的程式碼範例。

如果是以模型為準的指標,Gen AI Evaluation Service 會使用基礎模型 (例如 Gemini) 做為評估模型,評估您的模型。如要進一步瞭解評估模型,請參閱進階評估模型自訂系列,瞭解如何使用其他工具評估及設定模型。

如需基本評估工作流程,請參閱 Gen AI Evaluation Service 快速入門進階評估模型自訂系列包含下列頁面:

  1. 評估評估模型 (本頁面)
  2. 提示,要求自訂評估模型
  3. 設定評估模型

總覽

使用人工評估員評估大型語言模型 (LLM) 可能相當耗時費力。使用評估模型是評估 LLM 的更具擴充性方式。Gen AI Evaluation Service 預設會使用已設定的 Gemini 2.0 Flash 模型做為評估模型,並提供可自訂的提示,評估模型在各種用途中的表現。

以下各節說明如何評估自訂評估模型,找出最適合的用途。

指標類型

Gen AI 評估服務會使用兩種以模型為基礎的指標,評估評估模型。

指標類型 說明 用途
PointwiseMetric 根據特定條件 (例如流暢度或安全性),為單一模型的輸出內容指派數值分數。 需要以量表評估單一模型回覆時 (例如:以 1 到 5 分評估實用性)。
PairwiseMetric 比較兩個模型 (候選模型和基準模型) 的輸出內容,並選擇偏好的模型。 需要判斷兩個模型對特定提示的回應哪個較好時。

準備資料集

如要評估以模型為準的指標,您需要準備包含人工評分的評估資料集,做為實際資料。目標是比較模型指標的分數與人工評估結果,判斷模型指標是否符合您的用途。

資料集必須包含人類評分資料欄,對應您要評估的模型指標。下表列出各指標類型所需的真人評估欄:

以模型為基礎的指標 必要的人工評分資料欄
PointwiseMetric {metric_name}/human_rating
PairwiseMetric {metric_name}/human_pairwise_choice

可用的指標

Gen AI Evaluation Service 會根據可能結果的數量提供不同的指標。

二元結果的指標

如果PointwiseMetric只會傳回 2 個分數 (例如 0 和 1),且PairwiseMetric只有 2 種偏好類型 (模型 A 或模型 B),則可使用下列指標:

指標 計算方式
2 類別平衡準確度 \( (1/2)*(True Positive Rate + True Negative Rate) \)
2 類別平衡 F1 分數 \( ∑_{i=0,1} (cnt_i/sum) * f1(class_i) \)
混淆矩陣 使用 confusion_matrixconfusion_matrix_labels 欄位計算真陽性率 (TPR)、真陰性率 (TNR)、偽陽性率 (FPR) 和偽陰性率 (FNR) 等指標。

例如,以下結果:
confusion_matrix = [[20, 31, 15],
    [10, 11,  3],
   [ 3,  2,  2]]
confusion_matrix_labels = ['BASELINE', 'CANDIDATE', 'TIE']
轉換為下列混淆矩陣:
             BASELINE |  CANDIDATE | TIE
   BASELINE.    20         31        15
   CANDIDATE.   10         11         3
   TIE.         3           2         2 |

多個結果的指標

如果 PointwiseMetric 傳回超過 2 個分數 (例如 1 到 5 分),且 PairwiseMetric 具有超過 2 種偏好類型 (模型 A、模型 B 或平手),則可使用下列指標:

指標 計算方式
多類別平衡準確率 \( (1/n) *∑_{i=1...n}(recall(class_i)) \)
多類別平衡 F1 分數 \( ∑_{i=1...n} (cnt_i/sum) * f1(class_i) \)

其中:

  • \( f1 = 2 * precision * recall / (precision + recall) \)

    • \( precision = True Positives / (True Positives + False Positives) \)

    • \( recall = True Positives / (True Positives + False Negatives) \)

  • \( n \) :課程數

  • \( cnt_i \) :基本資料中的 \( class_i \) 數量

  • \( sum \):基本資料中的元素數量

如要計算其他指標,可以使用開放原始碼程式庫。

評估模型式指標

下列範例會使用流暢度的自訂定義更新以模型為準的指標,然後評估指標品質。

from vertexai.preview.evaluation import {
   AutoraterConfig,
   PairwiseMetric,
}
from vertexai.preview.evaluation.autorater_utils import evaluate_autorater


# Step 1: Prepare the evaluation dataset with the human rating data column.
human_rated_dataset = pd.DataFrame({
  "prompt": [PROMPT_1, PROMPT_2],
    "response": [RESPONSE_1, RESPONSE_2],
  "baseline_model_response": [BASELINE_MODEL_RESPONSE_1, BASELINE_MODEL_RESPONSE_2],
    "pairwise_fluency/human_pairwise_choice": ["model_A", "model_B"]
})

# Step 2: Get the results from model-based metric
pairwise_fluency = PairwiseMetric(
    metric="pairwise_fluency",
    metric_prompt_template="please evaluate pairwise fluency..."
)

eval_result = EvalTask(
    dataset=human_rated_dataset,
    metrics=[pairwise_fluency],
).evaluate()

# Step 3: Calibrate model-based metric result and human preferences.
# eval_result contains human evaluation result from human_rated_dataset.
evaluate_autorater_result = evaluate_autorater(
  evaluate_autorater_input=eval_result.metrics_table,
  eval_metrics=[pairwise_fluency]
)

後續步驟