Read this paper write-up in English
ZCPO:将参考 KL 校准进组内零和系数¶
实际训练链路和边界检查已实现;24 步单 seed 诊断不是 AIME 收益复现。
论文信息¶
| 字段 | 内容 |
|---|---|
| 论文链接 | When KL Regularization Misfires in Group Policy Optimization |
| 公司 / 机构 | Alibaba Group(第一作者 Fei Ding) |
| 首次公开日期 | 2026-10-08(arXiv v1) |
| 原作者代码 | 未找到作者公开实现,不省略该字段 |
| 本地 Adapter | zcpo |
| 本地复现代码 | src/auto_research/post_training/oct11_objectives.py、oct11_checkpoint.py;入口 scripts/run_zcpo_checkpoint.py |
原始论文总结¶
背景与主要改动¶
独立 KL 惩罚可能在奖励相同或奖励梯度取消时继续更新策略。ZCPO 用响应平均的条件 KL 相对漂移,校准组内奖励系数;再将该系数放进原策略 surrogate,不另加独立 KL loss。
flowchart LR
组内响应 --> 奖励中心化
组内响应 --> 完整词表条件KL --> 长度平均与组内中心化
奖励中心化 --> 零和系数 --> 裁剪策略损失
长度平均与组内中心化 --> 零和系数
原论文关键图¶
原论文 Figure 2(关键图):先过滤无奖励差异组,再把完整词表条件 KL 做长度平均和组内中心化,校准进冻结的零和系数,最后进入基础策略 surrogate。图片来自原论文,版权归原作者所有;点击图片可查看来源。
核心公式¶
\(A_i=R_i-\bar R\),\(s=\max_i|A_i|\),\(K_i=\overline{D_{KL}(\pi_{old}\|\pi_{ref})}_i-\mathrm{groupmean}\);\(C_i=\operatorname{sg}(A_i/s-\beta K_i)\)。\(s=0\) 或组大小不足时整组跳过,避免除零和 AdamW 的额外权重衰减更新。
论文离线与线上效果¶
原文表 1的三 seed AIME24/25 avg@32 为 ZCPO 56.8%/48.5%,无 KL DAPO 47.3%/37.1%。这是论文协议,不能与本地 GSM8K 四响应短跑比较。未报告线上 A/B。
本地复现¶
固定 Qwen3-4B 基础参考,训练 q/v LoRA;group=4、24 步、每响应最多 256 token,8 个独立验证问题。完整词表条件 KL、有效响应 mask、长度平均和 stop-gradient 均实际执行。见运行说明。
数据协议与结果¶
训练时答案仅供外部验证器打奖励。训练/验证问题不重叠,官方 test 不用于选择。首次训练集派生 holdout 运行有 9 个有效组,LoRA 位移 L2=0.051158,验证 exact match=0.625;没有初始对照,因此不宣称增益。当前可追溯重跑见指标和GPU 回执。
代码映射与复现边界¶
公式在 oct11_objectives.py;rollout、冻结参考、优化和验证在 oct11_checkpoint.py。同奖励组不能仅返回零 loss 后仍调用优化器。早期 8 步全部无有效组,且旧运行误将官方 test 称为 validation;记录在运行审计,不作为 holdout 能力证据。原始 DAPO 训练预算、AIME 多 seed 和 Evolve 未完成。
