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

OpenClaw-RL

On-Policy Gap约束(三方法一致:PPO clip兜底)

统一依赖:

  • PPO clip(e=0.2,e_high=0.28)
  • ratio = t_0_new(a|s) / t_0_old(a/s)
  • 超出 [0.8, 1.28] 的 ratio 被截断 → 隐式 KL 约束

OPD特有的额外保障:

  • teacher_lp - rollout_lp 的梯度方向 = "向 teacher 靠拢" = 隐式 KL 拉力

  • → 防止 policy 漂离有 teacher 指导的区域

三种方法的 On-Policy Gap 风险都不大,因为 OpenClaw 是在线服务,数据实时产生,天然接近 on-policy。weight sync 暂停窗口是主要偏差来源,被 503 pause 机制控制。

1.7 不变量④

我们看看如何解决long-horizon 信用分配(turn discount + dense reward shaping)

有效样本率讨论

单轮RL:

  • 每条response = 1个样本,有reward就有梯度

Agentic RL:

  • 每个episode = T步,但可能只有1个terminal reward
  • 前T-1步:reward=0 → 无梯度(用0填充)
  • “有效样本率“的真正含义在Agentic RL里变成:"reward信号能有效反向传播到多少步的action?"
OpenClaw-RL

有效样本率

  • Binary RL:
    • loss_mask = 0 的样本仍进训练队列(Megatron 做零梯度forward)
    • → 占用GPU计算资源但无学习信号
    • → 有效样本率 =(score ≠ 0的turn 数) / (队列总turn数)
    • at-least-one 保障下限:每 session ≥ 1个有效样本
  • OPD:
    • hint-reject→完全不进队→有效率最纯净
    • 所有进入队列的样本loss_mask全为1
    • 但:效率上限 ≤ hint accept rate(hint 拒绝率可能很高)
  • Combine:
    • OPD-only + RL-only + "OPD+RL" 都进队
    • 但hint-rejected AND eval=0 → drop (最严格过滤)
    • 结果:样本数最少,但信号质量最高(每条都有至少一路有效信号)

1.8 设计哲学小结

  • Binary RL → 宁愿噪声多,不放弃任何数据(at-least-one + 全入队)
  • OPD → 宁愿数据少,只要高纯度信号(hint-accept才入队)
  • Combine → 精准门控,按信号类型分路,最大化信噪比

0x02 第一不变量理解

我们在本小节再仔细学习理解下 第一不变量:策略可探索空间不能过早塌缩。

2.1 直觉理解

塌缩 = 模型“认定“了某种回复模式,放弃探索其他可能性。具体如下:

训练前(高entropy,充分探索):

  • P("好的,我来帮你") =0.15

  • P("让我分析一下") =0.18

  • P("这个问题需要...") =0.20

  • P("首先...") =0.12

  • ...(很多候选,均匀分布)

