这篇论文想解决的不是“评测模型准不准”这么笼统的问题,而是更具体的:为什么同一个 Judge LLM 一会儿打分,一会儿两两比较,前后会互相打架。
一句话看懂
作者把 LLM-as-a-Judge 里最常见的两类矛盾拆开处理:
- 单点评分 vs 成对比较不一致:A 打分比 B 低,但 pairwise 比较里又说 A 更好
- 成对比较不满足传递性:出现
A > B > C > A这种循环
论文提出的 TrustJudge,本质上是在两个地方补信息:
- 打分别只看一个离散分数,而是看整段分数分布,再算期望
- 两两比较别只看一次结果,而是做更稳的聚合,必要时用概率/困惑度裁决
这篇论文到底在做什么
1. 它先指出:现有 LLM Judge 很容易自相矛盾
很多评测流程默认有两套打分方式:
- 给一个回答单独打分(比如 1~5 分)
- 把两个回答放一起比较,选哪个更好
问题是,这两套结果经常对不上。
例如:
- 单点评分里,回答 A 只有 3 分,回答 B 有 4 分
- 但 pairwise 比较时,模型又说 A 比 B 好
再极端一点,还会出现偏好循环:
- A 胜 B
- B 胜 C
- C 又胜 A
这种情况一多,Judge 结果就不太可信了。
2. 作者认为根因有两个
根因一:离散分数太粗,信息丢太多
比如 1~5 分制,本来模型内部可能对“这个回答大概 3.8 还是 4.2”是有细微判断的,但最后只被硬压成一个整数。
这样就会把很多细节抹掉。
根因二:pairwise 里平局/位置顺序会带来额外歧义
A 放前面、B 放后面,和 B 放前面、A 放后面,Judge LLM 的输出可能不一样。如果只看一次比较结果,很容易不稳。
TrustJudge 怎么改
1. 分数从“点”变成“分布”
作者不再只取一个最终分数,而是让模型给出 1~100 各个分值的概率,再取期望值。
这样做的好处是:
- 分辨率更高
- 不容易因为整数分箱丢信息
- 更接近模型内部真实偏好强度
直观理解就是:原来只保留“你给 4 分”,现在保留“你有多大概率给 73、74、75……”,信息密度更高。
2. pairwise 比较做概率化聚合
作者用了两种更稳的处理思路:
方法 A:看双向顺序下的概率/困惑度
把同一个问题下:
(问题, 回答A, 回答B)
(问题, 回答B, 回答A)
都拿去算。
如果比较结果冲突,就用更低困惑度或更一致的方向来裁决。
方法 B:多次比较后聚合
可以理解成“三局两胜”的稳健版:
- 调换顺序
- 重复评估
- 聚合概率
目的就是减少一次性随机波动带来的误判。
论文结果值不值得看
按论文里给的数据,确实有效:
- Score-Comparison inconsistency 从 23.32% 降到 14.89%
- Pairwise Transitivity inconsistency 从 15.22% 降到 4.40%
这说明它不是在追求一个“更花哨的打分器”,而是在降低 Judge 系统内部自相矛盾的概率。
这东西适合用在哪
更适合:
- 静态 benchmark 评测
- 离线模型比较
- 需要认真处理 hard samples 的评估流程
- 希望提升自动评测可信度的场景
不太适合:
- 大规模在线 RL/GRPO 循环里直接硬上
原因很现实:它虽然不花哨,但更费 token、更费算力、更费时延。如果你每天要跑海量 judge 调用,这种方法的成本会比较痛。
你可以怎么理解它的价值
它最重要的地方不是“提出了一个很新的模型”,而是:
- 它把 LLM-as-a-Judge 不一致 这个问题讲清楚了
- 也给了一个 不用重新训练 Judge、靠推理框架就能改进 的方案
所以它的价值偏工程化、评测化,而不是那种“又发明了一个全新架构”。
对你有用的启发
如果你后面关注自动评测、RLHF / RLAIF、GRPO、Reward Model 替代方案,这篇可以记住这几个点:
- Judge 不是天然稳定的
- 评分格式会影响一致性
- pairwise 的位置偏置和顺序偏置不能忽略
- 想让 Judge 更可信,很多时候不是换更大模型,而是先把评测 protocol 设计对
原论文
- 标题:Inconsistencies of LLM-as-a-Judge and How to Alleviate Them
- arXiv:
- 代码:
如果只留一句结论:TrustJudge 不是在让 Judge 更“聪明”,而是在让 Judge 少自打脸。