贾佳亚团队新作:10k数据让大模型数学能力超GPT-4

港中文贾佳亚团队 投稿
量子位 | 公众号 QbitAI

只要10k数据,就能让大模型的数学成绩增长5.6%。

港中文贾佳亚团队推出了基于推理步骤的大模型优化策略,能够像老师教学生一样优化大模型。

利用这种方法,72B Qwen模型的数学成绩超越了GPT-4、Gemini1.5-Pro和Claude3-Opus等一众闭源模型。

970162f2a578febeaf291f4c186a545a.png

老师在纠正学生错误时,不会只告诉学生最终答案错了,还会告知具体哪个步骤错了,以此快速纠正其错误。

贾佳亚团队正是学习了这一特点,将斯坦福团队推出的DPO(直接偏好优化)进一步细化,形成了逐步应用的策略Step-DPO

该方法让Qwen-72B模型在多个数据集上进步明显,同时也获得了更强的长链条推理任务能力。

像教育学生一样训练大模型

如何强化推理能力,一直是大语言模型领域的重要问题之一。

常见的思维链策略通过在输入提示词部分添加“Let’s think step by step.”,来使模型在输出中完成逐步推理,但对于复杂的问题,仅通过修改提示词不足以引导模型正确解决问题。

由于复杂问题涉及的推理过程较长,有时包含数十个推理步骤,一旦其中任一步骤出错,就难以得到正确的结果。

此外,现有方案旨在通过监督式微调(SFT)阶段增加问答数据以实现更好的对齐。

然而,当SFT数据达到一定数量时,模型经常出现幻觉,性能也随之趋于饱和。

一个潜在的原因是,随着偏好输出的概率上升,非偏好输出的概率也会随之增加。

为了抑制幻觉,提升模型的事实性,斯坦福大学提出了直接偏好优化方法,其工作原理是创建基于人类偏好对的数据集,每个偏好对都包含一个输入提示、偏好输出以及非偏好输出。

然后对语言模型直接进行微调,最大限度地提高生成的可能性,并减少输出的可能性。

因此,DPO的优化目标为:

79816878f4e33dff36b79f9c5f084182.jpeg

其中πθ与πref分别表示当前微调模型以及参照模型。

但在长链条推理任务中,DPO无法准确判断推理过程中的错误步骤,从而无法聚焦关键出错步骤。

如下图所示,基于DPO的模型在训练过程中无法准确判断推理步骤正确与否。

453d741c566f64f1b3c452bbd39138c8.png

因此,作者提出了基于推理步骤的直接偏好优化——Step-DPO

53daaa01a948008918ff8d3b1cf7bcff.png

就像老师在纠正学生错误时,不会只告诉学生最终答案错了,还会告知具体哪个步骤错了,以此快速纠正其错误。

与此类似,Step-DPO不再像DPO从整体上对比答案,而是将每个推理步骤视为一个基本单元,并且对比单个推理步骤,从更精细的角度提升模型的多步推理分析能力。

Step-DPO的优化目标为:

55e6c93b91e97238c8b1fb485fe3d27b.jpeg

除此之外,作者还提出基于模型自生成的数据处理流程。如图所示,该流程包含以下三个步骤:

6302fb9d9d0ba0b58bc9bcb6529ab887.png

第一步是错误收集

首先,给定一组数学问题D0=(x,y∧),其中x是数学问题,y∧是其真实答案。

然后,使用初始模型πref来得到每个数学问题x的答案。

在进行模型推理之前,需要添加思维链(CoT)前缀作为提示,以确保模型的推理结果被结构化为多个推理步骤,每个步骤均以“Step i:”开始。

经过模型推理可得到每个数学问题x的推理结果y,然后选择与真实答案y∧不一致的那些结果,并汇总得到数据集D1

4f38790f93fdef547e5f00e6266acfca.jpeg

第二步是错误步骤定位

每个错误推理结果y都呈现为一系列推理步骤的序列y=s1,s2,…,sn,随后需要人工或利用GPT-4验证每个推理步骤的正确性,直到找到第一个错误步骤sk,并记录其步骤编号。

然后将sk选为错误的推理步骤slose,从而得到D2

f43d3b9c4daf20f06f2970d8495703a3.jpeg

最后是错误步骤修正

为了获得D2中每个样本对应的正确推理步骤,需要对模型πref进行推断,使用提示x和前面的正确推理步骤s1~k-1来采样多个输出ycont,此过程可以表示为:

随后保留ycont中那些与真实答案一致的输出,并将其中的第一个推理步骤作为swin,最终得到数据集D:

265d4adecc4e7b02bdaacccd1d49f724.jpeg

下图展示了一个数据样本示例。值得一提的是,该数据准备流程无需大量的人工介入,人类或GPT-4只需要判断给定推理步骤是否正确,而无需亲自撰写答案来修正错误。

c778e4cfb1f64e689c12eb3155007f47.png

10k数据带来数学能力大幅提升

Step-DPO可以在SFT模型或现有的开源Instruct模型上进行微调,仅通过10K数据以及数百个训练步数,即可取得大幅度的数学能力提升。

如下图所示,在Qwen2-7B-Instruct模型的基础上进行Step-DPO可在MATH测试集上获得5.6%准确率的提升

在Qwen2-72B-Instruct模型的基础上进行Step-DPO,可在MATH和GSM8K测试集的准确率分别达到70.8%和94.0%,超过一系列闭源模型如Gemini-1.5-Pro、GPT-4-1106,以及Claude-3-Opus。

除此之外,在难度较高的包含数学竞赛题的Odyssey-MATH榜单上也有显著提升。

08c39d9b0abb92e63e1341a719a44d88.png

经过Step-DPO之后,模型更加鲁棒,减少幻觉的产生,在推理过程中也不容易出错。如以下两个例子所示。

假设h(x)=f-1(x),如果h(2)=10,h(10)=1,h(1)=2,求f(f(10))。

d7826a7204db188fae4eefc78f31691d.png

t的平方根大于2且小于3.5,满足这一条件的整数t有多少个?

8a33bf76cda01c3f8821de70c7f92bde.png

即便是下图这道数学竞赛题,经过Step-DPO之后的模型也可以做对。

在所有非增函数f:{1,2,…,10}→{1,2,…,10}中,有些函数有固定点,另一些没有,这两种函数的数量相差多少?

ec81398be403c9801634172e1ae726ba.jpeg

目前,该项目的代码,数据,模型,Demo均已公开至GitHub和Hugging Face,同时支持在线体验。

论文地址:
https://arxiv.org/abs/2406.18629
GitHub:
https://github.com/dvlab-research/Step-DPO
在线Demo:
http://103.170.5.190:7870/
模型(HF):
https://huggingface.co/collections/xinlai/step-dpo-6682e12dfbbb2917c8161df7
数据(HF):
https://huggingface.co/datasets/xinlai/Math-Step-DPO-10K

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值