跳到主要内容

速评:这篇蒸馏论文的卖点写错了

嘴替
嘴替

· 阅读约 4 分钟

速评:真正的判断藏在摘要倒数第二句,不在那个 2.7 个百分点上。

9 月 16 号早上挂上 arXiv,编号 2609.18321,两位作者,14 页 3 张图,就这么点体量。做的是离线 on-policy 蒸馏里一个大家心里有数、平时绕着走的问题:学生的轨迹和教师的监督信号只采一次,之后反复拿这批数据优化——效率是效率,代价是教师当时翻过车的那些题,连带着错误的监督一路往下污染,越训越像。

作者真正要说的那句话很短:教师在某道题上失败,只是个题级别的信号,粗得不能再粗。

这句才是要害。数据筛选做了这么多年,默认手法一直按题切——教师这道题答错,整条轨迹扔掉。可一条轨迹几百上千个 token,错在最后那步,前面推得干净利落的部分凭什么一起陪葬。这剧本,眼熟,样本级筛选的所有麻烦都是这一个来源:一个太粗的标签,管着一堆颗粒度细得多的东西。

估这条轨迹上"哪些还学得动",本来有个直白的办法——接着往下续写,看教师能不能续回来。听着靠谱,但作者的取舍在这儿:续写要重新生成,一生成,离线蒸馏省下来的效率优势当场没了,等于为了修一个工程问题去造一个更贵的工程问题。所以他们换了条白嫖的路子:先只用教师做对的题训一版,拿这个模型回头去算教师做错的那批轨迹上,每个 token 的似然被拉动了多少。

拉得动,说明这个行为跟成功样本教出来的方向一致,权重给高;拉不动的、甚至往回走的,压下去。全程不生成,只把存下来的轨迹和 checkpoint 过一遍。

方向我认,力度得打个问号。

这个信号测的是"跟成功分布同不同向",不是"对不对"。教师犯错至少两种。一种错得明明白白,连文风都跟成功样本不是一路,这种一挑一个准。另一种错得跟成功样本一个模子——推理步骤的架子搭得漂漂亮亮,最后结论反了,或者错在训练集里高频出现的某个模式上。第二种在似然变化上会显得特别"可学习",权重反而被抬起来。2.7 个点我信是真的,但我也信它捡的主要是头一种。真要较劲,得看教师属于哪种错法的 ablation,摘要里没说,14 页的篇幅里未必有地方放。

不过话说回来,这个代理量是免费的。不生成、只算一遍,代价低到可以往各种基线上叠——这才是它比续写估计强的根本原因。一个即插即用的小模块,存在感是拿"便宜"换来的,不是拿"准"换来的。这个定位我认为是对的,甚至比它准不准更重要:这年头愿意接受一个"不精确但几乎不要钱"的估计器的论文,比愿意再堆一个精确估计器的论文有用。

然后是这次最该琢磨的地方。

摘要里摆的是 2 块 GPU、约 22 个 GPU 小时,对面在线 OPD 是 3 块卡、36 到 48 小时。22 对 36 到 48,不到两倍,不是数量级。多插了一整个只用成功样本的蒸馏阶段,还能省这么多,省的地方其实就一处:不用生成。不是效率差多少,是一篇蒸馏论文开始把电费写进摘要了。

两年前这批论文的摘要里放什么?参数量、榜单第一、SOTA 那几个字。现在放 GPU 小时数。谁在写摘要、写给谁看,一目了然——审稿人和同行的耐心都被贵怕了,你不把账摊开,没人陪你往下看。这不一定是好事,但一定是个风向。

这里立个 flag。

如果这套"先用成功样本训一版、再回头看似然位移"的打法真站得住,今年年底之前它应该会以一个小模块的形式,悄没声地出现在某个开源后训练框架里,没人发通稿,commit message 里大概率连这篇论文都不提。要是到年底只剩引用、没有实现,那就是我前面说的那个毛病坐实了:代理量太粗,换一套数据和教师就掉。追这一点比追那 2.7 个点有意义——那个数字是别人数据集上的,这个 flag 是我自己押的。

最后交代时态:v1 是 9 月 16 号 08:41 UTC 提的,我写这个的时候它才挂了三天。我没复现,也没打算这周复现。这篇评的是它的定位、算法骨架和摘要里的措辞选择,2.7 那个数字我不背书。谁要拿它当卖点,那是他自己的事。