最近有趋势是要扩大post-training规模,本文讨论的就是Llama3.1等开源大模型的技术报告里的post-training部分,已经有很多文章提到其中的细节要点了,这里更着重于比较大的层面。
DPO vs PPO
整个93页报告当然是很有份量的,很大程度的推进了领域内的发展,但令人失望的是,没有像在 Llama 2 中使用 PPO 那样对 SFT->DPO 进行彻底的分析。另外,本来以为会有很多关于 DPO 与 PPO 怎么选择的内容,但文章里面只说了“我们还探索了 PPO 等在线策略算法,但发现 DPO 对于大规模模型所需的计算更少,并且性能更好,尤其是在遵循 IFEval 等基准测试的指令方面”。虽然学界已经有很多paper证实了PPO有更高的上限[1][2]和表现,但是几乎没有开源的大模型有具体实现PPO的细节,像QWEN,Llama用的是online DPO,而deepseek则是魔改PPO的GRPO,OA两家闭源大模型应该是有祖传的实施PPO的infra,既然有就直接用了。
但是不必太过纠结两者间的选择,个人感觉使用DPO也仅仅是出于它的简单实用性,更容易scale,而不是说DPO一定大于PPO。用DPO训练405B模型时,可能还会缓存reference model,这样再相比PPO的四个模型,会节省大量计算资源。况且在X上看到有人说Llama4会用PPO类的算法,那么有可能3更关注于各种合成数据pipeline的搭建,4可能会着重于架构和算法。但PPO确实太老了,希望能提出新的替代品。
Preference Data
虽然都说开源,但开源偏好数据集的机构也太少了,感觉与其说是开源更像免费使用的软件,不过也能理解,毕竟数据都是真金白银买的。值得一提的是,除了部分偏好数据需要人的参与外,其余llama3训练基本都采用的是synthetic data了,那么人的标注是否真的有用呢?只用LLM-as-a-judge(用LLM来判断哪个回答更好)或者RM输出哪个奖励更高可行吗?如果没用,meta应该也不会花这么多钱买吧。那么两者之间的差距有多少呢?人类偏好所带来的噪声是否更有助于提升大模型各方面的性能呢?希望有更多相关的研究。
Iteration
从llama2开始,RLHF就是一个迭代的过程。Llama 2 和 Nemotron 训练5轮,Llama 3是6轮,迭代的原因可能有2个。
1.数据是外面公司分批发放的,不可能等到发完再训。而且分批训练,从工程上有更多调整的空间,这样能保证每次效果都有提升。
2.防止reward hack,如果单轮训练,模型很容易过度优化,需要及时更新reward model。甚至如果没有RM,比如说最原始的DPO,也有这种现象[3]。
那么这种迭代是否有上限呢?是否只是因为时间限制所有才只有五六轮?那么怎么scale呢,是不是可以可以参照预训练里面加SFT数据,在预训练阶段加偏好数据呢,所以前段时间openAI才会提出mid-training?
Synthetic Data
整个llama3 report最让人印象深刻就是合成数据工作,里面大部分是关于数据管理的。未来的大模型训练工作会把数据分为多个domain,每个domain都有一套自己的数据搜集,合成,过滤的pipeline,这些数据会成为各家公司真正的护城河。值得一提的是,前些天登上nature封面的论文[4]是有夸大的成分,文章里面有几个违背实践的假设,比如说模型迭代过程中会丢弃以前的数据,数据集大小不变,数据中没有外部feedback等等,根据论文[5],模型崩溃是可以避免的。
Math and Reasoning
最近有很多工作是关于在post-training种提升大模型数学和推理能力的,总的来说就是把结果的奖励信号传递到各个推理过程中或者说把结果导向的sparse reward分解成dense reward。大致分为三种,一种是通过MCTS生成数据和value/reward model迭代提升,再用生成的数据SFT/step-DPO微调大模型,一种是精心训练好Process Reward Model,然后再用PPO类的算法优化,第三种是用lean形式化问题,然后再从它给出的反馈中学习。
第一种是很多论文的做法[6][7][8],llama3里也用了相似的方法生成数据,对于困难问题用MCTS和step-wise reward进行数据生成。
第二种是Qwen2-Math的做法, math上已经到了84, 主要做法是用PRM进行reject sampling SFT, 然后再用PPO的替代品GRPO, hat
也就是通过采样多个回答去掉了critic网络, 类似想法的还有apple的大模型, 发现clip起作用的时候也很少, 且actor-critic一旦奖励模型不好会有累计误差, 干脆回归reinforce, 用
计算advantage, 然后再MDPO。
第三种有[9],还有最近很火的AlphaProof。
对比之前一直诟病的RLHF只是加了KL约束的bandit learning,根本没有planning或者reasoning,通过以上方法得到了一定程度的缓解。总的来说LLM+search是很有潜力的,repeated sample可以大幅提升模型正确率[10](感觉这一点被低估了,以后应该会有很多工作从这下手的),search可以看作更高效率的sample,这也说明模型本身是有能力的,但如何让它发挥出来呢,以上方法本质就是通过偏好优化让模型知道什么是对的错的从而提升能力。但前两种方法用不用MCTS没有很大差别,无论第一种直接用step-wise数据step-DPO模型[11],还是第二种在PRM基础上加MCTS[12],都没有很大差别,看来还需要继续在这方面优化啊。
Post-training的作用与展望
在GPT刚问世的时候,业界对于RLHF的作用还存在质疑。许多公司发现,仅仅使用SFT就足以满足他们的需求。甚至在Meta内部,对于是否应该使用RL技术也存在分歧。
但是随着DPO等算法的推出,以及开源社区更多经验的分享,业界逐渐接受了RLHF这一训练环节的重要性。学术界提出了各种XPO方法,而工业界也提出了多种PPO的替代算法。
逐渐认识到RLHF的价值:RLHF能够在各种评测榜单中显著提高模型分数(刷分利器),在定制化这块也很有前景,对聊天风格的转换这一点很重要,它使得OpenAI发布的mini小模型都能在Arena中排前三,这一点也许正是国内大模型欠缺的。
总结来说post-training的转变可以参照下图
图片来自https://www.interconnects.ai/
可以明显的看出alignment阶段规模的扩大。Thomas Scialom,Llama 3 的对齐负责人在https://www.latent.space/p/llama-3里面也提到RLHF起的作用远超IFT,需要将更多预算放在这一阶段上,从中也可以看出未来工作的重点。
以后的重点会是如何建立一个好的pipeline来造偏好数据/合成数据,类似于这种[13]。
无论是生成偏好数据还是用作reject sampling,reward model都参与其中,重要性不言而喻,像这种新架构[14]是很棒的工作。
如果apple intelligence在市场上获得成功,那么交互方式的改变会带来很大的市场,端侧小模型会更受到重视,蒸馏是小模型的关键(apple的report里面反复强调,llama3里也提到小模型会从大模型的合成数据里获得巨大提升),但小模型由于表征能力弱导致微调较难,会不会有更多学术论文专门研究小模型的微调呢?
前几天Karpathy在X上用AlphaGo做类比,表达目前的RLHF只是套了个RL的壳,真正起作用的是数据获取的改变(从头开始写回答到只需要判断哪个回答更好)。确实RL只在game-like environment表现更好,当在总结文本这类开放性任务中,很难定义奖励函数,在这些任务中提供给RL的只有critic而不是具体的奖励信号,或者说critic就足够了?
真正的RL也许在LLM agent类的应用上更先落地,那些更能定义目标函数以及结构上更MDP的问题,WebArena[15],WebShop,或者说一些交互式的环境,也许会是很好应用RL的场景。
参考
-
Preference Fine-Tuning of LLMs Should Leverage Suboptimal, On-Policy Data https://arxiv.org/abs/2404.14367
-
Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study https://arxiv.org/abs/2404.10719
-
Scaling Laws for Reward Model Overoptimization in Direct Alignment Algorithms https://arxiv.org/abs/2406.02900
-
https://www.nature.com/articles/d41586-024-02420-7
-
Is Model Collapse Inevitable? Breaking the Curse of Recursion by Accumulating Real and Synthetic Data https://arxiv.org/abs/2404.01413
-
Monte Carlo Tree Search Boosts Reasoning via Iterative Preference Learning https://arxiv.org/abs/2405.00451
-
Step-level Value Preference Optimization for Mathematical Reasoning https://arxiv.org/abs/2406.10858
-
RL on Incorrect Synthetic Data Scales the Efficiency of LLM Math Reasoning by Eight-Fold https://arxiv.org/abs/2406.14532
-
Lean-STaR: Learning to Interleave Thinking and Proving https://arxiv.org/abs/2407.10040
-
Large Language Monkeys: Scaling Inference Compute with Repeated Sampling https://arxiv.org/pdf/2407.21787
-
Step-DPO: Step-wise Preference Optimization for Long-chain Reasoning of LLMs https://arxiv.org/abs/2406.18629
-
ReST-MCTS*: LLM Self-Training via Process Reward Guided Tree Search https://arxiv.org/abs/2406.03816
-
Self-Taught Evaluators https://arxiv.org/pdf/2408.02666
-
Interpretable Preferences via Multi-Objective Reward Modeling and Mixture-of-Experts https://arxiv.org/pdf/2406.12845
-
TREE SEARCH FOR LANGUAGE MODEL AGENTS https://arxiv.org/pdf/2407.01476