我本来只是想吃饭的时候刷一眼 arXiv,看看 ML 那边又有什么新活儿。小米 LLM-Core 这个署名有点眼熟,就点进去了。结果第一页还没翻完,一个数字横在那儿:单步 rollout 最高吃 3.7B tokens,一次进 1,568 条样本,上下文最长开到 1M。我筷子就停在半空了。我平时钻的牛是 line-height 在 iOS Safari 上多占 1px 这种量级,今天一个 step 就 3.7B——这头牛我还非钻一下不可。
先交代一个丢人的事实:我一开始没打算通读。作者 148 个,PDF 2,817 KB,我扫了眼署名列表头就大了。arXiv 分类 cs.CL,编号 2610.11959,十月八号挂出来,到今天差不多两周。挂出来十几天,我总觉得应该有人替我们这些非科班的把里面真正扭曲的那几个点捞出来。但这不是我今天的重点。
我要钻的是这个:他们一边把 rollout 的 batch 和 context 烧到 3.7B tokens 的量级,一边在评分端让 grader 教模型给出“更短、更省 token”的解答。我看到这半句的时候,整个人往回翻了一页。你单步滚 1,568 条轨迹、单条最长 1M 上下文,转头管模型要“省 token”?这报告是不是有两拨人在同一个 PDF 里打架。
嘿,但既然撞到手里了,不钻穿对不起那个 3.7B。
单步 rollout 上限:
batch : 1,568 trajectories
tokens : 2.7 - 3.7B
context : up to 1M
我特意去 HTML 版页面拉开那条表确认了一下——不是眼花了。行吧,算你们狠。
报告在 RL 之前,先在多模态语料上做了一轮中期训练。这个动作我倒是有点感觉:就像钻进一条又黑又长的隧道以前,你不先把手电筒打开、把鞋带系死,直接往里冲,滚出来的轨迹全是碰碰撞撞,reward 再准也收不到几条干净的。底座是 hybrid-SWA 架构,我从头到尾没打算抠这个 SWA 是什么——看到这种缩写我现在过敏。
他们把“扩大强化学习算力”拆了三个方向。我一个个说,但先说清楚:前两个方向我没耐心展开,你们要是不满意自己去看 PDF。
第一个方向,batch 和吞吐。这是最魔幻的一头。1,568 条样本一个 step,异步训。为什么异步?因为同步就等着最慢那条轨迹跑完,GPU 全饿着。但异步 RL 有个老毛病,老轨迹喂新 policy,off-policy 偏差在那儿空转。报告里就用一句话带过去:“多层防护机制抑制奖励作弊。”我看到“多层防护”四个字就笑了一下——防护什么?防模型自己滚出来的奖励陷阱呗。具体怎么防,没写。这像极了我以前写兼容性表只写“Safari 部分支持”,不告诉你哪一个版本抽风。你不能这么“部分”啊,哥。
行,这个方向先放过。我钻不到细节就没什么好钻的。
第二个方向,环境。他们搭了覆盖代码、通用、视觉、网络安全的多模态环境集,然后混着用好几种 agent harness。这个我认。RL 的“环境”决定模型滚出轨迹的那只手摸得到什么。你只给一套 harness、一类题,训练出来的直觉就是偏的。这跟只用 Chrome 测 CSS 是一个逻辑:看着都绿,上了 iOS Safari 全塌。混着用不见得更 fancy,但至少没把模型养在温室里。
第三个方向才是把我拽回来的那个:grader 算力。报告原话的意思大概是,加评分端的计算,用分组式智能体评分,给长程任务更准的奖励信号,同时引导模型给出更短、更省 token 的解答。我一度怀疑这句话是不是排版错误。你单步吃 3.7B tokens,然后你管模型要“省 token”?
我卡在这句话上卡了很久。中间还翻回去看 mid-training 那段,怀疑是不是自己漏了什么中间因果。后来我把几个词都抠出来摆在一张纸上:分组式智能体评分、长程任务、更准的奖励、更短更省 token。这四个放一起,我觉得答案指向同一个东西——reward 的分辨率。
你 scale 越大,单条轨迹越容易灌水。模型吃过一次 length bias 的亏以后会学会一种很阴间的行为:不确定答案就给巨长的答案,边写边试探你的 grader。因为单独打分的时候,很多 graders 会被“很详细”这个特征带偏——哪怕那详细是废话。分组式评分正好掐在这儿:好几条轨迹放到同一个评价上下文里,而不是一条条孤立打分。这样一来,“更短但更有效”的解法在 per-token 效率上反而占便宜。
所以这不是“烧 3.7B 然后抠 token”的左右互搏。是烧到那个量级以后,reward 反而成了整条链路里最弱的一段。你不单独花钱去精修 grader,前面烧的一半算力会漏进 reward 的噪声里。这个解释不一定对,但我暂时只能钻到这一层。
我边读边用 margin 记下来的、我自己最想验证的点:
- freeze MoE router 具体冻到哪个粒度
- reward 作弊防的是哪几类、哪一层拦的
- 训练/推理一致性到底怎么验的
- “更短更省 token”进 reward 的差分到底有多大
这四个点,报告里最让我有感觉的其实是训练/推理一致性——不是三个 scale 方向。RL 最怕 rollout 环境和训练环境两张皮,轨迹采回来全是幻觉,reward 再准也不作数。上回我钻 line-height 那个墙的时候,至少有 Safari DevTools 能控制变量;这篇报告等于没给我任何能点的地方,只能拿它自己说的话跟它对质。也就是“你声称自己一致,那你怎么验的?”
论文还说要开源训练动态记录、RL 环境和 RL 框架。对这个我态度有点拧巴。敢开这三样比只丢 weights 有诚意。但 ML 圈子的“开”水分也不小——有些放出来的是“放了,但跟你复现是两码事”。没有容器环境、没有调度拓扑、没有那些让我这种不钻到底不舒服的人能站上去复现的脚手架,它就跟一句“we release”一样轻。
最后的那张兼容性表,我本来想照老规矩列“哪家浏览器全绿哪家拉胯”,这次没浏览器,只能换成我心里几个待验证的点:
| 我想在框架里看到的东西 | 报告给到哪 | 我的下一步 |
|---|---|---|
| 单步 2.7-3.7B tokens 怎么调度稳 | 给“异步”,没给同步策略和重试细节 | 等框架出来看 topo |
| router 冻结了哪一层、为什么它先漂 | 一句话 freeze router | 盯着 framework 里 config |
| grader 的“短/省 token”怎么量化进 reward | 方向给到了,没给差分公式 | 这头牛我有点想追 |
| 一致性验证有没有 benchmark 佐证 | 有 infra 描述,没有独立验证段 | 不看到复现不点头 |
最拉胯的还是那个“异步”两个字。2.7 到 3.7B tokens 的异步训练,调度、重试、旧轨迹占比,报告就这么轻轻放过去了,跟逗我玩似的。你说气不气。
最后,昨晚我其实在给一个 docusaurus 主题调导航栏宽度,来回试了十几遍。跟这篇东西没半点关系,但我突然觉得两件事的逻辑差不多:都是先放开,再收住。我调宽度也是先写一堆临时值,最后全删掉,留三个。他们 scale 到那个份上,最后也回头让 grader 逼模型“短、省”。这么一想,人和模型的区别也没我原来以为的那么大。扯远了,反正——嘿嘿,下次见。