LLM-as-a-Judge:用大模型评测大模型的方法、偏差与校准
评估大模型应用的输出质量,最可靠的方式是人工评审,但人工评审成本高、速度慢、难以规模化,而且不同评审者之间的标准也不一致。对于摘要、对话、写作这类开放式任务,又很难用简单的规则自动打分。于是,用一个大模型来评判另一个模型的输出,即“LLM-as-a-Judge”,成为业界广泛使用的方法。 它高效、可扩展,但并不完美,需要了解其中的偏差并进行校准。
常见的评估模式
单点评分
给评委模型一个问题和一个回答,按照评分标准打分,例如 1 到 5 分,或者对多个维度分别打分。适合监控整体质量、设置质量门槛。
成对比较
给评委模型同一个问题的两个回答,判断哪个更好,或者判断两者相当。相比绝对评分,比较判断通常更稳定,适合比较两个模型版本或两个提示词版本。
参考答案对照
提供标准答案或参考要点,让评委模型判断回答是否覆盖了关键信息、是否存在与参考答案矛盾的内容。适合有明确正确答案但表述可以多样的任务。
检查清单式评估
把评估拆解为一系列具体的是非问题,例如“是否提到了退货期限”“是否包含不当承诺”“是否使用了礼貌用语”,让评委模型逐项判断。这种方式结果更稳定、更可解释。
设计评分提示词
评分标准要具体
模糊的标准如“回答质量如何”会导致评分随意。应该定义每个分数等级的具体含义,例如:“5 分:完全准确地回答了问题,引用了正确的政策条款,没有多余信息;3 分:回答基本正确,但遗漏了次要信息……”
先分析后打分
要求评委模型先写出评估理由,再给出分数。这样不仅能提高评分的准确性,也便于人工检查评分是否合理,参见思维链提示。
一次评估一个维度
同时评估准确性、完整性、语气等多个维度时,分别进行评估往往比一次性评估所有维度更准确。
提供示例
给出不同分数等级的回答示例,帮助评委模型理解评分标准,参见少样本提示。
结构化输出
要求以固定格式输出评估理由和分数,便于程序解析和统计,参见让大模型稳定输出 JSON。
主要偏差
位置偏差
在成对比较中,评委模型可能倾向于选择排在前面(或后面)的回答。缓解方法:每对回答交换顺序评估两次,只有两次结论一致时才采纳,否则视为平局。
长度偏好
评委模型往往倾向于给更长、更详细的回答更高的分数,即使简洁的回答更符合需求。缓解方法:在评分标准中明确说明简洁性的要求,或者对长度进行控制后再比较。
自我偏好
评委模型可能更偏好与自己风格相近的输出,例如同一模型或同一系列模型生成的回答。缓解方法:使用与被评估模型不同的模型作为评委,或使用多个评委模型取综合结果。
表面特征偏好
格式漂亮、语气自信、使用专业术语的回答,可能获得更高的评价,即使内容存在错误。
能力上限
当评估需要专业知识或复杂推理时,如果评委模型本身无法判断正误,评分就不可靠。例如让模型评判一个专业法律问题的回答是否准确。
与人工评估校准
LLM-as-a-Judge 不能完全取代人工评估,而应该与之配合:
- 建立校准集:抽取一批样本,由人工专家评分;
- 比较一致性:用评委模型对同一批样本评分,计算与人工评分的一致程度;
- 分析分歧:查看两者结论不一致的案例,找出评委模型的系统性偏差;
- 调整评分提示:根据分歧原因改进评分标准和提示词;
- 定期复核:评委模型或被评估系统更新后,重新进行校准。
只有在与人工评估达到可接受的一致性后,才能放心地用评委模型进行大规模评估。
适用场景
- 提示词和模型版本的快速比较,参见提示词工程化;
- 线上输出质量的持续抽样监控,参见大模型应用上线后的监控;
- 红队测试中判断攻击是否成功;
- 大规模数据集的质量筛选。
小结
LLM-as-a-Judge 让开放式输出的大规模评估成为可能,是大模型应用评测体系中的重要工具。通过具体的评分标准、先分析后打分、检查清单式评估等方法提高准确性,通过交换顺序、使用不同评委模型等方法缓解偏差,并始终与人工评估进行校准,才能让“模型评委”真正可信。评测集的构建方法见如何构建评测集。