OpenAI-o1 替代品来了,大模型能根据任务复杂度进行不同时间的思考。
不限于推理性的逻辑或数学任务,一般问答也能思考的那种。
最近畅销书《Python 机器学习》作者 Sebastian Raschka 推荐了一项新研究,被网友们齐刷刷码住了。
论文一作为华人学者 Tianhao Wu,导师之一是 2011 年清华特奖得主焦剑涛。
团队提出了一种称作思考偏好优化(Thought Preference Optimization)的方法,能让模型像 OpenAI-o1 一样,通过内部 “思考” 输出更好答案,最终只显示结果,不展示思考过程。
TPO 将思维链式提示 / 推理融入训练中:
在回答之前,用思维链式方法进行思考;使用一个 LLM 评判来评估响应(不包括由 LLM 生成的想法);根据被拒绝和优选的响应形成偏好对进行 DP****O(包括这些响应中的想法)。
基于 Llama 3 8B Instruct 的结果表明,TPO 效果相当好。
有意思的是,如果添加了思维提示,但 Llama 3 8B Instruct 基础模型没有在偏好对上经历 DPO 微调,那么这个基础模型的性能会比没有思维提示时差得多。
在指令数据(直接响应基线)上对模型进行微调(无需思考提示)就能显著提升基模型的性能。
进一步加入 TPO,在 AlpacaEval、Arena-Hard 基准测试中,性能比基线再提升约 4%。
网友纷纷表示这项研究很有意思,简单而又实用。
如果你已经在进行 DPO,那么采用这种方法几乎就是不二之选了。
所以,TPO 到底长啥样?
两种思考提示模板,无需额外人工标注数据
TPO 的基本思路就是让模型在给出最终回答前先生成 “思考” 过程,且思考过程对用户不可见,仅作为模型内部计算过程,然后通过迭代优化来提升思考的质量,无需额外的人工标注数据。
具体来说,它的实现过程始于一个经过指令微调的基础语言模型,首先通过提示词引导模型生成包含思考过程和最终回答两个部分的输出。
这个提示词可以是通用型的,简单要求模型写下思考过程;也可以是具体型的,明确要求模型先写出草稿回答并进行评估。
对于每个用户指令,模型会生成多个不同版本的输出,每个都包含思考和回答部分。
且思考过程采用自然语言形式,便于解释和利用预训练知识。
然后系统会将这些输出中的回答部分(不含思考过程)提供给一个评判模型来打分。
评判模型可以是像 ArmoRM 这样直接对单个回答评分的模型,也可以是像 Self-Taught Evaluator 这样通过比较两个回答来选出更好者的模型。
基于评判结果,系统会选出得分最高和最低的回答,连同它们对应的思考过程一起构成偏好对。
这些偏好对随后被用于直接偏好优化(DPO)训练,通过这种方式,模型能够逐步学习到哪些思考方式能带来更好的回答。
整个过程是迭代进行的,每轮训练后得到的新模型会被用于下一轮的思考和回答生成。
为了防止回答变得过于冗长,TPO 还引入了长度控制机制,通过在评分中加入长度惩罚项来平衡回答的质量和简洁性。
值得注意的是,在实际使用时,模型生成的思考过程会被隐藏,只向用户展示最终的回答部分。
更多细节,感兴趣的童鞋可自行查看原论文。
通过这种训练方法,即使是像 Llama-3-8B-Instruct 这样相对较小的模型也能在 AlpacaEval 等基准测试中取得接近甚至超过一些更大模型的性能。
在 AlpacaEval 基准测试中,TPO 模型获得 52.5% 的胜率,比基线提升 4.1%;在 Arena-Hard 测试上,TPO 模型获得 37.3% 的胜率,比基线提升 4.3%。
研究发现,虽然在训练初期,带思考的模型表现不如直接回答的基线模型,但经过多轮迭代训练后,TPO 模型的表现明显超过****基线。
更细致的分析显示,思考不仅对推理和数学等传统认为需要思考的任务有帮助,在营销、健康、一般知识等非推理任务上也表现出优势,模型会随着训练逐渐学会更高效的思考(思考长度缩短)。
华人一作
这项研究由来自 Meta FAIR、加州大学伯克利分校、纽约大学的研究人员共同提出。
论文一作为华人学者 Tianhao Wu。
Tianhao Wu 目前是加州大学伯克利分校博士生,导师是焦剑涛(Jiantao Jiao)和 Kannan Ramchandran。
本科主修数学,合作导师是北大教授、清华交叉信息学院兼职教授王立威(Liwei Wang)。
他的研究重点是通过强化学习改善大语言模型的指令遵循和推理能力,目标是构建可以解决需要多步骤推理的复杂任务的大规模模型。
此外他还在开发由 Agent 组成的 AI 社会,这些 Agent 可以以模块化的方式连接起来,形成更强大的集体智能。
参考链接:
[1]x.com/rasbt/statu…
[2]thwu1.github.io/tianhaowu/
— 完 —