← 返回 2026-07-29

面向小规模语言模型智能体的鲁棒强化学习 Towards Robust Reinforcement Learning for Small-Scale Language Model Agents

Md Rezwanul Haque, Md. Milon Islam, Fakhri Karray 📅 2026-07-27 👍 6 2026-08-03 18:30
LoRA PPO RLHF 小语言模型 强化学习 模型对齐

系统诊断小模型PPO对齐的三大失效模式,提出工程化稳定框架与能力余量假说

前置知识

PPO(近端策略优化)

PPO是一种策略梯度强化学习算法,通过裁剪重要性比率$\rho_t=\pi_\theta(a_t|s_t)/\pi_{old}(a_t|s_t)$把更新限制在小信任域内,比值被裁剪到$[1-\epsilon,1+\epsilon]$(本文$\epsilon=0.2$)以防止单步破坏性大更新,并用GAE($\lambda=0.95,\gamma=1.0$)估计优势函数。自InstructGPT以来,PPO加KL惩罚是大规模RLHF的标配,但在小模型上常被认为不稳定。

本文的研究对象正是PPO在小模型上的稳定性。要理解三大失效模式(梯度阻断、比率溢出、策略坍塌)以及三层安全机制(重要性比率守卫、奖励白化、权重回滚),必须先掌握重要性比率、KL散度和优势估计的工作原理。

LoRA(低秩适配)与PEFT

LoRA是一种参数高效微调方法:冻结预训练权重$\theta_0$,仅训练低秩增量$\Delta\theta=\frac{\alpha}{r}BA$,其中$A\in\mathbb{R}^{r\times d}$、$B\in\mathbb{R}^{d\times r}$、秩$r\ll d$(本文按模型容量取$r\in\{8,16,32\}$,$\alpha=2r$),从而大幅节省显存。它通过HuggingFace的TRL库实现,但本文发现其参数在某些实现中会被错误地标记为不可训练。

第一个失效模式正是PEFT/TRL中LoRA参数被静默冻结、阻断梯度流,导致$\Delta=0$。理解LoRA的权重更新机制是理解merge-and-reinitialize这一核心修复方案的前提。

RLHF与Bradley-Terry奖励模型

RLHF标准流程为SFT$\rightarrow$奖励模型$\rightarrow$PPO三阶段。奖励模型$r_\phi(p,y)$用Bradley-Terry损失$\mathcal{L}_{RM}=-\mathbb{E}[\log\sigma(r_\phi(p,y_w)-r_\phi(p,y_l))]$在偏好对上训练;PPO阶段优化$J(\theta)=\mathbb{E}[r_\phi(p,y)-\beta\,\mathrm{KL}(\pi_\theta\|\pi_{SFT})]$,KL惩罚防止策略偏离SFT先验。该损失具有加性不变性,绝对奖励值跨配置不可比。

本文完整复现了这条三阶段流水线,并强调保留显式奖励模型可提供诊断透明性,这是相对DPO/GRPO的关键差异点。

bfloat16与数值精度

bfloat16用8位指数、7位尾数表示浮点数,动态范围大但精度远低于float32(23位尾数)。重要性比率$\rho_t=\exp(\log\pi_\theta-\log\pi_{SFT})$的计算中,两个相近对数概率相减会因7位尾数而丢失大量有效位,发生灾难性抵消,使比值在首个优化步就溢出到$10^6$量级并触发硬件异常。200M参数以下模型尤其敏感。

第二个失效模式正是bfloat16下重要性比率溢出。理解浮点精度与抵消误差,才能理解为何PPO循环必须全程使用float32。

困惑度(PPL)与SFT先验

困惑度衡量语言模型对文本的预测好坏,越低越流畅。本文将其作为SFT先验质量的代理指标,并提出能力余量假说:PPO有效性取决于$\mathrm{PPL}_{SFT}$是否足够低,而非参数量本身。当$\mathrm{PPL}_{SFT}<20$时PPO才稳定提升,$20\sim 50$区间收益有限甚至回退,超过50则几乎无改善。

PPL阈值是本文为从业者给出的核心可操作决策规则,也是理解为何Pythia-70M(PPL 51.4/70.3/115.1)PPO无效、而Pythia-410M(PPL 6.5)有效的关键。

研究动机

