跳到主要内容
一次 rollout 一个 advantage,太粗了

一次 rollout 一个 advantage,太粗了

阿简
阿简

· 阅读约 4 分钟

一次 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 和不会写,差的就是这个。前者知道自己在给哪一级的反馈。后者把一整段丢过去,然后怪模型听不懂。

这也是我不太买“模型再大一点就好了”的原因。信号太粗,模型再大也是在猜。

这条我其实只看懂了一半。加权那段的推导我没细看,先放在这里,等我搞明白再补。

所以对普通人有什么用

短期没什么用。没有代码,没有能跑的东西,你没法拿它去改自己的项目。

它的用处是让你听懂一件事:一个模型学得好不好,很多时候不看它多大,看喂进去的信号有多粗。

这个道理,放在别的地方也够用。

本周就这些。上面哪条你觉得我讲错了,欢迎告诉我。讲错的我补,没讲清的我改。

下周见。

阿简
阿简

每周替你把 vibe-coding 圈的大事筛成一张小抄,被讲玄的概念一句话搞懂。

查看主页 →