NLP——将传统强化学习Trick用到LLM中的思考


整体说明

  • 本文讨论如何将深度强化学习技术移植到 RLHF/RLAIF 和使用工具的 LLM 智能体中
    • 具体设计到的技术包括 \(n\) 步回报、TD(\(\lambda\))、不确定性、安全性以及其他
  • 本文收集了著名的深度强化学习技术(前 LLM 时代),并将其适配到现代 LLM 的训练/推理中
  • 以下方法并非唯一途径(可将其视为实用的起点),可以根据自己的技术栈进行优化

为何要将深度强化学习理念引入 LLM?

  • 生成过程就是一条轨迹:隐藏状态 \(h_t\) 和动作 \(y_t\) (Token 或工具调用)
  • 奖励可能是稀疏的(仅在序列末尾有一个分数)或 Dense 的(规则、自我批判、任务进度)
  • 这正是经典深度强化学习所针对的场景:长 horizon 信用分配、带噪声的目标以及安全约束

用于长文本的多步回报、TD(\(\lambda\)) 和 GAE

  • 设 \(h_t\) 为 Token \(y_{1:t-1}\) 之后的解码器状态
  • 训练一个价值头 \(V_\phi(h)\) 用于预测未来奖励
  • \(n\)步回报
    $$
    G_t^{(n)}=\sum_{i=0}^{n-1}\gamma^i r_{t+i}+\gamma^n V_\phi(h_{t+n})
    $$
  • TD 更新
    $$
    V_\phi(h_t)\leftarrow V_\phi(h_t)+\alpha\big(G_t^{(n)}-V_\phi(h_t)\big)
    $$
  • TD(\(\lambda\))/GAE(Actor-critic)
    $$
    \hat A_t=\sum_{l=0}^{\infty}(\gamma\lambda)^l\delta_{t+l}
    $$
    • 其中 \(\delta_t=r_t+\gamma V_\phi(h_{t+1})-V_\phi(h_t)\)
  • 带 KL 控制的策略梯度
    $$
    \nabla_\theta J \approx \mathbb{E}\left[\sum_t \hat A_t \nabla_\theta \log \pi_\theta(y_t|h_t)\right] -\beta\nabla_\theta \mathrm{KL}\big(\pi_\theta|\pi_{\text{ref} }\big)
    $$

应用场景

  • 仅带有 end-of-sequence scores 的长文本生成/摘要(Long-form generation/summarization):
    • 通过 GAE 在 Token 间传播信用(propagate credit via GAE across tokens.)
  • 多轮对话助手(Multi-turn assistants):
    • 将每一轮视为一个步骤;
    • 设置 \(\gamma<1\) 以减少不必要的轮次(理解:对于最后一步给奖励的场景,\(\gamma<1\) 相当于鼓励缩短决策轮次)
  • 工具/代码智能体(Tool/Code agents):
    • 每次工具调用或单元测试结果作为一个步骤;
    • \(n\) 步回报可快速利用中间反馈
  • RAG/问答:
    • 将检索质量/格式检查作为 Dense 奖励,以解决稀疏信用问题(sparse-credit problems.)

Off-policy multi-step without explosions

  • 混合日志数据和新轨迹是常见做法(需结合修正进行多步学习)
  • V-trace(适用于分布式采样,具有稳定性)
    $$
    \rho_t=\min\left(\bar\rho,\frac{\pi_\theta(y_t|h_t)}{\mu(y_t|h_t)}\right),\quad c_t=\min\left(\bar c,\frac{\pi_\theta(y_t|h_t)}{\mu(y_t|h_t)}\right)
    $$
    • 使用 \(c_t\) 截断 eligibility 并构建修正后的优势
  • Retrace(\(\lambda\))
    $$
    c_t=\lambda \min\left(1,\rho_t\right)
    $$
  • Tree-Backup(\(\lambda\))
    • 期望回溯(无重要性权重),方差更低,偏差较小
  • 典型截断值: \(\bar\rho\in[1,2]\) , \(\bar c=1\)

