← 文章 / AI技术
Chip Huyen 2小时前 · 2026-08-31 13:50:34 · 0 阅读

预测式人类偏好:从模型排名到模型路由

构建 AI 应用的一大难题是如何挑选模型。但如果我们不必挑选呢?如果我们能为任何 prompt 预测出最佳模型呢?预测式人类偏好(predictive human preference)旨在预测用户在特定查询下可能更偏好哪个模型。

人类偏好已成为 AI 模型开发中的北极星和强大工具。它指导着 RLHF、DPO 等后训练技术,也是 LMSYS 的 Chatbot Arena 等平台用来给 AI 模型排名的依据。

Chatbot Arena 旨在确定哪个模型总体上更受欢迎。而我想探索的是:能否针对每一条查询,预测出用户会偏好哪个模型。

预测式人类偏好的一个应用是模型路由。例如,如果我们提前知道,针对某个 prompt,用户更偏好 Claude Instant 的回复而非 GPT-4,且 Claude Instant 比 GPT-4 更便宜、更快,就可以把这个 prompt 路由到 Claude Instant。模型路由有潜力在提升回复质量的同时降低成本和延迟。

另一个应用是可解释性。描绘出模型在不同 prompt 上的表现,能帮助我们理解该模型的优势与短板。详见 实验结果 一节中的示例。

下面展示了针对 prompt "对文本嵌入进行聚类的最佳方法是什么?"时,不同模型对之间预测式人类偏好的可视化结果。预测由我的简易偏好预测器生成。(GPT-4, GPT-3.5-Turbo) 单元格的亮黄色表示,预测器认为对于该 prompt,GPT-4 的回复很可能优于 GPT-3.5-Turbo 的回复。

所有 LLM 模型对的预测式人类偏好

本文先讨论 Chatbot Arena 的正确性,并将其作为评估偏好预测正确性的基线,再讨论如何构建偏好预测器以及初步实验结果。

使用人类偏好对模型进行排名

近年来,用偏好信号(即模型间的对比)来给模型排序的做法越来越流行。除了支撑 LMSYS 的 Chatbot Arena 之外,许多模型厂商(Anthropic、Gemini、ChatGPT 等)也在生产环境中用它来评估自家模型。

补充说明:一些在生产环境中部署过这套系统的朋友告诉我,大部分用户并不会认真对比两个回答,而是随机投一个。这种做法会引入大量噪声。不过,只要随机投票本身没有明显偏差,那一小部分认真投票的用户所给出的信号,有时也足以判断哪个模型更受欢迎。

偏好排序的原理

偏好排序分两步:

  1. 收集用户偏好的对比数据。
  2. 基于这些对比数据计算出模型排名。

具体做法是:对于每条请求,选出两个或更多模型来回答。再由人工或 AI 评判员选出胜者,评判过程对模型身份保持盲区。每一次对比称为一场 match。这样就能得到一组组对比结果。

Match ID Prompt Model A Model B Winner
1 Model 1 Model 2 Model 1
2 Model 3 Model 1 Model 1
3 Model 1 Model 4 Model 4
... ... ... ... ...

拿到对比数据后,就需要据此计算模型的排名。最常用的两种排名算法是来自国际象棋领域的 Elo,以及来自电子游戏领域的 TrueSkill

虽然 Chatbot Arena 把模型得分称作"Elo 分数",但他们实际上并没有用 Elo。2023 年 12 月,他们切换到了 Bradley-Terry,只是把得到的分数做了缩放,让它们看起来像 Elo(可以看他们的 notebook)。

给定一组历史对战结果,Bradley-Terry 算法会找到使这些结果出现概率最大的模型得分,从而把模型评分转化成一个最大似然估计问题。每个训练样本的输入是参与对战的两个模型,输出是对战结果。假设没有平局,对战结果为 0(a 胜)或 1(b 胜)。

Predictive human preference for all LLM model pairs

Chatbot Arena 排名的正确性

同样的对战结果,不同的排名算法会给出不同的排名。比如 Elo 算出来的排名可能和 Bradley-Terry 算出来的不一样。我们怎么知道一个排名是否正确?

本质上,模型排名是一个预测问题:我们从历史对战结果算出一个排名,再用它来预测未来的对战结果。排名的好坏取决于它预测未来对战结果的准确程度。

假设模型 A 和模型 B 比赛,如果模型 A 得分更高,就意味着排名算法预测 A 胜出。如果用户也确实更喜欢排名更高的模型,那这次预测就算正确。

评测数据

为了计算 Chatbot Arena 排名的准确率,我用了他们 2023 年 7 月发布的数据,包含 20 个模型之间 33K 条众包比较。我选这个较小的数据集而不是他们 2024 年 1 月的数据集,是因为它包含每场对战使用的提示词,而后面做预测人类偏好时需要用到。在这个数据集上做评测,也方便后面把我的模型和 Bradley-Terry 算法做对比。

