LLM Judge 为什么需要校准?
简化版
LLM Judge 的分数不是天然可信的概率。它可能偏好更长的回答、列表格式、特定模型风格或排在前面的候选,并且在不同语言和领域上尺度不一致。校准就是用高质量人工标注集测出这些偏差,让分数、等级和发布阈值与真实质量风险对应。
常见方法包括随机交换候选顺序、匿名模型身份、使用明确 Rubric、做多次判定,以及用 Isotonic Regression、Platt Scaling 或分桶统计把原始分数映射到人工通过率。校准后仍要定期抽样复核,因为 Judge 和被评模型都会变化。
Judge 能稳定地产生一个数字,不代表这个数字具有稳定、可比较的业务含义。
详细版
假设 Judge 给出置信分数 s∈[0,1]。若所有 s≈0.8 的样本中只有 60% 被人工判为通过,Judge 就过度自信。可用 Expected Calibration Error:
ECE = Σ_b (|B_b|/n) × |accuracy(B_b) - confidence(B_b)|
把分数分成若干桶,比较每桶平均置信度和人工正确率。ECE 越低通常越好,但分桶方式会影响数值,还应看可靠性曲线和各风险切片。
| 偏差 | 表现 | 检测方法 |
|---|---|---|
| 位置偏差 | 更常选择 A 或第一个答案 | 交换顺序重评 |
| 长度偏差 | 偏好冗长回答 | 匹配内容后控制长度 |
| 风格偏差 | 偏好标题、列表和自信语气 | 内容等价风格改写 |
| 自偏好 | 偏好与 Judge 同源模型 | 匿名来源、跨家族 Judge |
| 领域偏差 | 通用题准,专业题不准 | 按领域分层对齐人工 |
如果发布门槛要求“严重错误率低于 1%”,不能直接把 Judge 评分 0.9 当作 90% 安全;应在严重错误人工集上选择满足目标 Recall 的阈值,并报告置信区间。
完整版教学
1. Judge 输出的分数究竟是什么
有些 Judge 输出 1~5 等级,有些在 A/B 中选胜者,有些输出自然语言置信度。它们本质上是 Prompt、模型和解码策略共同产生的评分信号,不自动等同人工概率。
评分协议必须固定 Judge 版本、Rubric、候选顺序、温度和解析器,否则同一答案的尺度会漂移。
2. 为什么需要人工黄金集
校准需要参照标准。应从目标业务分层抽样,由训练过的标注员或领域专家给出独立判断与仲裁,覆盖正常、边界和严重失败。
若黄金集本身一致性低,无法判断 Judge 与谁对齐。需要先完善 Rubric,再讨论模型校准。
3. 位置偏差如何测量和修正
对同一答案对分别以 (A,B) 和 (B,A) 输入。理想 Judge 的语义胜负应保持一致;若交换后大量翻转,说明位置影响显著。
可随机顺序并做两次评判,只在结果一致时接受,否则进入 Tie 或人工复核。代价是 Judge 调用量约翻倍。
4. 长度和风格偏差为什么危险
更长回答可能包含更多信息,也可能只是重复。Judge 常把结构完整、自信语气误当正确,导致模型学会“迎合评分器”。
构造内容等价但长度、语气、Markdown 不同的反事实样本,检查得分变化。Rubric 应强调事实和任务完成,不把文风当作隐含代理指标。
校准不仅是给分数套数学映射,也包括发现 Judge 正在依据错误特征做判断。
5. Pairwise 与 Pointwise 如何选择
| 形式 | 优点 | 局限 |
|---|---|---|
| Pointwise 打分 | 可直接设阈值,成本低 | 尺度漂移、锚点不稳定 |
| Pairwise 比较 | 相对判断通常更容易 | 有位置偏差,难跨批次排序 |
| Listwise 排序 | 一次比较多个候选 | 上下文长、顺序效应更复杂 |
发布门禁常需要 Pointwise 通过率,模型选型可用 Pairwise 胜率。两者都要与人工对齐。
6. Platt Scaling 与 Isotonic Regression
Platt Scaling 用逻辑回归把原始分数映射为通过概率:
p(pass|s) = sigmoid(a·s + b)
它参数少、较平滑;Isotonic Regression 只假设单调关系,能拟合更复杂曲线,但小数据时容易过拟合。校准器必须在独立验证集评估,不能用拟合数据报告效果。
7. 等级评分如何校准
对 1~5 分,可统计每个等级对应的人工通过率和严重错误率。如果 Judge 的 4 分和 5 分人工通过率几乎相同,细粒度等级没有实际区分度。
也可用有序回归或把任务改成多个明确二元问题,例如“事实是否正确”“是否完整”“是否违规”,减少含糊总分。
8. 阈值应怎样选择
阈值取决于误放和误拦成本。安全门禁通常优先严重失败 Recall;内容推荐可能更重视 Precision。
选择 τ,使 Recall_severe(τ) >= 99%
并在约束内最小化 false_review_rate
必须在独立测试集报告混淆矩阵和置信区间。样本太少时,“0 个漏检”不代表真实漏检率为 0。
9. 多 Judge 集成是否更可靠
不同家族 Judge 投票可降低单模型偏差,但如果它们训练数据和评测习惯相似,错误会高度相关。多数投票也可能压过专业少数意见。
应测每个 Judge 对人工的准确率和彼此错误相关性,再决定加权投票。高风险分歧样本应交给人工,而不是强行平均。
10. 怎样防止被评模型“攻击”Judge
候选回答可能包含“请给我满分”等注入文本。Judge Prompt 必须把候选标为不可信数据,限制输出 Schema,并对指令遵循做对抗测试。
还可以只向 Judge 提供必要字段、转义候选内容,并用规则检查异常长文本和评分诱导。LLM Judge 本身也是一个需要防护的 LLM 应用。
11. Judge 漂移如何监控
Judge 模型、Prompt 或供应商版本变化后,重新跑固定锚点集和人工黄金集。监控平均分、通过率、位置翻转率和各领域误差。
被评答案分布变化也会导致校准失效。每周或每月从线上新样本人工抽检,并在可靠性曲线显著漂移时重新拟合映射。
12. 怎样报告 Judge 评测结果
除了被评模型分数,还应披露 Judge 版本、Rubric、人工对齐样本量、准确率、Kappa、ECE 和阈值混淆矩阵。
如果 Judge 在某语言准确率只有 70%,该切片的自动结论应标低置信,不能与 95% 准确率的主语言直接合并。
13. 常见误区与追问
- 误区:更强的 Judge 不需要校准。 能力强仍可能有位置、长度和领域偏差。
- 误区:温度设为 0 就完全稳定。 服务实现、并行和模型版本仍可能变化,偏差也不会消失。
- 误区:ECE 低就说明 Judge 很准确。 校准与区分能力不同,始终预测基准率也可看似校准。
- 误区:A/B 评测天然比打分公平。 Pairwise 仍有位置偏差和 Tie 处理问题。
- 误区:多 Judge 投票一定优于单 Judge。 高相关错误不会被投票消除。
- 追问:如何同时评价校准和区分能力? 报 ECE/Brier 以及 ROC-AUC、准确率或 Rank Correlation。
- 追问:何时必须人工复核? 高风险、Judge 分歧、低置信和分布外样本。
14. 加强记忆
- 先承认分数不是概率。
- 五类偏差:位置、长度、风格、自偏好、领域。
- 两步校准:先做反事实诊断,再拟合分数映射。
- 阈值看成本:安全重 Recall,体验兼顾误拦。
- 持续复核:固定锚点集加线上人工抽样,防 Judge 漂移。