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

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

构建AI应用的一个挑战是选择使用哪个模型。如果能预测任何提示对应的最佳模型呢?预测人类偏好旨在预测用户对特定查询可能偏好的模型。

人类偏好已成为AI模型开发的北极星和强大工具。它指导了包括RLHF和DPO在内的后训练技术,也被用于排名AI模型,如某机构的Chatbot Arena。

Chatbot Arena旨在确定哪个模型通常更受青睐。但能否预测每个查询对应的偏好模型呢?

预测人类偏好的一个用例是模型路由。例如,如果提前知道某个提示下用户更喜欢Claude Instant而非GPT-4,而前者更便宜/更快,就可以将该提示路由到Claude Instant。模型路由有望在提高响应质量的同时降低成本和延迟。

另一个用例是可解释性。通过分析模型在不同提示下的表现,可以理解其优缺点(参见“实验结果”部分)。

使用人类偏好排名模型

过去几年,使用偏好信号(比较)来排名模型越来越流行。除了某机构的Chatbot Arena,许多模型提供商(如某中心、Gemini、ChatGPT等)也用它来评估生产中的模型。

注意:有朋友告诉我,大多数用户不会阅读两个选项,而是随机投票,这引入了大量噪声。但只要随机投票的偏差最小,正确投票的小部分用户的信号有时足以确定偏好模型。

偏好排名的工作原理

偏好排名分两步:

  1. 收集用户偏好的比较数据。
  2. 从这些比较中计算模型排名。

对于每个请求,选择两个或多个模型响应。评估者(可以是人类或AI)选择获胜者。评估者不应知道被评判的模型。每次比较称为一场比赛,结果是一系列比较。

从这些比较中,需要计算所有模型的排名。最常见的两种排名算法是Elo(来自国际象棋)和TrueSkill(来自视频游戏)。虽然Chatbot Arena称其模型分数为“Elo分数”,但实际上他们并不使用Elo。2023年12月,他们改用Bradley-Terry,但缩放结果使其看起来像Elo。

给定比赛结果的历史,Bradley-Terry算法找到最大化这些结果可能性的模型分数,将模型评分转化为最大似然估计问题。输入是每场比赛的参与模型,输出是比赛结果(假设没有平局,结果为0或1)。

Chatbot Arena排名的正确性

对于相同的比赛结果,不同排名算法可能产生不同排名。如何判断排名是否正确?

模型排名本质上是一个预测问题。我们从历史比赛结果计算排名,并用它预测未来比赛结果。排名的质量取决于其预测未来比赛结果的准确性。

如果模型A的分数高于模型B,排名算法预测A获胜。如果用户确实偏好排名更高的模型,则排名算法预测正确。

评估数据

为了计算Chatbot Arena排名的准确性,我使用了他们2023年7月发布的数据,包含20个模型之间的3.3万次众包比较。我使用这个较小的数据集而不是2024年1月的数据集,因为它包含每场比赛的提示,这是我预测人类偏好所需的。

以下是他们2023年7月数据集的一个示例:

promptmodel_amodel_bwinnermodel_a’s responsemodel_b’s response
who was the last monarch of ukkoala-13bvicuna-13bmodel_aThe last monarch of the United Kingdom was Queen Elizabeth II, who reigned from 1952 to 2020.The current monarch of the United Kingdom is Queen Elizabeth II. She has been the monarch since 1952, and is the longest-reigning monarch in British history.

作为参考,该数据集中前7个模型的Bradley-Terry(BT)分数如下:

  • GPT-4: 1189
  • Claude-v1: 1150
  • Claude-instant-v1: 1110
  • GPT-3.5-Turbo: 1104
  • WizardLM-13B: 1058
  • Vicuna-13b: 1040
  • Guanaco-33b: 1031
结果

我发现,在测试集中所有非平局比赛中,Bradley-Terry分数更高的模型被偏好的概率为74.1%。这意味着如果我们总是预测排名更高的模型为获胜者,准确率为74.1%。

测试数据输出类别样本数BT的准确率
所有比赛model_a wins, model_b wins, tie3,30053.33%
非平局比赛model_a wins, model_b wins2,36774.1%
涉及GPT-4的非平局比赛model_a wins, model_b wins35585.1%(总是选GPT-4为获胜者)

2023年7月,GPT-4被认为是最强的模型(当时Gemini、Mistral、Claude-v2尚未出现)。用户是否总是偏好GPT-4而非其他模型?并非如此。在355场涉及GPT-4的非平局比赛中,GPT-4获胜率为85.1%。

这意味着尽管GPT-4总体上是最好的模型,但存在一些提示下其他模型可以胜过GPT-4。如果能找出这些提示及对应的最佳模型,就可以将这些提示路由到性能最佳的模型,从而提高响应质量。

预测每个提示的人类偏好

如果排名算法是找出总体上更好的模型,预测人类偏好则是找出每个提示下更好的模型。如果提前知道某个提示下GPT-3.5和GPT-4表现相当,而GPT-3.5更便宜,就可以将该提示路由到GPT-3.5。或者如果Mistral-7B和GPT-4表现相当且更快,就可以将查询路由到Mistral-7B。

模型路由还有助于预算规划。例如,如果预算只能将50%的查询路由到最强模型,其余路由到较弱模型,则需要确保将弱模型能处理的查询路由给它。