下面是该数据集 2023 年 7 月版本的一个示例。

提示词 模型 A 模型 B 获胜方 模型 A 的回答 模型 B 的回答
谁曾是英国最后一位君主 koala-13b vicuna-13b 模型 A 英国最后一位君主是伊丽莎白二世女王,她从 1952 年统治到 2020 年。 英国现任君主是伊丽莎白二世女王。她自 1952 年起担任君主,是英国历史上在位时间最长的君主。

作为参考,数据集中排名前 7 的模型的 Bradley-Terry (BT) 得分如下。

  1. GPT-4:1189
  2. Claude-v1:1150
  3. Claude-instant-v1:1110
  4. GPT-3.5-Turbo:1104
  5. WizardLM-13B:1058
  6. Vicuna-13b:1040
  7. Guanaco-33b:1031

为了构建测试集,我随机抽取了 10% 的数据(3300 个样本)。每场比赛有三种可能的结果:模型 A 获胜、模型 B 获胜或平局。如果将平局视为两场比赛(一场模型 A 获胜、一场模型 B 获胜),这仍然可以转换为一个二分类问题。

结果

我发现,在测试集的所有非平局比赛中,Bradley-Terry 得分较高的模型有 74.1% 的概率更受偏好。也就是说,在一场比赛中如果始终预测排名较高的模型为获胜方,准确率将达到 74.1%。

测试数据 输出类别 样本数 BT 准确率
所有比赛
  • 模型 A 获胜
  • 模型 B 获胜
  • 平局
3,300 53.33%
非平局比赛
  • 模型 A 获胜
  • 模型 B 获胜
2,367 74.1%
涉及 GPT-4 的非平局比赛
  • 模型 A 获胜
  • 模型 B 获胜
355 85.1%(始终选择 GPT-4 为获胜方)

早在 2023 年 7 月,GPT-4 被公认为遥遥领先的的最强模型(那时 Gemini、Mistral、Claude-v2 都还没出现)。但用户是否在任何情况下都更偏爱 GPT-4 呢?并非如此。在 GPT-4 参与的 355 场非平局对战中,GPT-4 的胜率为 85.1%。

这说明,即使 GPT-4 是总体表现最好的模型,仍然存在一些提示能让其他模型胜过它。如果我们能识别出这些提示,以及在这些提示上表现最好的模型,就可以把相应的请求路由到最合适的模型,从而提升回答质量。

预测每个提示上的人类偏好

如果说排序算法是为了找出整体上更强的模型,那么预测人类偏好则是为了找出在每条提示上更合适的模型。举例来说,如果我们事先知道对于某个提示,GPT-3.5 和 GPT-4 的效果相当,但 GPT-3.5 更便宜,就可以把这条提示路由到 GPT-3.5。又或者我们知道 Mistral-7B 在某个提示上能和 GPT-4 打平,且 Mistral-7B 更快,就可以把请求路由给 Mistral-7B。

模型路由还能帮助规划预算。比如,你只有足够的预算让 50% 的请求走最强模型,其余走较弱的模型,这时你希望只把那些确信弱模型也能答好的请求交给它。

实验设置

我把预测人类偏好看作一个二分类任务:给定两个模型的对战结果,预测哪一方会胜出。如果模型 A 获胜的概率接近 0.5,就可以视为平局。如果 Bradley-Terry 模型只接收 (model_a, model_b) 作为输入,那么偏好预测器则接收 (prompt, model_a, model_b) 作为输入。

所有 LLM 模型对的预测人类偏好

我的偏好预测器架构如下。模型编码器和偏好预测器都是神经网络,可以单独训练,也可以联合训练。我使用了 DistilBERT 作为提示编码器。

Predictive human preference for all LLM model pairs

我用了 LMSYS 2023 年 7 月数据集的 90% 来训练模型。实验发现,只用非平局(non-tie)的对战数据训练时,预测器效果更好(比同时用平局和非平局数据更好)。每次对战,我会以 50% 的概率随机交换两个模型的先后顺序。

剩余 10% 的数据用来评估模型,也就是上文评估 Chatbot Arena 排名正确性时用的同一份测试集。

数据划分 全部对战 非平局对战
训练集 29,700 20,927
测试集 3,300 2,367

补充说明:本应该单独划分一份验证集来做超参数调优,但考虑到数据量有限且这只是概念验证,所以就没做(主要是懒)。这些对战来自 20 个模型,共组成 190 个模型对。20,927 次对比平均下来,每个模型对只有约 110 次比较。

实验结果

我在两种设定下评估了偏好预测器:

  1. 只输入 model_amodel_b。这是为了验证这个仅凭模型名称的预测器,能否比 Chatbot Arena 的评分更准确地预测对战结果。
  2. 输入 (prompt, model_a, model_b)。这是为了验证加入 prompt 后是否有助于提升对战结果的预测准确率。