附录:V-trace 介绍

  • 原始论文 IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures, ICML 2018, Google
    • IMPALA:Importance Weighted Actor-Learner Architectures
  • V-trace 是一种用于强化学习的 Off-policy 修正方法,主要用于解决分布式强化学习中 Actor 和 Learner 策略不一致的问题
  • 问题引入:
    • 在分布式强化学习框架 IMPALA 中,Actor 负责与环境交互生成经验轨迹,Learner 则根据这些轨迹来更新策略
    • 由于 Learner 的更新速度通常比 Actor 快,导致用于生成轨迹的策略滞后于 Learner 的当前策略,使得学习过程变成了 Off-policy 学习
    • V-trace 就是为了校正这种策略差异带来的不良影响而设计的
  • V-trace 核心思想
    • V-trace 通过引入重要性采样(Importance Sampling)来修正 Off-policy 学习中的偏差
    • V-trace 对传统的策略梯度公式进行了改进,通过裁剪重要性系数来稳定方差,使得训练更加稳定
    • 具体来说,V-trace 在计算值函数更新时,使用了经过裁剪的重要性采样比率,限制了重要性系数的最大值,以防止因策略分布差异过大导致的估计偏差过大
  • V-trace 数学公式
    • 在 V-trace 算法中, \(n\) 步下的目标价值函数可以表示为:
      $$ V_s = V(x_s) + \sum_{t=s}^{s+n-1} \gamma^{t-s}(\prod_{i=s}^{t-1} c_i )\delta_t V$$
      • \(\delta_t V\) 的表达式为:
        $$ \delta_t V = \rho_t(r_t + \gamma V(x_{t+1}) - V(x_t))$$
        • 其中:
          $$
          \rho_t = min(\bar{\rho},\frac{\pi(a_t|x_t)}{\mu(a_t|x_t)}) \\
          c_i = min(\bar{c},\frac{\pi(a_i|x_i)}{\mu(a_i|x_i)}) \\
          $$
      • \(\pi\) 是目标策略(Learner 的策略)
      • \(\mu\) 是行为策略(Actor 的策略)
      • \(\bar{\rho}\) 是重要性系数的裁剪阈值
      • \(c_i\) 是用于控制模型收敛速度的参数
  • V-trace 的作用
    • V-trace 使得 IMPALA 能够在高吞吐量的情况下,通过结合解耦的 Acting 和 Learning 过程,实现相当稳定的学习
    • V-trace 有效地解决了分布式强化学习中因策略时间差导致的训练不稳定问题,提高了算法的效率和鲁棒性

应用场景

  • 带大量历史日志的 RLHF/RLAIF:减少行为-目标不匹配导致的偏差
  • Distributed/asynchronous sampling(IMPALA-style):学习器和执行者不同步
    • 分布式/异步采样场景中
  • 离线+在线混合训练:安全复用旧数据,同时保持稳定性

Uncertainty and risk: optimize for reliability, not just averages

  • 奖励模型不确定性(集成/贝叶斯头) (Reward-model uncertainty (ensembles/Bayesian head))
    • 设 \(\hat r\) 为均值, \(\sigma^2\) 为方差
    • 对高风险样本进行降权:
      $$
      \tilde A_t=\frac{\hat A_t}{1+\alpha \sigma_t}
      $$
  • 条件风险价值(CVaR,聚焦尾部) (tail-focus)
    $$
    \mathrm{CVaR}_\alpha(R)=\mathbb{E}[R \mid R \le q_\alpha]
    $$
    • 通过奖励的分位数回归(quantile regression)实现,并在更新时对低分位数值进行掩码
  • 偏好可靠性 (Preference reliability)
    • 通过 Bradley-Terry 置信度对成对偏好进行加权,以减少噪声标签导致的过拟合
  • 参数不确定性 (Parameter uncertainty)
    • 策略/价值上的 Laplace-LoRA 或小型集成可提供每个状态的方差,用于控制步长或触发“重新生成与重新评分”

附录:条件风险价值(CVaR)

  • 条件风险价值(Conditional Value at Risk,CVaR),常被称为 Expected Shortfall
  • CVaR 含义是:
    • 在给定置信水平 \(\alpha\)(通常是一个较小的值,如 0.05 或 0.1)的情况下,所有风险超过 \(\alpha\) 的情况对应损失的期望值
    • 简单来说,CVaR 关注的是 “最坏情况中的平均损失”
      • 例如,当 \(\alpha=0.05\) 时,CVaR 表示在所有可能发生的结果中,损失最大的 5% 的情况的平均损失
  • CVaR 常被用于风险敏感型决策,尤其适用于需要规避极端不利结果的场景

