ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
贾佳亚团队新作:10k数据让大模型数学能力超GPT-4
9040点击    2024-07-06 20:14

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


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


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



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


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


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


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


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


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


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


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


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


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


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


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


因此,DPO的优化目标为:



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


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


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



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



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


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


Step-DPO的优化目标为:



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



第一步是错误收集


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


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


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


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



第二步是错误步骤定位


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


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



最后是错误步骤修正


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



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



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



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榜单上也有显著提升。



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


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



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



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


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



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


文章来源于“量子位”,作者“关注前沿科技




关键词: 贾佳亚 , AI , GPT-4 , 大模型 , AI数学
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

2
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0