实验结果显示,在所有非平局对战上,我的偏好预测器不用 prompt 时预测准确率为 75%,加入 prompt 后提升到 76.2%。这说明人类对模型的偏好确实会随 prompt 不同而变化。提升幅度虽然看起来不大,但在大规模场景下 2.1% 的提升其实是相当可观的。

注意,这个预测器只用少量众包(即有噪声的)数据训练。众包收集的 prompt 也很简单。在 33K 条 prompt 中,有 180 条(0.55%)就是"hello"和"hi"。这类简单 prompt 不足以区分强模型和弱模型。我推测,如果有更多/更好的数据,这个预测器的性能可以显著提升。

特定领域和特定 query 的排行榜

回顾一下,20 个模型对应 190 个模型对。为了直观展示预测器如何捕捉人类偏好,我对每个评估 prompt 生成了 190 个不同的输入,每个模型对一个。

Predictive human preference for all LLM model pairs

然后我把 190 个模型对的 190 个预测结果可视化为 20 x 20 的网格,下图展示的是 prompt"Derive the elastic wave equation."的情况。为了可读性,图中只展示了 9 个模型。对角线上的值是模型与自身比较,因此预测偏好应为 0.5。

Predictive human preference for all LLM model pairs

有了每个 prompt 对所有模型对的预测偏好后,我使用 Bradley-Terry 模型(LMSYS 使用的同一种排名算法)来为该 prompt 生成排行榜,并采用 LMSYS 的相同缩放方式让分数看起来像 Elo 评分。下面是上述 9 个模型在 query"Derive the elastic wave equation."上的排名。

这也意味着,有了偏好预测器,我们可以为任意数据子集创建排行榜,针对任何领域建立专属的排行榜。

评估数据 评估样本数 Chatbot Arena 偏好预测器
(无 prompt)
偏好预测器
(有 prompt)
非平局对战 2,367 74.1% 75% 76.2%
vicuna-7b 985
RWKV-4-Raven-14B 970
gpt4all-13b-snoozy 915

尽管只是一个简易预测模型,但它似乎能捕捉到不同模型的表现规律。其中一个规律是:对于简单提示,弱模型的表现可以(几乎)赶上强模型;但在更具挑战性的提示上,用户明显更倾向于选择强模型。下图展示了在一条简单提示("hello, how are you?")和一条困难提示("Explain why Planc length …")上预测的人类偏好情况。

Predictive human preference for all LLM model pairs

下面是这两个提示对应的模型排名。简单提示下的分数差距远小于困难提示下的差距。在两种提示下排名不同的模型已用红色标出。

Predictive human preference for all LLM model pairs

预测器还非常有把握地认为,GPT-4 在俄语查询和代码编写类查询上会更受偏好。例如,对于下面这条俄语查询,GPT-4 对所有其他模型的平均预测胜率高达 91.55%。值得注意的是,claude-v1 被预测在这条查询上表现不错,而 claude-instant-v1 则被预测表现较差。

Predictive human preference for all LLM model pairs

总结

我的这个初步实验表明,只需相当少量的数据,预测人类偏好就是可行的。预测人类偏好在很多场景下都有潜在用途——模型路由和可解释性只是其中两个例子。

预测人类偏好是模型路由的第一步,也是最关键的一步(另一个关键步骤是路由策略)。随着越来越多的模型被开发出来,每个模型的能力和成本结构各不相同,模型路由具有明确的经济价值。

据我所知,目前有四家公司(其中两家尚未公开)在做模型路由方向。其中一家初创公司 Martian 已经公布了 900 万美元种子轮融资。LMSYS 也在做模型路由,作为他们在模型对比评测领域的自然延伸。

我的实验采用的是人工标注对比,而 LMSYS 的同学告诉我,由于众包标注噪声大、专家标注成本高,他们发现用 GPT-4 来对比两个回答的效果反而更好。根据问题的复杂度不同,用 GPT-4 生成一万组对比只需 200 到 500 美元,对于想试水的公司来说非常划算。

这是我近期做过的最有趣的业余项目,很想多聊一些。感兴趣的可以参加我在 3 月 5 日(周二)太平洋标准时间上午 9:30 举办的一场 30 分钟的非正式讨论,主题就是预测性人类偏好。加入我们的 Discord,或者给我发邮件,都可以拿到邀请!

致谢

感谢 Luke Metz 协助我完成实验,并硬拉着我用 JAX。JAX 确实非常强大,让很多事情变得简单,但也带来了我见过的一些最诡异的 bug。还好最后还是用了。感谢 Han-chung Lee 对图表提出的修改意见。

原始来源: Chip Huyen

评论 (0)