应用场景

  • 安全性/合规性要求高的领域(医疗、金融、教育):减少罕见的灾难性失败
  • 噪声或主观的人类反馈:不确定性加权更新可稳定学习
  • 领域偏移/检索质量波动:检测分布外(OOD)情况并重新路由至重新评估

Safety as constraints, not just penalties

  • 设 \(c(h_t,y_t)\) 为安全成本(毒性、个人身份信息(PII)、事实风险)。通过拉格朗日方法进行优化:
    $$
    \max_\theta\ \mathbb{E}[R] - \lambda\big(\mathbb{E}[c]-\tau\big) \ -\ \beta\mathrm{KL}\left(\pi_\theta|\pi_{\text{ref} }\right)
    $$
  • 通过对偶上升更新 \(\lambda\)
  • 训练一个成本价值头 \(C_\psi(h)\)
  • 推理时添加屏蔽(分类器/正则表达式/规则)以过滤不安全 Token,或路由至拒绝模板
  • 训练时的约束与解码时的屏蔽结合使用效果最佳

应用场景

  • 企业/公共部门(Enterprise/public-sector):严格的个人身份信息(PII)/合规控制
  • 开放式对话/内容(Open-ended chat/content):减少毒性/偏见
  • 高事实性要求(High factuality requirements):将幻觉信号视为成本

Robustness to distribution shift and prompt attacks

  • 分布鲁棒优化(distributionally robust optimization,DRO):在训练提示分布 \(\hat P\) 周围的 \(f\)-divergence ball \(\mathcal{Q}\) 内最大化最坏情况下的奖励
    $$
    \max_\theta \ \min_{Q\in \mathcal{Q} } \ \mathbb{E}_{x\sim Q}\big[R(\pi_\theta; x)\big]
    $$
    • 问题:待补充理解
  • 实用方案(Practical recipe):
    • 对抗性重加权和对抗性提示生成
    • 添加红队测试循环和领域随机化(检索噪声、工具延迟、系统提示)

附录:DRO

  • 在强化学习中,分布鲁棒优化(Distributionally Robust Optimization, DRO) 是一种旨在提高策略对环境分布不确定性鲁棒性的方法
  • DRO 结合了分布鲁棒优化的核心思想与强化学习的框架,解决了传统 RL 方法在环境分布未知(真实的状态转移概率 \( p(s’|s,a) \) 未知)、存在扰动或偏移时性能下降的问题
  • DRO 通过建模环境分布的不确定性集合,在最坏情况下优化策略性能,从而提高策略对分布扰动、估计误差或偏移的鲁棒性
  • DRO 是解决 RL 中“分布不确定性”问题的重要框架,尤其适用于非平稳环境、安全关键场景或模型误差较大的场景,但需在鲁棒性与计算效率、性能之间进行精细权衡
DRO 背景:强化学习中的分布不确定性
  • 强化学习的核心是在马尔可夫决策过程(MDP)中学习最优策略,而 MDP 的关键组件(如状态转移分布、奖励分布、初始状态分布)往往存在不确定性:
    • 状态转移分布 :真实的状态转移概率 \( p(s’|s,a) \) 通常未知,只能通过有限样本估计,可能存在偏差;
    • 奖励分布 :奖励函数可能受噪声影响,或随环境动态变化;
    • 分布偏移 :实际部署时,环境分布可能与训练时不同(如领域自适应、非平稳环境)
  • 传统 RL 方法(如 Q-learning、PPO 等)通常假设可以通过采样准确估计真实分布,或直接使用经验分布,但这种假设在分布不确定时会导致策略不稳定、泛化能力差
DRO 的基本思想
  • DRO 的核心是 “在不确定性中求稳健”
    • 当无法获知真实分布时,按如下步骤进行:
      • 第一步:定义一个包含真实分布的 “不确定性集合”(uncertainty set) (即所有可能的候选分布构成的集合)
      • 第二步:在这个集合中 针对最坏情况(worst-case)优化目标函数
      • 最终得到的解对集合内的所有分布都能保持较好性能,从而提高鲁棒性
  • 简单来说:传统优化是 “针对真实分布求最优”,而 DRO 是“针对最坏可能的分布求最优”