过早塌缩后(低entropy,退化):

  • P("让我分析一下") =0.87
  • P(“好的,我来帮你") =0.08
  • P(其他所有)=0.05

2.2 深入思考

第一不变量不是说"模型要随机”,而是说:在每种情境下,模型必须仍然"知道"多种有意义的应对方式,并且真实地有能力选择它们。这是RL持续学习的前提条件一没有这个可探索空间,后续的奖励信号无论多精确,都无法引导模型走向更好的策略。

2.2.1 多样性

此处回答"为什么token级随机性不等于探索?”

支撑集

支撑集(Support)的数学含义:分布P的支撑集 = 所有概率 > 0 的事件集合

Token 级支撑集 ≠ 行为级支撑集。

示例:

  • 模型在token 1选"Let"时,有("Let","First","To","I")都有高概率
  • 但一旦选了"Let",之后的token高概率会走"直接推理"路径

结论:

token级很高,但行为级已经锁定成"直接推理"这一种策略。表面上”每个token位置的词表分布仍有多样性",但是”模型生成的所有回答都遵从同一种模式"。”直接推理"就是永远走” → 长链推理 → → 答案"的固定模板。

行为级支撑集崩塌(Support Collapse):

训练前:

  • P(分解为子问题策略)=30%

  • P(直接推理策略)=40%

  • P(先搜索再答策略) =20%

  • P(反例验证策略)=10%

RL训练后(+1奖励集中在"直接推理"):

  • P(分解为子问题策略) =2% 快崩塌了
  • P(直接推理策略) =94% 支撑集过度收缩
  • P(先搜索再答策略) =3%
  • P(反例验证策略) =1%

此时token级熵可能依然很高(词语选择多样),但行为空间的支撑集已经崩塌了。这就是为什么ARLArena观察到"训练崩溃"往往在特定任务类型上(如 ALFWorld),而非所有任务一特定任务对行为多样性的要求更高。

策略层面的多样性

token级熵测试的是”用词多样性",行为级是”策略多样性",前者高不代表后者没有退化。

"彼此可区分、语义上不同” 不是token熵要高,比如:

"The catsaton themat" → 下-个词有很多候选(mat/floor/sofa...) → 虽然token熵不低,但语义上都是"猫坐在什么上”,差异微不足道。

而是策略层面的多样性。

比如给定"帮我解释量子纠缠”,模型应该保持:

  • 路径A:类比直觉解释(面向普通用户)
  • 路径B:数学形式化(面向专业用户)
  • 路径C:先反问用户背景(主动澄清)
  • 路径D:分层解释(先直觉后深入)

这四条路径语义上根本不同,是真正意义上的"不同行为”。

范式

因此,范式如下:

  • 旧范式(错误方向):"提高token温度 → 增加随机性 → 更好的探索"

  • 新范式(正确方向):"管理模型行为空间的支撑集 → 保持策略多样性 → 真正的探索"

2.2.2 真实可行

这是关键约束:不只是token序列上存在,而是模型真的能走到那条路。

# 比较: π("类比解释")=1e-9 # 理论上可以,但概率极低→"真实不可行" π("数学形式化")=0.45 # 模型真的可以走这条路→"真实可行” π("逐步推导")=0.50 # 同上 π("先反问")=0.05 # 勉强可行的边缘

第一不变量要求:至少有若干条路径π(path_i) > e_threshold,而不仅仅是理论上存在。

2.2.3 "给定状态下"(per-state,而非全局)

全局token 熵高 ≈ 满足第一不变量,因为 模型可能:

  • 对"数学题"→路径单一(只会GRPO强化后的解题格式)
  • 对"闲聊”→路径多样
  • → 在"数学题"这个state下,策略已塌缩

而 第一不变量要求:每个 state S,模型保有{path(s),path 2(s),... ,path k(s)} 这样的可区分路径集

2.2.4 为什么"过早"最危险

一组可行的语义路径 = 模型保留着"可以被学习的选择空间”。一旦某条路径被排除出可行集,RL 就永远无法知道它应该被强化或惩罚。

RL的策略梯度公式如下:

# Policy gradient.只能从被采样的路径学习: ∇L = E_{a ~ π(·|s)}[∇logπ(a|s)·A(s,a)]

采样期望:只有被采样的 action才会收到梯度。

# 如果某条路径π(a|s) → 0: # 该action a 永远不会被采样,A(s,a)从不被计算。 # ∇log π(a|s) * A(s,a)=0 → 永远收不到梯度, 永久无法得知 a 是否更好

即,一旦π(als) → 0,该action永远不会被采样,永远收不到梯度。

这与监督学习根本不同:

  • SFT:有显式label → 不管当前概率多小,label对应的token都有梯度
  • RL:没有label → 只有实际采样到的action才有梯度 → 概率趋零的策略 = 死路,无法自我恢复
具体场景

我们再来看看OpenClaw-RL里的塌缩。

假设:Binary RL训练了一段时间后,模型学会了一种"高分模板",比如:

"这是个很好的问题。让我逐步分析:1)...2)...3)...总结:..." → 这种格式 PRM 经常打 + 1

问题:用户问技术代码题时,也用这个模板 → 代码题需要直接给代码,不是列条目。

这样带来的问题如下:→ PRM打0或-1(用户下一句表示没解决问题) → 但此时模型已经几乎不会生成"直接写代码"的回复了(概率→ 0) → 无法收到"应该直接写代码"的梯度信号 → 塌缩锁死

"过早"与"收敛"的区别

过早塌缩(坏):

  • 模型还没学会区分好坏回复 → 随机采样到某种格式 → 偶然得+1 → 快速强化 → 锁死

正常收敛(好):

  • 模型已经学会:技术问题→直接给代码;分析问题 → 逐步推理

  • → 条件entropy依然高(不同类型问题差异大)

  • → 同类问题内entropy可以低(已找到最优策略)

核心判断:entropy是否在有用的维度上降低了。

2.2.5 塌缩如何引发其他三个不变量的连锁失效

第一不变量是根基:它失败后,其余三个不变量同时承压,具体如下图。

① Entropy 塌缩 ↓ 所有输出趋向相同模式 / \ ② 梯度退化 ③ On-Policy Gap 扩大 (reward 方差 → 0) (用户说 A,模型只生成 B) \ / ④ 有效样本率崩溃 (judge 全打 neutral)

2.3 维护可探索行为空间的难点

6个根本性挑战如下。

难点 1:SFT的单向压缩性

交叉SFT的目标是:maxP("正确答案"),其副作用是:所有alternative valid outputs的概率同时下降。

这种压缩是单向不可逆的:Training loss ↓→ P(gold output) ↑ → P(alternative paths) ↓ (很难再恢复)

结果:"Getting Your LLMs Ready for RL" 发现

http://www.jsqmd.com/news/1067255/

相关文章:

  • 运维监控大屏踩坑记:一条 SQL 的“CASE 陷阱”与跨库优化实践
  • 文字编辑器EditPlus
  • 2026年SEO+GEO优化指南:搜索排名机制解析与实用工具推荐
  • 搬瓦工 KiwiVM 面板免费 AI 助手 Amy 功能演示 | 告别繁琐的命令行
  • 【Azure Function App】本地调试PowerShell Function时需要注意两类错误:加载失败和认证失败
  • 前端学习笔记-vue组件通信常用方式
  • 在本地运行任意 Hugging Face 模型:GGUF 完全指南
  • 2026最权威AI论文写作工具榜单:这些被高校和导师偷偷推荐的软件你还没用?
  • OpenTracing Python:分布式追踪的标准 API
  • 先说基因:一个做自动化起家,一个做采集起家
  • AI写作辅助软件的使用规范:如何让AI生成内容通过严格学术审查
  • 我做了一个只用来搜歌词的小 App
  • 非对称密码体系的密码分析方法研究
  • Pendulum:Python 日期时间处理的终极解决方案
  • 告别新手级RAG!一文掌握专业级后检索优化之「校正」
  • Edge浏览器停止更新,并回退到老版本方法
  • 深入 .NET AI Agent 开发:利用 Microsoft.Agents.AI 提取思考、调用工具与执行脚本
  • Manim物理模拟:别自己写欧拉了!
  • 古典密码 - 维吉尼亚密码破解
  • [APM32F4] 跟随 Fabrice Bellard 的脚步,把 MicroQuickJS 移植到 APM32F427
  • 2026 佛山传统企业升级|短视频矩阵赋能,加快数字化内容建设
  • 在线 AI 开发平台-MonkeyCode
  • 吉他选购指南2026年入门级1000-2000元横评:参数对比+真实评测
  • 每日一个开源项目(第138篇):OpenMontage - 把 AI 编程助手变成完整的视频制作团队
  • HAProxy 学习总结
  • CS16S:01
  • 低成本创业辅助软件客观梳理
  • 无损FLAC音乐怎么变成MP3?一篇讲清楚flac转mp3操作步骤
  • 安全审计系统有哪些?2026年5大安全审计软件功能详解,最新分享
  • 独立研究者开发的土耳其语“形态大脑“