本文从基础的policy-based强化学习方法开始,逐个的引入PPO方法中的各个技术细节,最终水到渠成介绍RLHF中的PPO实现,并最终给出我的一些思考。 一、LLM训练过程概览 SFT(Supervised Fine Tuning) 用监督数据(对话语料)进行finetune,使模型具备一定的对话能力,得到SFT模型。 训练Reward Model 采样SFT模型生成的回复,由人...
在PPO 微调阶段,我们有四个模型: SFT LM:第一阶段 SFT 过后得到的模型,它在 PPO 阶段参数冻结,作为 reference model,不进行更新。 RL LM:我们要微调的 LLM,初始参数与 ref LM 一致。用强化学习的术语,可以称它为 actor model reward model:第二阶段得到的奖励模型,在 PPO 阶段参数冻结。 critic model:用于...
TRL(Transformer Reinforcement Learning)是一个全面的库,专为使用强化学习训练变换器语言模型而设计。它包含多种工具,可以支持从监督式微调(SFT)开始,通过奖励建模(RM)阶段,最终达到近端策略优化(PPO)阶段。此库与🤗 transformers框架无缝集成。 https://huggingface.co/docs/trl/index 代码语言:javascript 复制 dpo_...
我们重复利用了1个batch的数据,使本来只能被用来做1次模型更新的它现在能被用来做ppo_epochs次模型更新。我们使用真正吃了batch,产出经验值的那个时刻的Actor分布来约束ppo_epochs中更新的Actor分布 我们考虑了剪裁机制(clip),在ppo_epochs次更新中,一旦Actor的更新幅度超过我们的控制范围,则不对它进行参数更新。 4.2 ...
2.1 PPO 强化学习概念 大语言模型完成奖励模型的训练后,下一个阶段是训练强化学习模型(RL 模型),也是最后一个阶段。大语言模型微调中训练 RL 模型采用的优化算法是 PPO(Proximal Policy Optimization,近端策略优化)算法,即对设定的目标函数通过随机梯度下降进行优化。近端策略优化是一种深度强化学习算法,用于训练智能体...
其中演员就是我们想要训练出来的大模型。在用 PPO 训练它之前,它就是 RLHF 的第一步训练出来的 SFT (Supervised Fine-Tuning) model。输入一段上下文,它将输出下一个 token 的概率分布context。评论家是强化学习的辅助模型,输入一段上下文,它将输出下一个 token 的“...
"强化优势动作"是 PPO 学习阶段的焦点。在深入探讨之前,我们首先要明确一个关键概念——优势。 此处,我们将优势定义为“实际获得的收益超出预期的程度”。 为了解释这个概念,请允许我举一个例子。假设一个高中生小明,他在高一时数学考试的平均分为 100 分,在此之后,大家对他的数学成绩的预期就是 100 分了。到...
之后,开始强化学习策略训练阶段;在这个阶段,LLM 和预训练奖励模型分别作为一个强化学习框架中的智能体和环境。为了训练 InstructGPT,要用到三个数据集:1.SFT 数据集:包含用于训练 SFT 模型的标注者演示。2.RM(奖励模型)数据集:由人类标注者对模型输出的排名构成,用于训练奖励模型。3.PPO 数据集:由用作 ...
2.1 PPO 强化学习概念 大语言模型完成奖励模型的训练后,下一个阶段是训练强化学习模型(RL 模型),也是最后一个阶段。大语言模型微调中训练 RL 模型采用的优化算法是 PPO(Proximal Policy Optimization,近端策略优化)算法,即对设定的目标函数通过随机梯度下降进行优化。近端策略优化是一种深度强化学习算法,用于训练智能体...
对PPO的每个部分选择最有效的策略以实现PPO-max,具体实现可以参阅开源代码。 首先根据历史均值和方差记录对当前奖励组进行归一化和裁剪,然后添加KL-惩罚项来约束策略优化。 在模型加载阶段,用奖励模型初始化critic模型,并在正式应用PPO之前对其进行预训练,然后使用全局梯度裁剪并设置较小的经验缓冲区。