DRO:RL 问题形式化
  • 在 RL 中,DRO 的目标是学习一个策略,使其在不确定性集合内的所有可能分布下都能最大化(或保证)累积奖励
  • 以 MDP 为例,其核心形式化为:
    $$
    \max_{\pi} \min_{p \in \mathcal{U}} V^{\pi}(p)
    $$
  • 其中:
    • \( \pi \) 是待优化的策略;
    • \( \mathcal{U} \) 是不确定性集合(包含真实分布的候选分布集合);
    • \( V^{\pi}(p) \) 是策略 \( \pi \) 在分布 \( p \) 下的价值函数(累积奖励期望)
  • 目标是找到一个策略 \( \pi \),使得在不确定性集合 \( \mathcal{U} \) 中最坏的分布 \( p \) 下,价值函数 \( V^{\pi}(p) \) 尽可能大
DRO 中不确定性集合如何构造?
  • 不确定性集合 \( \mathcal{U} \) 的定义是DRO的核心,它直接决定了鲁棒性的范围和程度。构造方式通常基于统计距离(衡量分布间的差异),常见的包括:
    统计距离 定义与应用场景 特点
    KL散度(KL-divergence) \( \mathcal{U} = \{ p \mid \text{KL}(p \parallel \hat{p}) \leq \epsilon \} \),其中 \( \hat{p} \) 是经验分布,\( \epsilon \) 是不确定性预算。 适用于高维分布,计算相对简单,但不对称(\(KL(p||q) \neq KL(q||p)\))
    Wasserstein距离 \( \mathcal{U} = \{ p \mid W_c(p, \hat{p}) \leq \epsilon \} \),基于最优传输理论,衡量分布间的“运输成本”。 对异常值更稳健,适用于连续分布,但高维下计算复杂
    总变差距离 \( \mathcal{U} = \{ p \mid \text{TV}(p, \hat{p}) \leq \epsilon \} \),衡量分布最大差异。 直观但严格,导致集合较小,解可能过于保守
  • 不确定性集合的大小由参数 \( \epsilon \) 控制:
    • \( \epsilon \) 越大,集合包含的分布越多(鲁棒性越强,但可能过于保守,牺牲性能);
    • \( \epsilon \) 越小,集合越接近经验分布(性能可能更好,但鲁棒性下降)
DRO 在强化学习中的典型应用
  • Model-based RL中的鲁棒策略学习
    • 在 Model-based RL 中,若环境模型(如状态转移函数)存在误差,DRO 可通过构造模型分布的不确定性集合,优化最坏情况下的策略,避免模型误差导致的性能崩溃
  • Model-free RL中的分布偏移处理
    • Model-free 方法依赖采样数据,若采样分布与真实分布存在偏移(如探索不足、噪声干扰),DRO 可通过对采样分布的不确定性建模,使策略对偏移更稳健
  • 安全强化学习(Safe RL)
    • 在需要满足安全约束(如避免碰撞、能耗上限)的场景中,DRO 可确保策略在约束分布的最坏情况下仍不违反安全条件
DRO 相关的挑战与权衡
  • 计算复杂度 :DRO 需求解 min-max 优化问题(先最小化最坏分布,再最大化策略性能),比传统 RL 的单目标优化更复杂,尤其在高维状态/动作空间中难以高效求解
  • 鲁棒性与保守性的权衡 :不确定性集合过大可能导致策略过于保守(为了稳健牺牲了最优性能);过小则可能无法覆盖真实分布,失去鲁棒性
  • 不确定性集合的合理性 :如何基于有限数据构造“既包含真实分布,又不过大”的集合,是 DRO 的核心难点(通常依赖统计理论或领域知识)

应用场景

  • 公共 LLM 端点:抵御越狱/攻击提示
  • RAG 系统:证据质量和风格存在差异
  • 跨领域泛化:训练-部署偏移(training–serving shift)

