查看及解讀評估結果

本文說明如何查看、視覺化及解讀模型評估結果。涵蓋下列主題:

查看評估結果

定義評估工作後,請執行該工作以取得評估結果:

from vertexai.evaluation import EvalTask

eval_result = EvalTask(
    dataset=DATASET,
    metrics=[METRIC_1, METRIC_2, METRIC_3],
    experiment=EXPERIMENT_NAME,
).evaluate(
    model=MODEL,
    experiment_run=EXPERIMENT_RUN_NAME,
)

eval_result 物件是 EvalResult 類別的例項,內含評估執行結果。主要屬性如下:

  • summary_metrics:評估執行作業的匯總評估指標字典。
  • metrics_tablepandas.DataFrame 資料表,每列包含評估資料集輸入內容、回應、說明和指標結果。
  • metadata:評估執行的實驗名稱和實驗執行名稱。

EvalResult 類別的定義如下:

@dataclasses.dataclass
class EvalResult:
    """Evaluation result.

    Attributes:
      summary_metrics: A dictionary of aggregated evaluation metrics for an evaluation run.
      metrics_table: A pandas.DataFrame table containing evaluation dataset inputs,
        responses, explanations, and metric results per row.
      metadata: the experiment name and experiment run name for the evaluation run.
    """

    summary_metrics: Dict[str, float]
    metrics_table: Optional["pd.DataFrame"] = None
    metadata: Optional[Dict[str, str]] = None

您可以使用輔助函式,在 Colab 筆記本中顯示評估結果,如下所示:

摘要指標和以列為單位的指標表格

以圖表呈現評估結果

您可以在雷達圖或長條圖中繪製摘要指標,以便比較不同評估執行作業的結果。這項視覺化功能有助於評估不同的模型和提示範本。

以下範例以視覺化方式呈現四個指標 (連貫性、流暢度、遵循指令和整體文字品質),這些指標是使用四種不同提示範本生成的回應。雷達圖和長條圖顯示,在所有四項指標中,提示範本 #2 的表現都優於其他範本。這點從指令遵循和文字品質的顯著高分可見一斑。根據這項分析,提示範本 #2 似乎是最有效的選擇。

雷達圖:顯示所有提示範本的一致性、指令遵循程度、文字品質和流暢度分數

長條圖:顯示所有提示範本的連貫性、指令遵循度、文字品質和流暢度平均值

瞭解指標結果

下表大致比較了不同類型的評估指標。

指標類型 說明 用途
PointwiseMetric 根據預先定義的評分標準 (例如 1 到 5 分的品質分數),評估單一模型的回覆。 評估單一模型輸出內容的絕對品質,不與其他模型比較。
PairwiseMetric 比較兩個模型 (候選模型和基準模型) 的回覆,並判斷哪個模型較佳。 直接比較兩個模型或兩種不同的提示,判斷哪個選項較優 (A/B 測試)。
以運算為基礎的指標 根據模型回覆與實際資料參照回覆之間的語意相似度計算分數。 如果提供「正確」或參考答案,系統會自動進行客觀評估。

以下各節列出 metrics_tablesummary_metrics 中包含的例項層級和匯總結果元件,並依指標類型分類。

PointwiseMetric

執行個體層級結果

說明
回應 模型針對提示生成的內容。
分數 根據評分量表和準則給予的回覆評分。分數可以是二元值 (0 和 1)、李克特量表 (1 到 5,或 -2 到 2),或是浮點數 (0.0 到 1.0)。
說明 評估模型提供分數的原因。這項服務會使用連鎖思維推理,引導評估模型說明每個判決的理由,進而提高評估準確度。

匯總結果

說明
平均分數 所有執行個體的平均分數。
標準差 所有分數的標準差。

PairwiseMetric

執行個體層級結果

說明
回應 候選模型針對提示生成的回覆。
baseline_model_response 基準模型為提示生成的回覆。
pairwise_choice 模型會提供較好的回覆。可能的值為 CANDIDATE、BASELINE 或 TIE。
說明 法官模型選擇的原因。

匯總結果

說明
candidate_model_win_rate 評估模型判定候選模型回覆較佳的次數,與回覆總數的比率。範圍介於 0 到 1。
baseline_model_win_rate 法官模型判定基準模型回覆較佳的次數,與回覆總數的比率。範圍介於 0 到 1。

以運算為基礎的指標

執行個體層級結果

說明
回應 要評估的模型回覆。
參考資料 參考回覆。
分數 系統會針對每組回應和參考資料計算分數。

匯總結果

說明
平均分數 所有執行個體的平均分數。
標準差 所有分數的標準差。

範例

本節範例說明如何解讀及瞭解評估結果。

範例 1

這個範例顯示 TEXT_QUALITY 的逐點評估例項。分數為 4 分 (1 到 5 分),表示回覆內容良好。說明顯示法官模型為何給予預測結果 4 分。

資料集

  • prompt:「請以五歲小孩能理解的方式,總結以下文字:社群媒體平台因內容審查政策引發強烈反彈\n 知名社群媒體平台因內容審查政策引發爭議,使用者和內容創作者紛紛表達不滿。使用者指控平台審查偏頗、執法不一致,並壓制特定觀點,引發眾怒,認為平台扼殺言論自由。另一方面,該平台聲稱其政策旨在維護安全且包容的線上環境。這項爭議引發了更廣泛的問題,包括社群媒體在塑造公眾討論中所扮演的角色,以及平台在管理網路內容時應負起的責任。」
  • response:「使用者認為某個網站對他們不公平,因為他們覺得網站限制了可發布的內容。有人說該網站會阻止他們說出想說的話。但網站表示是為了保護所有人的安全。這讓大家不禁懷疑,網站是否應該控管使用者在網路上發表的內容。」

結果

  • score: 4,
  • explanation:回覆中的摘要會按照指示,以五歲兒童也能理解的方式總結脈絡資訊。這項功能會根據內容提供摘要,並在摘要中提供重要詳細資料。不過,回覆內容的用語有點冗長。

範例 2

這個範例是針對 PAIRWISE_QUESTION_ANSWERING_QUALITY 進行的成對比較評估。pairwise_choice 結果表示評估模型認為候選模型回覆比基準模型回覆更適合回答提示中的問題。說明會解釋為何候選回覆較佳,因為內容更實用。

資料集

  • prompt:「請根據以下段落回答法國位於何處。法國位於西歐,法國與比利時、盧森堡、德國、瑞士、義大利、摩納哥、西班牙和安道爾接壤。法國的海岸線沿著英吉利海峽、北海、大西洋和地中海延伸。法國以豐富的歷史、艾菲爾鐵塔等著名地標和美味佳餚聞名,是歐洲和全球的主要文化和經濟強國。
  • response: "法國位於西歐。",
  • baseline_model_response:「法國是個國家。」

結果

  • pairwise_choice:CANDIDATE,
  • explanation:BASE LINE 回覆內容有根據,但未完整回答問題。但「候選人」的回覆正確無誤,並提供法國位置的實用詳細資料。

後續步驟