实验设置

我将预测人类偏好视为二分类任务。给定两个模型之间的比赛,预测哪个获胜。如果model_a获胜的概率约为0.5,则可视为平局。如果Bradley-Terry模型仅以(model_a, model_b)为输入,偏好预测器则以(prompt, model_a, model_b)为输入。

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

为了训练模型,我使用了某机构2023年7月数据集的90%。我发现仅使用非平局比赛时预测器表现更好(相比于同时使用平局和非平局比赛)。我随机翻转了比赛中模型顺序的50%。

为了评估模型,我使用了10%的数据。这是用于评估Chatbot Arena排名正确性的相同测试数据。

分割所有比赛非平局比赛
训练29,70020,927
测试3,3002,367

注意:我本应创建一个单独的验证集用于超参数调优。但由于数据量有限且这只是一个概念验证,我没有这样做。比赛涉及20个模型,对应190个模型对。20,927次比较意味着平均每个模型对只有110次比较。

实验结果

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

  1. 仅使用model_a和model_b作为输入。这是为了看看仅使用模型名称时,预测器是否能比Chatbot Arena分数更准确地预测比赛结果。
  2. 使用(prompt, model_a, model_b)作为输入。这是为了看看包含提示是否能提高比赛结果预测。

我发现对于所有非平局比赛,如果不使用提示,偏好预测器的预测准确率为75%;如果使用提示,准确率为76.2%。这表明人类对模型的偏好确实会因提示而变化。虽然改进看似不大,但2.1%的改进在规模上可能很显著。

评估数据评估样本数Chatbot Arena偏好预测器(无提示)偏好预测器(有提示)
非平局比赛2,36774.1%75%76.2%
涉及GPT-4的非平局比赛35585.1%86.2%87%

需要注意的是,这个预测器是用少量众包(即有噪声)数据训练的。众包的提示也很简单。在3.3万条提示中,180条(0.55%)是“hello”和“hi”。这些简单提示不足以区分强弱模型。我怀疑如果有更多/更好的数据,预测器的性能可以显著提高。

领域特定和查询特定排行榜

20个模型对应190个模型对。为了可视化预测器如何捕捉人类偏好,我为每个评估提示生成190个不同的输入(每个模型对一个)。

然后,我将190个预测结果可视化在一个20x20的网格中,如下所示(以提示“Derive the elastic wave equation.”为例)。为了使图表可读,我只包含9个模型。对角线值表示模型与自身的比较,预测偏好应为0.5。

给定一个提示的所有模型对的预测偏好,我使用Bradley-Terry模型(与某机构相同的排名算法)为该提示创建一个排行榜。我使用了相同的缩放使分数看起来像Elo。以下是“Derive the elastic wave equation.”查询的9个模型排名。

这也意味着,有了这个偏好预测器,我们可以为任何数据子集创建排行榜。我们可以为任何领域创建特定排行榜。

模型排名(提示:“Derive the elastic wave equation.”)
gpt-4: 1214
claude-v1: 1162
gpt-3.5-turbo: 1104
claude-instant-v1: 1110
guanaco-33b: 1023
vicuna-13b: 1007
vicuna-7b: 985
RWKV-4-Raven-14B: 970
gpt4all-13b-snoozy: 915

尽管是一个玩具预测器,模型似乎能够捕捉不同模型的性能模式。一个模式是,对于简单提示,弱模型可以(几乎)和强模型一样好。但对于更具挑战性的提示,用户更可能偏好强模型。下图展示了对简单提示(“hello, how are you?”)和挑战性提示(“Explain why Planc length…”)的预测人类偏好。

以下是这两个提示的模型排名。简单提示的分数分布比挑战性提示的分数分布小得多。在这两个提示中排名不同的模型以红色突出显示。

预测器还最有信心认为GPT-4在俄语查询和涉及代码编写的查询中更受青睐。例如,对于以下俄语查询,GPT-4对所有其他模型的平均预测胜率为91.55%。注意,对于这个查询,claude-v1预计表现良好,而claude-instant-v1预计表现较差。

结论

我的初步实验表明,使用少量数据预测人类偏好是可行的。预测人类偏好有许多潜在用例——模型路由和可解释性只是其中两个。

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

我知道有四个团队(两个处于隐身模式)正在研究模型路由。一家初创公司是Martian,宣布了900万美元的种子轮融资。某机构也在研究模型路由,我认为这是他们比较评估工作的自然进展。

虽然我的实验使用了人工标注的比较,但某机构的人告诉我,由于众包标注的噪声和专家标注的成本,他们发现使用GPT-4比较两个响应效果更好。根据查询的复杂性,使用GPT-4生成1万次比较仅需200-500美元,这对想尝试的公司来说非常实惠。

这是我最近做过的最有趣的副项目,我很乐意多谈谈。有兴趣的人可以在3月5日周二太平洋时间上午9:30参加我主持的30分钟关于预测人类偏好的讨论。加入我们的Discord或发邮件给我获取邀请!

致谢

感谢Luke Metz帮助我进行实验并说服我使用JAX。虽然JAX非常酷且简化了很多事情,但它也导致了一些我见过的最奇怪的错误。不过我很高兴使用了它。感谢Han-chung Lee对图表的反馈。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客(https://blog.qife122.com/)
公众号二维码
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值