70–500M参数的小语言模型(SLM)适合隐私敏感、资源受限和端侧智能体场景,但其RL对齐长期被默认为不稳定。RLHF配合PPO在1.3B–175B参数模型上已被充分验证,可一旦降到SLM尺度,从业者普遍直接改用SFT或DPO、KTO、GRPO等偏好学习方法,却几乎无人系统地追问PPO到底为何失败。此外,从大模型迁移而来的工程实践在小尺度上悄然失效:例如通过TRL库实现的LoRA+PEFT流水线里,适配器参数会被静默冻结,使策略只产出roll-out却不真正更新;bfloat16精度下200M以下模型的PPO重要性比率会因尾数不足而溢出到$10^6$;奖励分布长尾叠加无界KL惩罚会引发不可恢复的策略坍塌。这些被忽视的工程陷阱使得SLM的PPO训练频繁出现梯度爆炸和奖励坍塌,掩盖了PPO本身在诊断透明性上的价值。

本文的目标是本文的目标是系统而可复现地诊断PPO在小语言模型(70–500M)对齐中的失效机制,给出工程化的稳定方案,并建立一条可操作的部署决策规则。具体而言,作者构建了一条端到端的SFT$\rightarrow$奖励模型$\rightarrow$PPO流水线,在5个模型(Pythia-70M/160M/410M、SmolLM2-135M/360M)与3个语料(TinyStories、CNN/DailyMail、Wikitext-103)构成的15个配置上保持超参数完全一致,以区分配置特有问题与结构性失效。在此基础上,目标是为每个失效模式匹配具体修复手段,并用统计检验量化PPO何时真正带来显著提升,最终把经验规律提炼为能力余量假说,为端侧SLM智能体的对齐提供可重复的工程基础。

与已有工作不同的是,本文的独特切入角度在于不走新优化目标路线,而是把已有的经典PPO当作控制回路来工程化诊断。与DPO/GRPO这类去除显式奖励模型的方法不同,作者坚持保留奖励模型以维护智能体系统的诊断透明性,转而识别并修复与模型尺度强相关的三类闭环失稳。其次,作者从控制论视角把PPO更新刻画为奖励、KL散度、重要性比率三个信号构成的离散时间反馈回路,把失效视为闭环失稳,用信号调节、死区限幅与状态恢复在控制器层面修复。最后,相较以往仅报告参数量与性能的工作,本文提出以SFT先验困惑度($\mathrm{PPL}_{SFT}$)和奖励可区分度为判据的能力余量假说,把问题的本质从参数量重新定位为先验流畅性与奖励信号质量。

核心方法

整体思路是先用控制论直觉把PPO视为反馈回路,再沿SFT$\rightarrow$奖励模型$\rightarrow$PPO三阶段流水线逐一排查失稳点。系统在5个模型$\times$3个语料共15个配置上运行,超参数全程固定以隔离容量效应。数据层用截断、句子打乱、跨例错配三种降级策略生成合成偏好对;SFT层用LoRA+NEFTune得到先验$\pi_{SFT}$;奖励模型层用Bradley-Terry目标训练线性评分头;PPO层引入merge-and-reinitialize(把SFT适配器并入基座、再挂载全新零初始化LoRA,并以其为冻结参考策略$\pi_{ref}\equiv\pi_{SFT}$),叠加三层安全机制:奖励白化(3σ裁剪到$[-3,3]$)、重要性比率守卫(mini-batch均值$\bar\rho>5$则跳过)、权重回滚(检测到NaN/Inf即恢复上一步参数)。整个PPO循环强制使用float32精度。

核心创新在于把SLM尺度上三类可复现失效映射为一套三层控制论安全框架。第一个失效是PEFT/TRL中LoRA参数被静默冻结阻断梯度,使$\Delta=0$;修复用merge-and-reinitialize重建可训练梯度通路。第二个失效是bfloat16下重要性比率$\rho_t=\exp(\log\pi_\theta-\log\pi_{SFT})$因7位尾数灾难性抵消而溢出;修复用全程float32。第三个失效是长尾奖励加无界KL导致策略坍塌;修复用奖励白化、$\bar\rho\le5$死区与权重回滚。与已有方法的本质区别是:不引入新优化目标、不放弃奖励模型,而是保留经典PPO并补齐尺度相关工程,同时提出能力余量假说——PPO有效性取决于先验流畅($\mathrm{PPL}_{SFT}<20$)与奖励可区分,而非参数量。

方法步骤详情

