LLM中On-Policy与Off-Policy的本质区别是什么?


LLM中On-Policy与Off-Policy的本质区别是什么?

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

来源|知乎
作者|杨氏双缝干涉
从第一性原理出发,二者的根本区别在于更新模型策略所用数据的来源。
On-Policy,顾名思义,指的是“用正在学习的策略产生的数据来学习”。即,智能体(在LLM中指语言模型本身)严格使用其当前策略(Policy)与环境交互所产生的数据来更新和优化自身。这意味着,一旦策略发生更新,所有旧的交互数据都将被废弃,因为它们是由一个“过时”的策略产生的。
Off-Policy则更为灵活,它指的是“用并非当前学习的策略所产生的数据来学习”。智能体可以利用由其他策略(甚至是历史策略或人类示范数据)产生的数据来更新当前策略。这解耦了“数据生成”和“策略学习”两个过程,从而提高了数据利用效率。
特性
on-policy
off-policy
第一性原理
学习用的数据必须由当前策略生成
学习用的数据可以来自任何策略
数据来源
实时交互,在线生成
离线数据集或历史数据
数据效率
低,用完即扔高,
可重复利用
核心思想
用当前策略产生的经验迭代优化自身
解耦数据生成、策略学习
核心思想:利用一个固定的、离线的人类偏好数据集,直接优化语言模型。这个数据集通常包含一系列的提示(Prompt),以及对模型生成的两个回答的偏好标签(哪个更好,哪个更差)。
DPO损失函数直接将策略与人类偏好挂钩,其目标是最大化模型生成“更优”回答的概率,同时最小化生成“更差”回答的概率,并且与一个固定的参考模型(ReferenceModel)保持一定的距离,防止模型在优化过程中“忘掉”其预训练时学到的知识。
1、数据来源的非交互性:DPO所用的偏好数据{ {} }是一次性收集并固定的。在整个DPO的训练过程中,模型不会用其正在更新的策略去与环境(或人类)交互产生新的偏好数据。
2、行为策略与目标策略的分离:将生成这个偏好数据集的策略(可能是早期的某个模型版本,甚至是多个不同模型的混合)看作是行为策略(BehaviorPolicy)。而我们正在优化的当前模型,则是目标策略(TargetPolicy)。DPO的目标是利用行为策略产生的数据,来优化目标策略,使其更符合人类偏好。
核心思想:对于一个给定的提示,让当前模型生成一组(Group)候选回答(例如,生成8个不同的回答)。然后,一个奖励函数(可以是一个训练好的奖励模型,也可以是基于规则的打分器)会为这组中的每一个回答打分。GRPO利用这一组回答的相对好坏来计算优势(Advantage),并更新策略。它通过比较组内样本的得分均值和标准差来归一化奖励,从而指导模型向着生成更高分回答的方向优化。
作为On-Policy方法,最直接的实现如下:
数据由当前策略生成:在每个训练步骤中,我们使用当前正在优化的策略来生成一组候选回答。
即时更新与抛弃:基于这组新生成的数据计算出的梯度来更新策略。更新完成后,这组数据就会被丢弃,下一个步骤会由新的策略重新生成数据。这个流程保证了数据分布和策略分布的一致性。
左图介绍整个训练流程;右图中,s代表同步频率(SynchronizationFrequency)。s=100意味着“学习模型”每进行100次参数更新后,才会将自己的最新知识同步给“数据生成模型”。
对于DPO来说,s=1意味着on-policy,s=k论文中称之为Semi-onlineOptimization,则为off-policy。
GRPO是on-policy,不再赘述。
Non-verifiable
Verifiable
data
WildChat-1Mdataset
NuminaMathdataset
Reward
Athene-RM-8Bscalarscore
使用开源工具Math-Verify计算分值
Eval
AlpacaEval2. 0,Arena-Hardmath500,
NuminaMath,AMC23
相较于offlineDPO,semi-onlineDPO的性能有较大提升;
semi-onlineDPO甚至都略超过了GRPO,揭示了semi-onlineDPO的可能性。
结论同上。
•只训练单一任务会导致“偏科”,无法自动迁移;
•跨任务微调是比较有效的,WC-checkpoint在NMonly任务上训练,数学能力显著提升,并且ArenaHard的能力也达到最优;
•从头开始混合训练是打造“全能模型”的可靠方法;
“LogitEntropy”衡量的是模型在生成每一个词(token)时的不确定性或随机性。
•高熵(HighEntropy)意味着:模型对于下一个词应该是什么感到比较“困惑”或“开放”。它认为有很多个词都是可能的选项,并且这些选项的概率分布比较平均。这通常代表着模型会生成更多样化、更具探索性的回答。
•低熵(LowEntropy)意味着:模型对于下一个词是什么非常“自信”和“确定”。它的概率分布高度集中在少数几个甚至一个词上。这会导致模型生成的内容更单一、更确定化。
“RolloutLength”指的是模型回答的平均长度。“Rollout”可以理解为模型生成的一次完整回答。
•监控该指标的目的:在强化学习微调中,有时训练不稳定会导致模型“钻空子”,比如学会用生成极长或极短的无意义回答来骗取奖励。因此,监控回答的长度是判断训练是否稳定、模型行为是否正常的一个重要指标。
尽管从外部看,模型的回答长度(右图)一直很正常和稳定,但其内部的生成过程(左图)却发生剧烈变化。
具体来说,对于在线和半在线的训练方法:
•表面上:模型行为稳定,产出的答案长度适中。
•实际上:模型的“思想”或“创造力”正在枯竭(Entropycollapse)。它学会了用一种非常固定的模式来生成答案,虽然这种模式在可验证任务(如数学题)上可能是有效的,但也意味着模型牺牲了生成内容的多样性。
•作者通过引入norm的方法,试图缓解Entropycollapse,该方法虽然能在形式上维持住熵,但这种强制的多样性并没有转化为实际任务性能的提升。
•Trade-off:对于数学题这类“有标准答案”的可验证任务,最高效的学习路径可能本身就是收敛到一个单一、最优的解题策略。强行让模型保持“思维发散”(高熵),反而可能干扰它对最优解的精确学习,导致训练不稳定且性能没有实质提升。


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录