当前位置: 首页 > news >正文

【RL第七篇】PPO训练策略,如何使PPO训练稳定?

一、前言

PPO的基础可以在前面看一下:

从基础概念->策略梯度->RLOO->GAE->TRPO->PPO

之后如何让PPO训练稳定,也是个巨大的命题。会有很多trick,这次聊一下。

主要读这个,写的很全面:

  • https://arxiv.org/pdf/2307.04964

这个博客不会把论文中的各种交融实验花太多的篇幅来讲,主要是把各种策略都列出来,具体的结果,可以直接训练中感受~

二、训练可能出现的问题

RL训练非常常见的一个问题是:训练崩溃

Policy Model被过度优化,通过一些特殊策略去欺骗reward系统,拿到高分,实际上且和我们的需求不符。

红色线表示winrate sft模型,sft模型就是我们要优化的policy模型,这里展现的是winrate在降低而reward持续提升,表示当前的评估和reward score趋势表现的不一致,就可能是目前这种情况导致的。

其实从使用一个随机的子训练集的reward score分布也可以看出一些端倪,会出现和之前old policy模型不一样的特征情况:

所以大概RL训练出现崩溃的步数在700左右的位置。

三、PPO-MAX

左图显示了PPO RLHF框架的等效结构。右侧显示PPO的实现详细列表。带圆圈的数字表示该策略在PPO训练中的使用位置。五角星表示PPO-max使用的方法。

其中右侧的表示各种PPO训练稳定性的trick。其中PPO-MAX是包含了带五角星的trick的架构,可以提供一组支持稳定优化的实现情况

3.1 参数重置

{r(x,y)}≜{rn(x,y)}n=1B\{ r(x,y)\} \triangleq \{ r_n(x,y)\} _{n = 1}^{\mathcal{B}}{r(x,y)}{rn(x,y)}n=1B 表示训练中的奖励序列,rn(x,y)r_n(x,y)rn(x,y) 表示每批奖励的结果。

σ(A)\sigma(A)σ(A)Aˉ\bar{A}Aˉ 分别表示变量 AAA 的均值和标准差

奖励缩放(Reward Scaling)
rn(x,y)=rn(x,y)/σ(r(x,y)) r_n(x,y) = r_n(x,y)/\sigma(r(x,y)) rn(x,y)=rn(x,y)/σ(r(x,y))

奖励归一化与裁剪(Reward Normalization and Clipping)
r~(x,y)=clip⁡(rn(x,y)−r(x,y)‾σ(r(x,y)),−δ,δ) \tilde{r}(x, y)=\operatorname{clip}\left(\frac{r_n(x, y)-\overline{r(x, y)}}{\sigma(r(x, y))},-\delta, \delta\right) r~(x,y)=clip(σ(r(x,y))rn(x,y)r(x,y),δ,δ)

优势归一化与裁剪(Advantages Normalization and Clipping)

A~=clip⁡(A−A‾σ(A),−δ,δ) \tilde{A}=\operatorname{clip}\left(\frac{A-\overline{A}}{\sigma(A)},-\delta, \delta\right) A~=clip(σ(A)AA,δ,δ)

区别在于 优势函数只在minibatch范围

消融实验

3.2 策略限制

token level的KL散度惩罚:

rtotal(x,yi)=r(x,yi)−ηKL(πθRL(yi∣x),πRef(yi∣x)), r_{\text{total}}(x, y_i) = r(x, y_i) - \eta \text{KL} \big( \pi_\theta^{\text{RL}}(y_i \mid x), \pi^{\text{Ref}}(y_i \mid x) \big), rtotal(x,yi)=r(x,yi)ηKL(πθRL(yix),πRef(yix)),

Entropy Bonus

利用交叉熵的loss来代表策略的探索性

LENTROPY=−∑xp(x)log⁡p(x) L_{\text{ENTROPY}} = -\sum_{x} p(x) \log p(x) LENTROPY=xp(x)logp(x)

消融实验

3.3 预训练初始化

一个常见的设置是用参考模型和奖励模型初始化策略和评论家模型。

直接看结果:

Critic Model Initialization

  1. 用SFT模型初始化critic模型,并随机初始化其奖励头。
  2. 只优化奖励模型,直到值损失预测函数接近零。

基于实验结果,论文认为critic预训练提供更好的优势估计,有助于提高训练的稳定性。用reward model或SFT model作为critic将收敛到类似的结果,这意味着PPO可以自适应地提供拟合优势函数的能力。

Policy Model Initialization

Policy用pretrain的模型,而不是sft后的模型,效果可以看到非常差,相当于没用微调,直接从pretrain到与人类偏好对齐了。

http://www.dtcms.com/a/324861.html

相关文章:

  • unity中如何让原人物动画兼容新人物的动画
  • 异步问题的概念和消除问题技巧
  • Graph-R1:一种用于结构化多轮推理的智能图谱检索框架,并结合端到端强化学习
  • 【面板数据】全国及各省份技术市场成交额数据-dta+xlsx格式(2001-2023年)
  • nginx+lua+redis案例
  • 《Webpack与Vite热模块替换机制深度剖析与策略抉择》
  • 消息生态系统全景解析:技术架构、核心组件与应用场景
  • 【Python练习】085. 编写一个函数,实现简单的DNS服务器功能
  • LeeCode 46. 全排列
  • 【树\思维】P1395 会议
  • 33.搜索旋转排序数组
  • Agno智能体框架简单使用
  • docker等基础工具使用
  • 从策略梯度到 PPO
  • java中的继承
  • Flutter开发 LinearProgressIndicato、CircularProgressIndicator
  • django基于Python的设计师作品平台的数据可视化系统设计与实现
  • QT的常用控件说明
  • Java基础—解析注解
  • 游戏常用运行库合集:一键解决游戏兼容性问题
  • 锂电池SOH预测 | 第35讲 Matlab基于BiLSTM的锂电池健康状态估计(锂电池SOH预测),附锂电池最新文章汇集
  • scanpy单细胞转录组python教程(二):单样本数据分析之数据质控
  • springboot的基础要点
  • 【Task3】【Datawhale AI夏令营】多模态RAG
  • 3.4路由守卫
  • Words or Vision Do Vision-Language Models Have Blind Faith in Text
  • Java中new的相关知识
  • nginx-主配置文件
  • Redis的批处理优化
  • 【高等数学】第八章 向量代数与空间解析几何——第六节 空间曲线及其方程