方法分四阶段。阶段0数据准备:对TinyStories、CNN/DailyMail、Wikitext-103各取1万条,按等比例用截断、句子打乱、跨例错配三种降级策略生成偏好对。阶段1 SFT:LoRA(秩$r\in\{8,16,32\}$)作用于注意力与FFN投影,加NEFTune,AdamW lr $2\times10^{-5}$、5轮,得先验$\pi_{SFT}$。阶段2奖励模型:把LM头换成线性投影,与LoRA、主体一同用Bradley-Terry损失训练(lr $10^{-5}$、2轮)。阶段3 PPO:先用merge把SFT适配器折入基座、挂零初始化LoRA,并以合并权重为冻结参考策略$\pi_{ref}\equiv\pi_{SFT}$;PPO用GAE、裁剪$\epsilon=0.2$、自适应KL目标6.0 nats、lr $5\times10^{-6}$、共250步,并叠加奖励白化(裁剪到$[-3,3]$)、重要性比率守卫($\bar\rho>5$跳过)、权重回滚(遇NaN/Inf恢复snapshot)三层安全机制,输出对齐后的$\pi_\theta$。

技术新颖性

技术新颖性体现在四点。其一,首次在小模型尺度上系统、可复现地刻画PPO的三类失效(LoRA梯度冻结、bfloat16比率溢出、奖励驱动策略坍塌),而非笼统归因于PPO不稳定。其二,以控制论视角把PPO更新建模为奖励/KL/重要性比率的反馈回路,用信号调节(奖励白化3σ)、死区限幅($\bar\rho\le5$)和状态恢复(权重回滚)在控制器层级修复闭环失稳,这是区别于新优化目标路线的工程化思路。其三,merge-and-reinitialize在$O(|\theta|)$复杂度的一次性合并中同时重建梯度通路并保证$\pi_{ref}\equiv\pi_{SFT}$,结构上解决了TRL+LoRA的静默冻结。其四,提出能力余量假说与$\mathrm{PPL}_{SFT}<20$的决策规则,把判据从参数量迁移到先验流畅度与奖励可区分度,并附带15个检查点、偏好数据集、训练脚本与交互验证应用作为可复现工件。

End-to-end RLHF pipeline for aligning small language model agents
Fig. 1: End-to-end RLHF pipeline for aligning small language model agents
Merge-and-Reinitialize for PEFT–PPO
Algorithm 1: Merge-and-Reinitialize for PEFT–PPO

实验结果

主结果表明收益高度依赖先验质量。TinyStories上最大正向增益为Pythia-410M($\Delta=+1.355$、胜率59.9%)与SmolLM2-360M($\Delta=+0.724$),均$p<0.001$。唯一显著回退是Pythia-410M/Wikitext-103($\mathrm{PPL}_{SFT}=25.4$超阈值,$\Delta=-1.043$);Pythia-70M三语料$\Delta$为$-0.075/-0.187/-0.062$,几乎贴着Fig.2对角线。Fig.3显示$\mathrm{PPL}_{SFT}$与PPO收益单调负相关、拐点约20,所有$\Delta>0.2$都落在阈值之下。与SOTA对比,SmolLM2-360M经PPO后在TinyStories($+2.41$)与Wikitext-103($+2.98$)取得同类最高奖励,超过SmolLM2-360M-Instruct($+2.58$)与Qwen2.5-0.5B-Instruct($+1.83$),数据少数个量级;D-1在14/15配置处于SFT的$\pm0.04$,未见模式坍塌。

Model parameters and per-corpus SFT perplexity
Table I: Model parameters and per-corpus SFT perplexity
查看结构化数据
任务指标本文基线提升
TinyStories上的PPO奖励增益(Pythia-410M) $\Delta=\bar r_{PPO}-\bar r_{SFT}$ / 胜率 $\Delta=+1.355$,胜率59.9%(95% CI $[+0.61,+2.10]$,$p<0.001$) SFT先验(奖励$-4.28$) 奖励$+1.355$,解析胜率较50%基线高约10个百分点
TinyStories上的PPO奖励增益(SmolLM2-360M) $\Delta$ / 胜率 $\Delta=+0.724$,胜率59.7%($p<0.001$) SFT先验(奖励$+1.69$) 统计显著的正向收益
Wikitext-103上与指令微调基线对比(360M类) 奖励模型分数$R\uparrow$ SmolLM2-360M (PPO) $R=+2.98$ Qwen2.5-0.5B-Instruct $+1.83$;SmolLM2-360M-Instruct $+2.58$ 以少数个量级的训练数据取得同类最高奖励
稳定机制消融(Pythia-70M/TinyStories) 250步训练是否完成 / $\Delta$ 完整机制(c)跑完250步,PPL在SFT的15%以内 (a)朴素PEFT $\Delta=0$;(b)手动解冻首步数值失稳 从完全失败到稳定收敛
能力余量判据(15配置) $\mathrm{PPL}_{SFT}$阈值 $\mathrm{PPL}_{SFT}<20$时PPO显著提升 PPL在$[20,50]$收益有限或回退,$>50$无改善 提供可操作的部署决策规则

