引言
在人工智能飞速发展的世界里,我们要么正处于一个迷人的起始点: 我们开始用 AI 来给 AI 打分。随着像 GPT-4、Claude 和 Llama 这样的大语言模型 (LLM) 变得日益复杂,人工评估已成为瓶颈。它缓慢、昂贵且难以扩展。因此,研究人员转向了“LLM 即裁判 (LLM-as-a-Judge) ”——使用强大的模型来评估其他模型的回答。
然而,就像人类法官一样,AI 法官也有偏见。其中最普遍和棘手的问题之一是位置偏见 (Position Bias) 。 当面对两个候选答案 (答案 A 和答案 B) 时,LLM 评估器往往会仅仅因为第一个答案先出现而偏向它,或者因为第二个答案是它最后读到的内容而偏向后者。这与答案的质量无关,完全取决于模型内部的处理怪癖。
如果评估器在“答案 A”先出现时偏向它,但仅仅因为你交换了它们的顺序就转而偏向“答案 B”,那么这个评估器就是不一致的。这种不一致性使得评估变得不可靠。
在这篇深度文章中,我们将探讨一篇提出新颖解决方案的研究论文: PORTIA 。 由香港科技大学及其他机构的研究人员开发,PORTIA (名字取自莎士比亚《威尼斯商人》中那位聪明的法官) 使用一种“拆分与合并 (Split and Merge) ”的策略,在数学和语义上对齐答案。通过将答案分解为片段并重新组合,PORTIA 迫使 LLM 公平地评估内容,从而大幅减少偏见,并使更便宜、更快的模型也能达到最先进巨型模型的表现。
问题所在: 成对比较中的位置偏见
要理解解决方案,我们必须先了解所使用的具体评估范式。该论文关注的是成对比较 (pairwise comparison) , 这是对 LLM 输出进行排名的最常用方法。
在成对比较中,评估器会收到一个用户问题和两个回答: 回答 A 和回答 B。评估器必须决定哪个回答更好,或者是否平局。
理想情况下,裁判应该对排列顺序具有鲁棒性。如果回答 A 比回答 B 好,那么无论 A 是先展示还是后展示,裁判都应该说“A 更好”。用数学公式表示,如果 \(V\) 是裁决函数:
\[LLM(\{q, r_1, r_2\}) = LLM(\{q, r_2, r_1\})\]然而,在现实中,LLM 经常无法通过这个测试。

如图 1 (左) 所示,标准的评估可能会宣布第一个助手获胜。但如果你交换顺序,它可能会宣布新的第一个助手获胜。这就是“一致性缺失”。右图显示了预期的结果: 无论输入顺序如何,裁决保持稳定。
研究人员指出,这种偏见不仅仅是小模型的怪癖;即使是 GPT-4 也会表现出这种偏见。结果是,开发人员被迫使用最昂贵的模型 (如 GPT-4) ,因为它们的偏见比其他模型少,这使得自动化评估成本高昂。如果我们能修正这种偏见,我们就有可能使用更便宜、更快的模型 (如 GPT-3.5 或 Llama-2) 来实现 GPT-4 级别的可靠性。
灵感来源: 人类如何阅读
PORTIA 为什么有效?其设计灵感来自于关于人类如何处理长文本的认知科学。当人类评估者面对两篇长而复杂的文章进行比较时,他们很少会将两篇文本的全部内容同时保留在工作记忆中。相反,他们使用的是一种分解策略 。
人类自然地将信息分解成更小的块。我们可能会比较文章 A 的引言和文章 B 的引言。然后,我们比较 A 的方法论部分和 B 的方法论部分。通过比较对齐的片段,我们降低了认知负荷并做出了更公平的评估。
PORTIA 试图通过程序模仿这种人类策略。它不再向 LLM 提供两大块文本,而是:
- 拆分 (Split) : 将答案分成更小的片段。
- 对齐 (Align) : 将这些片段对齐 (这样我们就是在进行同类比较) 。
- 合并 (Merge) : 将它们合并成一个单一的、结构化的提示词 (Prompt) 给 LLM。
核心方法: PORTIA 系统
PORTIA 系统是一个基于对齐的框架,旨在无需重新训练或微调 LLM 评估器本身的情况下校准位置偏见。这使它成为一种“轻量级”解决方案,可以应用于任何模型,无论是专有的还是开源的。
流程
PORTIA 的整体工作流程与标准评估流程截然不同。在标准流程中,你只需将问题和两个答案输入 LLM。而在 PORTIA 中,数据在到达评估器之前会经过一个包含“识别”、“语义对齐”和“长度对齐”的预处理阶段。