Model-based flavor: value-guided decoding

  • 采样时使用价值头作为短 horizon 前瞻:
    $$
    \log \tilde \pi(y_t|h_t) = \log \pi_\theta(y_t|h_t) + \eta\big( V_\phi(h_{t+1}) - V_\phi(h_t) \big)
    $$
    • 公式理解:朝前面看一步,看看下一步 \(V_\phi(h_{t+1})\) 相对当前这步 \(V_\phi(h_{t})\) 带来的价值提升,提升越大的动作 \(y_{t}\),则赋予更大的采样概率(直接将增益加到原始对数概率上)
    • 问题:是不是在于原始策略输出概率增加前或后,增加一个归一化步骤会更好?
  • 对于工具智能体,展开 \(n\) 步工具计划并引导至 \(V_\phi\)
  • 这可在不重新训练整个策略的情况下,推动生成过程向高下游价值方向发展

应用场景

  • 代码/测试驱动生成:偏向通过测试/完成子任务
  • 冗长推理/约束写作:解码时更严格地遵循目标
  • 低重训练预算:无需完整强化学习周期即可获得“轻量级规划”收益

Offline and conservative RL from logs

  • IQL/AWAC 风格的优势加权更新
    $$
    \pi_\theta \leftarrow \arg\max_\theta \ \mathbb{E}\left[\exp\left(\frac{A_\beta(s,a)}{\lambda}\right)\log \pi_\theta(a|s)\right]
    $$
  • CQL 风格的抑制
    • 通过压低未见过的文本/动作上的 \(Q\) 值,抑制过度乐观的分布外(OOD)动作
    • 在偏好空间中,添加行为正则化器 \(\log \pi_\beta(y|h)\) 以保持策略接近日志行为
  • 通过双重鲁棒异策略估计器进行评估:
    • 建模奖励 \(\hat r\) ,并将重要性权重与控制变量结合使用

应用场景

  • 日志丰富,在线数据有限:在风险探索前充分利用历史数据的价值
  • 高风险领域:先进行保守改进,再逐步扩展
  • 新领域冷启动:初始时保持接近 \(\pi_\beta\)

Exploration and diversity (without going off the rails, 不偏离正轨)

  • 熵/温度:SAC 风格的熵奖励或受控采样温度
  • 内在动机:基于 \(h_t\) 的分歧/RND,以鼓励新颖的语义或新工具路径
    *
  • 多样性正则化器:去重;与提示的互信息

应用场景

  • 创意写作/广告/教育内容:在安全范围内实现风格/结构多样性
  • 工具链发现:找到可靠的新序列
  • 覆盖导向的评估:扩大提示集群覆盖范围

Hierarchy and skills: plan–act–verify

  • 慢规划器输出子目标(工具计划、大纲),快执行器实现子目标
  • 训练类选项策略,或通过模仿/离线强化学习预训练技能库,并通过高层控制器调用技能

应用场景

  • 多工具/多步骤工作流(检索 -> 规划 -> 执行 -> 验证)
  • 可分解的大型任务(数据 Pipelines、无人机调度(UAV scheduling)、城市分析(urban analytics))
  • 跨任务/领域的技能复用

Common pitfalls(陷阱)

  • Only end-of-sequence reward + weak value -> unstable advantages. Densify or invest in \(V\).
    • 理解:仅序列最后奖励+奖励模型比较弱,会造成不稳定的优势,需 Dense 化奖励或优化 \(V\)
  • Off-policy drift without correction -> biased updates. Use V-trace/Retrace.
    • 理解:无修正的 Off-policy 偏移是有偏更新,需使用 V-trace/Retrace 修正
  • Single deterministic reward model -> brittle. Prefer ensembles/quantiles.
    • 单一确定性奖励模型是脆弱的(理解:不稳定,方差大),建议优先选择集成/分位数奖励
  • Safety only at decoding time -> model still learns unsafe regions. Train with constraints too.
    • 仅在解码时考虑安全意味着模型仍会学习不安全区域,建议训练时也需添加约束

Closing Remarks

  • 以上这些是将“传统技巧”切实转化为 LLM 实践的方法
  • 如果只选择一种技术组合,可从 PPO + GAE + V-trace + Lagrangian safety 开始,然后添加不确定性感知加权(uncertainty-aware weighting)价值引导解码(value-guided decoding)
  • 作者很想了解反例和更好的方案,欢迎调整并分享在你的系统中有效的(或无效的)方法