評估生成式模型或應用程式的第一步,是找出評估目標並定義評估指標。本頁面概略說明與定義用途評估指標相關的概念。
總覽
生成式 AI 模型可用於建立各種應用程式,例如摘要新聞報導、回覆顧客查詢,或協助編寫程式碼。Vertex AI 的 Gen AI Evaluation Service 可用來評估任何模型,並提供可解釋的指標。
舉例來說,您可能正在開發應用程式來摘要文章。如要評估應用程式在特定工作上的效能,請考慮您想評估的條件,以及用來評分的指標:
條件:您想評估的一或多個維度,例如
conciseness
、relevance
、correctness
或appropriate choice of words
。指標:用來評估模型輸出內容是否符合條件的單一分數。
Gen AI Evaluation Service 提供兩大類指標:
模型式指標:模型式指標會根據評估模型評估候選模型。在大多數情況下,評估模型為 Gemini,但您也可以使用 MetricX 或 COMET 等模型進行翻譯。
您可以評估逐對或逐點模型指標:
逐點指標:讓評估模型根據評估準則評估候選模型的輸出內容。舉例來說,分數範圍可能是 0 到 5 分,0 分表示回覆不符合條件,5 分表示回覆完全符合條件。
成對指標:讓評估模型比較兩個模型的回應,並選出較好的回應。比較候選模型與基準模型時,通常會使用這項指標。只有在 Gemini 做為評估模型時,才支援成對指標。
以計算為基礎的指標:這類指標會使用數學公式計算,比較模型的輸出內容與基準真相或參考資料。常用的以運算為基礎的指標包括 ROUGE 和 BLEU。
您可以單獨使用以運算為基礎的指標,也可以與以模型為基礎的指標搭配使用。請參閱下表,瞭解何時該使用以模型為準或以計算為準的指標:
評估方法 | 資料 | 成本和速度 | |
---|---|---|---|
以模型為準的指標 | 使用評估模型,根據描述性評估標準評估成效 | 真值為選填欄位 | 費用稍高,速度較慢 |
以運算為準的指標 | 使用數學公式評估成效 | 通常需要提供基準真相 | 成本低廉且快速 |
定義以模型為基準的指標
以模型為基準的評估是指使用機器學習模型做為評估模型,評估候選模型的輸出內容。
Google 專有的評估模型 (例如 Gemini) 會經過人工評估人員校正,確保品質。這些功能會由系統管理,並可立即使用。模型式評估程序會根據您提供的評估指標而有所不同。
以模型為基準的評估程序如下:
準備資料:您以輸入提示的形式提供評估資料。候選模型會收到提示,並生成相應的回覆。
評估:評估指標和生成的回覆會傳送至評估模型。評估模型會個別評估每個回覆,並提供以列為單位的評估結果。
匯總和說明:Gen AI Evaluation Service 會將這些個別評估結果匯總為總分。輸出內容也會針對每項判斷提供思緒鏈結說明,列出選取背後的理由。
Gen AI Evaluation Service 提供下列選項,可透過 Vertex AI SDK 設定以模型為基礎的指標:
選項 | 說明 | 適用情境 |
---|---|---|
使用現有範例 | 使用預先建構的指標提示範本開始作業。 | 常見用途,節省時間 |
使用範本介面定義指標 | 取得指標定義的引導式輔助。範本介面提供結構和建議。 | 透過支援服務進行自訂 |
從頭開始定義指標 | 完全掌控指標定義。 | 非常適合用於高度特定的用途。需要更多技術專業知識和時間投入。 |
舉例來說,您可能想開發生成式 AI 應用程式,回覆流暢且有趣的內容。針對這個應用程式,您可以使用範本介面定義兩項評估條件:
流暢度:句子流暢,避免使用突兀的措詞或冗長的句子。想法和句子之間有邏輯關聯,並視需要有效使用轉折語。
娛樂:簡短有趣的文字,並加入表情符號、驚嘆號和問號,傳達快速、即時的溝通和娛樂效果。
如要將這兩項條件轉換為指標,您需要一個介於 -1 到 1 的整體分數,稱為 custom_text_quality
。您可以定義如下指標:
# Define a pointwise metric with two criteria: Fluency and Entertaining.
custom_text_quality = PointwiseMetric(
metric="custom_text_quality",
metric_prompt_template=PointwiseMetricPromptTemplate(
criteria={
"fluency": (
"Sentences flow smoothly and are easy to read, avoiding awkward"
" phrasing or run-on sentences. Ideas and sentences connect"
" logically, using transitions effectively where needed."
),
"entertaining": (
"Short, amusing text that incorporates emojis, exclamations and"
" questions to convey quick and spontaneous communication and"
" diversion."
),
},
rating_rubric={
"1": "The response performs well on both criteria.",
"0": "The response is somewhat aligned with both criteria",
"-1": "The response falls short on both criteria",
},
),
)
如需指標提示範本的完整清單,請參閱「評估用的指標提示範本」。
評估翻譯模型
Gen AI Evaluation Service 提供下列翻譯工作評估指標:
MetricX 和 COMET 是以模型為基礎的逐點指標,經過訓練可執行翻譯工作。您可以評估內容的翻譯模型結果品質和準確度,無論這些結果是 NMT、TranslationLLM 或 Gemini 模型輸出。
您也可以將 Gemini 當做評估模型,搭配 MetricX、COMET 或 BLEU,評估模型的流暢度、連貫性、冗贅程度和文字品質。
MetricX 是 Google 開發的錯誤指標,可預測介於 0 到 25 之間的浮點分數,代表翻譯品質。MetricX 可做為參照式和無參照式 (QE) 方法。使用這項指標時,分數越低越好,因為這代表錯誤較少。
COMET 採用以參照為準的迴歸方法,提供 0 到 1 的分數,其中 1 代表完美翻譯。
BLEU (雙語評估研究) 是以運算為基礎的指標,BLEU 分數表示候選文字與參考文字的相似程度。BLEU 分數越接近 1,表示翻譯越接近參考文字。
請注意,我們不建議使用 BLEU 分數比較不同語料庫和語言。舉例來說,英文到德文的 BLEU 分數 50,與日文到英文的 BLEU 分數 50 無法比較。許多翻譯專家已改用以模型為基礎的指標方法,這類方法與人工評估的相關性較高,且能更精細地識別錯誤情境。
如要瞭解如何執行翻譯模型評估作業,請參閱「評估翻譯模型」。
選擇逐點評估或逐對評估
請參閱下表,決定何時要使用逐點或成對評估:
定義 | 使用時機 | 應用實例 | |
---|---|---|---|
逐點評估 | 評估一個模型,並根據您設定的標準生成分數 |
|
|
逐對評估 | 比較兩個模型,根據條件產生偏好設定 |
|
|
以運算為基礎的指標
運算式指標會比較 LLM 生成的結果,是否與輸入/輸出配對的基準真相資料集一致。常用的指標可分為下列幾類:
- 語彙型指標:使用數學計算 LLM 生成結果與事實之間的字串相似度,例如
Exact Match
和ROUGE
。 - 以計數為準的指標:彙整符合或不符合特定實際標籤的資料列數量,例如
F1-score
、Accuracy
和Tool Name Match
。 - 以嵌入為準的指標:計算嵌入空間中 LLM 生成結果與基準真相之間的距離,反映兩者的相似程度。
一般文字產生
您可以根據下列指標評估模型是否能確保回覆內容對使用者實用、安全且有效。
完全比對
exact_match
指標會計算模型回應是否與參照完全相符。
- 權杖限制:無
評估標準
不適用。
指標輸入參數
輸入參數 | 說明 |
---|---|
response |
LLM 回覆。 |
reference |
做為參考的黃金 LLM 回覆。 |
輸出分數
值 | 說明 |
---|---|
0 | 不相符 |
1 | 相符 |
BLEU
bleu
(雙語評估研究) 指標會顯示演算法的結果,用於評估從一種自然語言翻譯成另一種自然語言的回覆品質。回應品質是指 response
參數與 reference
參數之間的對應程度。
- 權杖限制:無
評估標準
不適用。
指標輸入參數
輸入參數 | 說明 |
---|---|
response |
LLM 回覆。 |
reference |
參考資料的黃金 LLM 回覆。 |
輸出分數
值 | 說明 |
---|---|
介於 [0,1] 範圍內的浮點數 | 分數越高表示翻譯品質越好。分數 1 代表與 reference 完全相符。 |
ROUGE
ROUGE
指標用於比較提供的 response
參數與 reference
參數。所有 rouge
指標都會傳回 F1 分數。系統預設會計算 rouge-l-sum
,但您可以指定要使用的 rouge
變體。
- 權杖限制:無
評估標準
不適用
指標輸入參數
輸入參數 | 說明 |
---|---|
response |
LLM 回覆。 |
reference |
參考資料的黃金 LLM 回覆。 |
輸出分數
值 | 說明 |
---|---|
介於 [0,1] 範圍內的浮點數 | 分數越接近 0 ,表示 response 和 reference 之間的相似度越低。分數越接近 1 ,表示 response 和 reference 越相似。 |
工具使用和函式呼叫
下列指標可協助您評估模型預測有效工具 (函式) 呼叫的能力。
通話有效
tool_call_valid
指標說明模型預測有效工具呼叫的能力。系統只會檢查第一個工具呼叫。
- 權杖限制:無
評估標準
評估標準 | 說明 |
---|---|
有效性 | 模型輸出內容包含有效的工具呼叫。 |
格式設定 | JSON 字典包含 name 和 arguments 欄位。 |
指標輸入參數
輸入參數 | 說明 |
---|---|
prediction |
候選模型輸出內容,也就是包含 content 和 tool_calls 鍵的 JSON 序列化字串。content 值是模型輸出的文字。tool_calls 值是工具呼叫清單的 JSON 序列化字串。範例如下:{"content": "", "tool_calls": [{"name":
"book_tickets", "arguments": {"movie": "Mission Impossible Dead Reckoning
Part 1", "theater":"Regal Edwards 14", "location": "Mountain View CA",
"showtime": "7:30", "date": "2024-03-30","num_tix": "2"}}]} |
reference |
基準真相參考預測,格式與 prediction 相同。 |
輸出分數
值 | 說明 |
---|---|
0 | 無效的工具呼叫 |
1 | 有效的工具呼叫 |
名稱相符
tool_name_match
指標說明模型預測工具呼叫的能力,以及正確的工具名稱。系統只會檢查第一個工具呼叫。
- 權杖限制:無
評估標準
評估標準 | 說明 |
---|---|
名稱相符 | 模型預測的工具呼叫與參考工具呼叫的名稱相符。 |
指標輸入參數
輸入參數 | 說明 |
---|---|
prediction |
候選模型輸出內容,也就是包含 content 和 tool_calls 鍵的 JSON 序列化字串。content 值是模型輸出的文字。tool_call 值是工具呼叫清單的 JSON 序列化字串。範例如下:{"content": "","tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
實際資料參考預測,格式與 prediction 相同。 |
輸出分數
值 | 說明 |
---|---|
0 | 工具呼叫名稱與參照不符。 |
1 | 工具呼叫名稱與參照相符。 |
參數鍵比對
tool_parameter_key_match
指標說明模型預測工具呼叫時,是否能使用正確的參數名稱。
- 權杖限制:無
評估標準
評估標準 | 說明 |
---|---|
參數比對率 | 與參照工具呼叫的參數名稱相符的預測參數數量,與參數總數的比率。 |
指標輸入參數
輸入參數 | 說明 |
---|---|
prediction |
候選模型輸出內容,也就是包含 content 和 tool_calls 鍵的 JSON 序列化字串。content 值是模型輸出的文字。tool_call 值是工具呼叫清單的 JSON 序列化字串。範例如下:{"content": "", "tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
真值參考模型預測結果,格式與 prediction 相同。 |
輸出分數
值 | 說明 |
---|---|
介於 [0,1] 範圍內的浮點數 | 1 分數越高,表示與 reference 參數名稱相符的參數越多。 |
參數鍵值比對
tool_parameter_kv_match
指標說明模型預測工具呼叫的能力,包括正確的參數名稱和鍵值。
- 權杖限制:無
評估標準
評估標準 | 說明 |
---|---|
參數比對率 | 與參照工具呼叫的參數名稱和值相符的預測參數數量,與參數總數的比率。 |
指標輸入參數
輸入參數 | 說明 |
---|---|
prediction |
候選模型輸出內容,也就是包含 content 和 tool_calls 鍵的 JSON 序列化字串。content 值是模型輸出的文字。tool_call 值是工具呼叫清單的 JSON 序列化字串。範例如下:{"content": "", "tool_calls": [{"name": "book_tickets", "arguments":
{"movie": "Mission Impossible Dead Reckoning Part 1", "theater":"Regal
Edwards 14", "location": "Mountain View CA", "showtime": "7:30", "date":
"2024-03-30","num_tix": "2"}}]} |
reference |
基準真相參考預測,格式與 prediction 相同。 |
輸出分數
值 | 說明 |
---|---|
介於 [0,1] 範圍內的浮點數 | 1 分數越高,表示有更多參數符合 reference 參數的名稱和值。 |
在生成式 AI 評估服務中,您可以透過 Vertex AI SDK for Python 使用以運算為基礎的指標。
生成工作的基準評估品質
評估生成式 AI 模型輸出內容時,請注意評估過程本質上是主觀的,評估品質會因特定工作和評估標準而異。人類評估人員也會有這種主觀性。如要進一步瞭解如何持續評估生成式 AI 模型,請參閱「Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena」和「Learning to summarize from human feedback」。
後續步驟
找出以模型為基準的指標範本。
試用評估範例筆記本。