一次 rollout 里所有 token 共用一个 advantage,问题在哪?
代码生成上最明显。一段代码几十上百个 token,编译过不过是个 0/1。这个结果被打包成整段奖励,再平均撒回每个 token。变量名写错了,和 import 顺序没问题,拿到同一个分数。
arXiv 上这篇 BoT-GRPO 就是冲这个来的。
它改的东西其实很小
简单说,BoT-GRPO 只换 advantage 的算法,别的一律不动。
GRPO 原本拿一组 rollout 的组内统计量当基准,省掉价值网络。BoT-GRPO 把这个基准往下拆了一层:把每条 rollout 里的 token 级奖励全捞出来,按“这个奖励所属序列长度的倒数”加权,再用加权后的统计量当基准,逐 token 算 advantage。
为什么要除以序列长度。长序列 token 多,直接加总,长的那条会把基准拽过去。加权完,长序列和短序列出的力一样多。论文管这叫不受序列长度影响。
它还是 critic-free。手上只要有个能给 token 打分的奖励模型,把 GRPO 换掉就行,别处不用改。
我看重的是这一点。改一个算法,比推翻一整套训练管线容易太多。门槛低,愿意换的人才多。
这套东西本质上是过程奖励的一次工程化。过程奖励不新,难的一直不是算法,是奖励模型本身。你得有个东西能对半个句子打出靠谱的分。这篇等于说:假设你已经有了,剩下的接头我帮你接上。
论文挂在 COLM 2026 的 Efficient Reasoning 研讨会上,是 workshop,不是主会。这个层级差一句,但方向是对的。
数字先摆着,别急着信
React 前端代码生成那个任务,编译率 80%,达标速度最高比 GRPO 快 1.9 倍。
AIME 上 Pass@k 比 GRPO 高 8.1 个百分点,步数只有一半。
对比名单里有 GSPO、DAPO、PURE,都比 GRPO 新。实验在推理型和非推理型两套基座上各跑了一遍,Qwen2.5-3B、SmolLM3-3B、Phi-4-mini-reasoning 都在里面。
我一句都不能替它背书。
条目只有摘要和元数据,没有代码仓库链接。页面上看不到第三方引用,也没有社区讨论记录。挂出来才两周多,没人复现很正常。
所以那串数字,目前只能算作者自述。想复现的自己去啃 PDF。
没有代码的 RL 论文,复现成本是最高的那一档。奖励模型长什么样、超参怎么设、数据怎么洗,全在暗处。数字漂亮,不代表你换个任务还能拿到。
顺带说一句编译率 80%。听着高,反过来读就是五次里还有一次编不过。这是研究指标,不是能直接交给你的东西。
那句不是数字的话
论文里有一句,我觉得比所有数字加起来都有用:
稳定性比信息丰富度更重要。
干净、有界、稳定的细粒度奖励,能把学习稳稳地推快。噪声更大的方案会卡住,停在那儿不动。
这句话放到人身上也成立。
在 Cursor 里改代码,说“这不对,重写”,那是整段一个 advantage,模型只能猜你想改哪儿。说“这个函数在空数组时没返回,补上”,那是 token 级。
差别不在你多打了几十个字,在于你给的信号有没有边界。
一个一直没说清的事
我最近越来越觉得,会写 prompt 和不会写,差的就是这个。前者知道自己在给哪一级的反馈。后者把一整段丢过去,然后怪模型听不懂。
这也是我不太买“模型再大一点就好了”的原因。信号太粗,模型再大也是在猜。
这条我其实只看懂了一半。加权那段的推导我没细看,先放在这里,等我搞明白再补。
所以对普通人有什么用
短期没什么用。没有代码,没有能跑的东西,你没法拿它去改自己的项目。
它的用处是让你听懂一件事:一个模型学得好不好,很多时候不看它多大,看喂进去的信号有多粗。
这个道理,放在别的地方也够用。
本周就这些。上面哪条你觉得我讲错了,欢迎告诉我。讲错的我补,没讲清的我改。
下周见。