如图 4 所示,“修复后的流程 (Flow after fixing) ” (绿色箭头) 引入了这些关键的对齐步骤。如果 LLM 的输出仍然混乱 (例如,没有给出明确的分数) ,PORTIA 还包含一个格式提取器,以确保存储有效的裁决。
拆分算法
论文的核心是拆分算法。目标是将两个不同的答案 \(r_1\) 和 \(r_2\) 分成 \(k\) 个片段,使得这些片段具有可比性。
作者必须遵守两个主要约束:
- 内容保留 (Content Preservation) : 拆分后的片段必须包含原始答案中的所有信息。不能删除或添加任何内容。
- 顺序保留 (Order Preservation) : 论证的流程必须保持不变。不能打乱句子的顺序。
该算法分三个阶段运行,策略由简入繁。
第一阶段: 识别句子边界
你不能简单地每 100 个字符切断一段文本,否则可能会把一个单词切成两半。PORTIA 首先解析文本以找到句子边界 (句号、问号等) 。对于代码块,它使用解析器 (Tree-sitter) 来确保不会破坏依赖缩进等语法的代码行。
第二阶段: 长度对齐
拆分文本最快的方法是按长度。PORTIA 尝试将答案分成字符数大致相等的 \(k\) 个片段。

图 5 直观地展示了这个过程。
- 系统通过数学计算得出为了获得相等长度,分割点应该在哪里 (红色标记) 。
- 它寻找最近的有效句子边界 (紫色线条) 。
- 它选择最佳候选位置 (青色标记) 。
一旦文本被拆分,PORTIA 会构建一个提示词,其中片段被交错排列或以结构化方式呈现,并要求 LLM 做出裁决。它通过交换顺序来检查一致性。如果 LLM 两次都给出相同的获胜者,则工作完成。
第三阶段: 语义对齐
如果答案长度相似但结构完全不同怎么办?例如,答案 A 可能有一个很长的引言和一个简短的结论,而答案 B 有一个简短的引言和一个详细的结论。严格按长度拆分可能会将答案 A 的引言与答案 B 的结论对齐——这是一种会让评估者困惑的错配。
如果长度对齐无法产生一致的裁决,PORTIA 将进入语义对齐 。
这是一个迭代搜索过程。算法尝试在两个答案中找到分割点,以最大化所得片段之间的语义相似度 。 它使用词符重叠 (token overlap) 或 Sentence-BERT 嵌入等指标来计算答案 A 的片段 1 与答案 B 的片段 1 有多相似。

算法 1 中的伪代码详细说明了这一逻辑。
- 第 1-2 行: 识别有效的拆分位置 (格式化) 。
- 第 3-7 行 (长度对齐) : 尝试按等长拆分。如果一致 (\(v == v_{flip}\)) ,则返回结果。
- 第 8-18 行 (语义对齐) : 如果不一致,进入循环。它遍历可能的划分,计算片段之间的累积相似度得分 (\(s_{cum}\)) 。它保留使该相似度最大化 (\(s_{max}\)) 的拆分配置。
- 第 19-21 行: 使用语义对齐的片段重新评估。
通过语义对齐,PORTIA 确保 LLM 比较的是“引言对引言”和“结论对结论”,模仿了人类的阅读策略。
实验设置
为了验证该系统,研究人员进行了广泛的实验。
- 数据集: MT-Bench,这是一组涵盖编码、推理和角色扮演等类别的高质量开放式问题。
- 评估器 (裁判) : 他们测试了六个 LLM: GPT-4、GPT-3.5、Claude-2、Qwen、ChatGLM2 和 Llama-2。
- 比较形式: 他们测试了三种要求 LLM 进行评判的方式:
- *基于关系 (Relation-based) : * “谁更好?A,B,还是平局?”
- *基于分数 (Score-based) : * “给 A 和 B 打分,范围 1-10。”
- *基于李克特量表 (Likert-based) : * “按 1-5 分评价偏好。”
成功的衡量标准是一致性率 (Consistency Rate) : 即当答案顺序交换时,LLM 给出相同裁决的百分比。
结果: 一致性的大幅提升
结果令人信服。PORTIA 显著提高了一致性,涵盖了测试的每一个模型。