局限与改进

作者明确列出五条边界。第一,合成偏好对(截断/打乱/错配三种降级)区分力有限,复杂语料上的人工标注可能提供更强信号,因此奖励模型诊断能力的上限被低估。第二,PPO预算刻意限制在250步,可能未捕获更长调度下的全部收益,性能天花板不明确。第三,Bradley-Terry损失加性不变,绝对奖励值跨配置不可比,跨模型对比只能依赖共享奖励模型这一近似。第四,评估限于生成质量(PPL、奖励、胜率、Distinct-1/2、ROUGE),缺少下游任务表现与人类偏好研究,对智能体实用价值的判断不完整。第五,经验评估仅覆盖单回合MDP,多回合(含工具调用、外部观测)只作为前向兼容框架发布而未做实验。补充观察:仅5个模型、3个语料,外推到1B以上或更多架构(如MoE)存疑;与同样保留奖励模型的GRPO/RLOO未做受控对比;200步量级的小样本统计($n=200$提示)对尾部分布的刻画有限。

独立分析的弱点

第一个弱点是评估仅限单回合生成,多回合智能体MDP只以前向兼容框架形式发布且未验证,而真实端侧智能体恰恰依赖多轮工具调用与外部观测——改进方向是把三层安全机制逐回合施加并设计工具调用奖励,作者也已把此列为后续工作。第二个弱点是合成偏好对的区分力不足,截断/打乱/错配难以构造复杂语义级别的偏好,导致奖励信号偏弱——改进方向是引入人工标注或更强的模型偏好蒸馏。第三个弱点是250步训练预算偏短,无法判断PPO在长调度下是否会进一步改善或退化——改进方向是做学习曲线缩放实验。第四个弱点是统计基础有限(每配置200条held-out、单seed),缺少多种子重复——改进方向是报告多种子均值与方差。第五个弱点是跨模型对比依赖单一共享奖励模型且受Bradley-Terry不变性影响——改进方向是引入锚点样本或归一化方案恢复跨配置可比性。此外,模型与语料覆盖面窄(5模型/3语料),外推到MoE、更大词表或1B以上尺度需要额外验证。

未来方向

作者提出的未来方向包括:把判据推广到GRPO、REINFORCE Leave-One-Out(RLOO)等组相对方法,验证能力余量假说是否同样成立;扩展到约1B参数尺度,观察阈值是否随容量迁移;在已发布的多回合前向兼容框架上做真实多轮实验,包括工具调用奖励设计与逐回合安全分析;以及引入人工偏好与下游任务评估。基于本文成果可延伸的方向还有:把三层控制论安全机制形式化为自适应控制律(如奖励白化系数与$\bar\rho$阈值的自适应调度);研究merge-and-reinitialize在更大LoRA秩或全量微调下的等价梯度通路恢复方案;把$\mathrm{PPL}_{SFT}<20$决策规则与数据质量控制、LoRA秩选择联动形成自动化部署流水线;探索在小模型上保留显式奖励模型与DPO/GRPO的系统对比,以厘清诊断透明性与稳定性的权衡。

复现评估

复现性是本文的突出优点。作者公开了完整训练脚本(https://github.com/rezwanh001/SLM-RL-Agents)、15个检查点(HuggingFace mr3haque/SLM-RL-Agents)、偏好数据集(mr3haque/SLM-RL-Agents-Data)、交互式验证应用与多回合前向兼容框架。算力门槛低:全部实验在2块NVIDIA RTX A6000(48GB,CUDA 12.1)上约16 GPU-小时完成。超参数在15个配置上固定且逐一列出(SFT lr $2\times10^{-5}$、RM lr $10^{-5}$、PPO lr $5\times10^{-6}$、KL目标6.0 nats、clip $\epsilon=0.2$、GAE $\lambda=0.95$),LoRA秩按容量给出取值表(Table I)。作者还提供了事后交叉验证脚本核对339个标量结果字段与原始评估输出。主要复现难点不在算力,而在于需精确还原TRL版本以复现静默冻结这一特定失效、以及float32全程覆盖的工程细节。总体难度中等偏易,适合学术与边缘部署团队复现。