對應原題(Common ‧ Evaluation and Observability)

  • Design an LLM-as-judge evaluation. What are its known biases and how do you correct for them?
    — Asked at: Perplexity

主要參考:Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (NeurIPS 2023)——
系統性量測了位置偏誤、冗長偏誤與自我偏好。

🎯 什麼情境該想到我

當你「要評估開放式輸出,但沒有標準答案、人類評估又太貴」的時候。
★ 這題的重點全在後半句:偏誤。 只講「用 GPT 當裁判」而不講偏誤與校正,是直接扣分的答案。

⚙️ 怎麼用

三種形式(可靠度差很多)

形式做什麼可靠度適用
Pointwise對單一回答打 1–5 分⚠️ 最差——分數會壓縮、跨批次不可比快速篩選、粗略監控
★ Pairwise「A 和 B 哪個好?」✅ 最高A/B 比較、回歸測試
Reference-based對照參考答案評分✅ 高(如果有參考答案)有 ground truth 時

★ 理由和 RLHF 全流程 的偏好資料設計完全相同:
絕對評分不穩定,相對比較穩定。 不只人類如此,模型也如此。
→ 能用 pairwise 就別用 pointwise。

★ 六種已知偏誤與對策(題目的核心)

#偏誤症狀對策
1位置偏誤
Position bias
系統性偏好第一個(或第二個)呈現的答案★ 兩個順序都跑一次,只採信兩次一致的結果;不一致就判平手。
(這會讓成本變兩倍,但這是唯一可靠的解法)
2冗長偏誤
Verbosity bias
長答案得分高,即使沒有更多資訊rubric 明確寫「長度不是優點,冗贅要扣分」;統計上做長度校正;必要時控制兩邊長度相近
3自我偏好
Self-enhancement
裁判偏好自己或同家族模型的輸出★ 裁判不要和被評估模型同家族;用多個不同家族的裁判投票
4格式偏誤偏好有 bullet、標題、粗體的答案rubric 明確說「格式不計分,只看內容」;或統一格式後再比
5權威偏誤偏好語氣肯定的答案,即使它是錯的rubric 要求「先查核事實正確性,再看表達」;事實類問題改用可驗證的檢查
6分數壓縮pointwise 時大量落在 7–8 分,區分度接近 0改用 pairwise;或用離散等級 + 明確錨點(每一級都給例子)

還有一個更根本的限制:

裁判自己也會幻覺。 它在專業領域(法律、醫療、特定程式庫)的事實判斷不比被評估的模型可靠。
→ 事實正確性能用程式驗證就別用裁判(見 GRPO 與 RLVR 的同一個原則)。

設計一個可用的裁判

你是一位嚴格的評審。比較兩個回答,判斷哪個更好。

【評分標準】(依重要性排序)
1. 事實正確性 —— 有無與提供資料矛盾的陳述
2. 完整性 —— 有無遺漏問題中被明確問到的部分
3. 相關性 —— 有無答非所問或補充無關內容
4. 清晰度 —— 表達是否易懂

【明確不計分的項目】
- 回答長度(冗贅要扣分,不是加分)
- 排版格式(bullet、標題、粗體一律不計分)
- 語氣的自信程度

【輸出格式】
先逐項比較並說明理由,最後一行輸出:
VERDICT: A | B | TIE

五個要點:

  1. ★ 明確的 rubric —— 「評估品質」是無效的指令。要列出具體維度與優先序
  2. ★ 明確寫出「不計分的項目」 —— 這是直接對抗偏誤 2、4、5 的最便宜手段
  3. 先理由後判決(CoT) —— 提升一致性,代價是 token 成本
  4. temperature = 0 —— 降低隨機性(但注意它不保證可重現,見 取樣與解碼策略)
  5. 加 few-shot 錨點 —— 給 2–3 個「這種算好/這種算差」的範例校準尺度

★ 最重要的一步:驗證裁判本身

沒有驗證過的裁判,它的分數只是另一個模型的意見。

① 人工標註 100–200 個樣本(pairwise 最省力)
② 讓裁判跑同一批
③ 算一致性:
     - Cohen's kappa(類別一致性,扣除隨機一致)
     - 與人類的勝率相關係數
④ 一致性不夠 → 改 rubric → 回到 ②
⑤ ★ 一致性達標後,這個裁判才可以拿來跑大規模評估

同時要量「人類之間的一致性」當上界 —— 如果兩個人類標註者只有 70% 一致,裁判達到 68% 就已經接近人類水準,不必再追。

這個驗證要定期重跑:換模型、換 prompt、換領域都可能讓裁判失準。

⚠️ 注意 / 什麼時候不適用

  • ★ 裁判分數不可跨版本比較。換了裁判模型、改了 rubric,歷史分數就作廢。要保留一組固定的錨點樣本做校準。
  • 不要用被評估模型的同家族當裁判(自我偏好)。也不要用它評估自己的輸出。
  • 高風險決策不能只靠裁判。醫療、法律、金融的最終驗收要有人。
  • 裁判會把「同意使用者」當成好(諂媚偏誤的變形)。評估拒答與糾錯能力時要特別設計。
  • 成本不低。pairwise + 雙向順序 + CoT = 每個樣本 4 次長呼叫。大規模評估前先算帳,並用小模型當裁判做初篩。
  • pointwise 的分數沒有絕對意義。「平均 4.2 分」跨系統、跨時間都不可比。
  • 裁判無法評估它看不到的東西:延遲、成本、UI 體驗、長期使用者滿意度。

🧪 我實際套用的紀錄

  • 2026-09-20:從面試題庫展開。待辦:任何要用裁判的專案,先人工標 150 筆算 kappa。

🔗 相關