表 1 展示了主要发现。让我们看几个亮点:
- Claude-2: 最初,它在基于关系的比较中一致性率低得可怜,只有 28.28% 。 有了 PORTIA,这一比例跃升至 83.28%——相对提升了近 200%。
- Llama-2: 这是一个开源的本地模型。它从 36.41% 提高到了 68.75% 。
- GPT-4: 即使是最先进的模型也有所改进。它起步很高,达到 93.44%,但达到了近乎完美的 97.03% 。
“修复覆盖率 (% Fixed Coverage) ”一栏特别有趣。它告诉我们要 PORTIA 修复了百分之多少的最初不一致案例。对于 GPT-3.5 在基于李克特量表的任务中,PORTIA 修复了 96.32% 的错误。
效率与成本分析
人们可能会担心拆分答案和运行对齐算法在计算上会很昂贵。然而,研究人员分析了这种权衡。

图 2 显示了成本分析。
- 图 (a): 随着 \(k\) (拆分数量) 的增加,输入 token 长度呈线性增长,因为你需要为每个片段添加更多的提示说明。
- 图 (b): 寻找最佳拆分 (语义对齐) 所需的计算量随 \(k\) 指数级增长。
由于这种指数级增长,研究人员发现将 \(k=3\) 设定为最佳平衡点。它提供了足够的粒度来对齐文本,而不会导致计算爆炸。
现实世界的收益: 最重要的效率发现是金钱方面的。通过使用 PORTIA,较便宜的 GPT-3.5 模型与人类 (以及 GPT-4) 的一致性达到了可以媲美独立 GPT-4 的水平。
使用 PORTIA + GPT-3.5 的成本大约是使用 GPT-4 成本的 9.57% 。 对于需要可扩展评估但负担不起 GPT-4 价格的开发人员来说,这是一个巨大的福音。
人工评估
“一致”是否意味着“正确”?仅仅因为 LLM 是一致的并不意味着它是一个好裁判;它可能是一致地错误。
为了验证准确性,作者招募了人类专家来评估答案。他们比较了人类裁决与 LLM 裁决的匹配频率。

表 3 揭示了一个惊人的结果。
- 独立 GPT-4 的人类一致性率 (HAR) 为 60.00% 。
- 由 PORTIA 增强的 GPT-3.5 的 HAR 为 63.75% 。
这意味着,一个较弱的模型,如果通过 PORTIA 进行了适当的对齐,实际上比一个较强的、未对齐的模型更能符合人类的判断。
为什么有效: 消融实验
复杂的语义对齐真的有必要吗?我们能不能只坚持使用更简单的长度对齐?
研究人员进行了消融实验,移除了系统的某些组件,看看性能是如何下降的。

图 3 显示了不同配置下的“固定覆盖率” (即修复了多少错误) 。
- 蓝色条形 (基于分数) : 移除语义对齐 (No SA) 或长度对齐 (No LA) 都会降低性能,但长度对齐似乎承担了大部分繁重的工作。
- 黄色条形 (基于李克特量表) : 这正是语义对齐大放异彩的地方。李克特量表非常微妙,简单地按长度对齐是不够的。完整的 PORTIA 系统 (暗示为基准的绿色条) 始终优于精简版本。
结论是,虽然长度对齐对于简单情况快速有效,但语义对齐对于像李克特量表这样复杂的比较形式以及确保最大的一致性至关重要。
结论与启示
论文《Split and Merge》介绍了一种实用的、算法上合理的方法来解决 LLM 评估中最令人烦恼的问题之一: 位置偏见。
通过将 LLM 视为更像人类的读者——需要将复杂的论点分解为易于消化、可比较的块——PORTIA 实现了三个主要里程碑:
- 一致性: 它大幅减少了 LLM 裁判的“反复无常”。
- 可访问性: 它允许开源 (Llama-2) 和较便宜的闭源 (GPT-3.5) 模型达到以前仅由 GPT-4 保持的水平。
- 准确性: 它提高了与人类专家的一致性。
对于 NLP 领域的学生和从业者来说,这凸显了一个重要的教训: 更好的提示工程和输入结构有时可以产生相当于使用 10 倍大小模型的收益。 我们不必只等待“GPT-5”,我们可以围绕今天的模型构建更智能的系统。
“拆分与合并”技术证明了基于对齐的系统的力量。随着我们迈向更自主的 AI 智能体,确保它们是公平、一致和无偏见的评估者将是 AI 系统信任的基础。
](https://deep-paper.org/en/paper/2310.01432/images/cover.png)