只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现

发布时间:2026/9/25 18:26:41
只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现
先说一件让人有点摸不着头脑的事。有研究团队拿出一个数学题就一道题,反复喂给模型训练了上千步。按常理这事儿应该很快就练废了,一道题能有多少信息量?可结果是,模型的准确率一路涨,涨到接近用全部一万七千道题训练出来的效果的七成二。这不是巧合也不是某个模型的特例。研究者把这个实验换了三个不同的模型家族,换了数学、代码、指令遵循、工具调用四个完全不同的任务领域结果都一样一道题就能撑起大部分的训练收益。这篇论文要回答的问题就是,为什么会这样。**一件反常识的事训练数据居然不是瓶颈**在强化学习的世界里,已经有人做过类似的极限实验。用一条样本训练模型解数学题,同样能让模型持续进步上千步。但那是强化学习,机制上说得通:模型每次尝试解题,答对了就是奖励信号,答错了没有奖励只要还有新的尝试方式学习就能继续。这篇论文研究的是另一种训练方式,叫做在线策略蒸馏。在线策略蒸馏OPD让一个学生模型自己生成答案,然后由一个更强的老师模型在每一个字的位置上,告诉学生你输出这个词的时候,更好的选择应该是什么分布而不是只在答案对错上给一个笼统的分数。区别就在这里。强化学习给的是一次性的、对错分明的反馈就像考试只给你一个总分。在线策略蒸馏给的是逐字逐句的详细批注,老师在你写的每一句话后面都做了详细点评。既然监督信号密集到这个地步,按理说一道题很快就该被榨干学生看穿了老师在这道题上能给的所有指导接下来的训练应该停滞不前。可实际情况是,它还能撑上千步。这个矛盾,就是整篇论文想要拆解的核心谜题。**数据这边一道题背后藏着一整片状态空间**要理解这个悖论,得先换个视角看一道题到底意味着什么。论文里提出了一个关键概念,叫做状态。状态state模型在生成答案的过程中,写到第几个字时,前面已经写出的所有内容加上原始问题,共同构成的当前处境。每往后写一个字,就产生一个新的状态,老师会针对这个状态给出指导。这里就有意思了。同一道题,模型可以生成出无数种不同的答案路径,每条路径的每一步都是一个独立的状态。批量采样六十四次,一道题就能炸出成千上万个不同的状态,每个状态都对应一份来自老师的详细监督。这就好比你以为只请了一位家教辅导一道应用题,结果这位家教陪着你把这道题的六十四种解法都走了一遍,每一步都有点评,你实际获得的辅导量远比一道题这三个字听起来要多得多。如果只看题目数量,这道题确实是一。但如果按状态数量算账,那可就是海量了。为了证明这个猜想,研究者搞了个巧妙的量化指标叫做状态覆盖率。状态覆盖率state coverage把全部训练数据跑一遍在线策略蒸馏所访问过的所有状态,按语义相似度分成两百个簇可以理解成两百个不同的处境类型然后看某一个训练设置的采样结果,能够触达这两百个簇里的百分之多少。结果非常直接单独一道题,在三百步训练里就能覆盖百分之七十一点五的状态空间,而且这些覆盖大部分是在前一百步内就完成的。换句话说,一道题虽然表面上信息量有限,但它引导模型走出的路径,已经悄悄踩过了全部训练数据能踩到的大部分处境类型。这也解释了为什么加入更多题目会继续带来收益,但收益会很快到顶。研究者从数学数据集里用语义聚类挑出彼此内容差异明显的题目逐步增加到四道、十六道。结果十六道语义上足够分散的题目,状态覆盖率冲到百分之九十八点九,训练效果就已经和用全部一万七千道题几乎打平了。这里有个细节值得琢磨。研究者做了个对照实验,同样选十六道题,但故意让这十六道题全部来自同一个语义簇也就是内容高度相似,结果状态覆盖率只能爬到百分之七十六点八左右,效果也远不如从十六个不同簇里各选一道。这就像你想让一个人熟悉一座城市,给他十六张地图,如果这十六张地图画的都是同一个街区不管看多少遍,他对这座城市的整体认知都不会有实质提升但如果这十六张地图分别覆盖十六个不同的区域,哪怕地图数量一样多,他很快就能对整座城市有个大致的把握。题目数量本身不是关键,题目之间彼此拉开的语义距离才是。**算法这边不是数据不够用,是消化得太慢**数据这边讲通了,可另一半谜题还没解开既然一道题很快就能覆盖大部分状态,为什么训练还要跑几百步才见效,而不是几十步就见顶?答案落在算法的消化速度上。研究者定义了两个指标去追踪这个过程。第一个叫距离,衡量在模型实际走过的每一个状态上,学生和老师给出的词汇概率之间还差多远可以理解成师生观点分歧的平均大小。第二个叫吸收率,衡量每一次参数更新,能把这个分歧缩小掉百分之多少。结果发现,不管是一道题、四道题、十六道题,还是全部一万七千道题,吸收率的下降曲线几乎是同一条形状。训练刚开始时,吸收率能到百分之二左右,一次更新就能啃掉分歧的一大截但随着训练推进,吸收率持续走低,降到百分之零点二左右,后面每一步能啃掉的分歧越来越薄。四种数据规模下,吸收率从五十步到两百步之间下降的倍数几乎一致,都在四到六倍这个区间。这意味着,训练需要跑几百步,根本原因不是老师提供的指导不够多,而是学生这边消化这些指导的效率天生就是递减的,跟你给它的题目多不多没有关系。这个发现有点像健身增肌。你请了一位私教,私教在第一周就已经把你需要知道的动作要领、发力方式全部教给你了,信息量早就给够了。但你的肌肉纤维适应和生长有它自己的生理节奏,不可能因为教练说得更详细、更早,你就能一周内练出腱子肉。私教讲解的信息供给和你身体吸收的速度是两件独立的事情如果私教把同一套动作要领反复讲十遍,你的进步速度也不会因此翻倍。这篇论文测的,正是学生模型的肌肉适应速度这件事,而不是私教讲得够不够多。研究者还专门做了个实验来验证这个判断的稳健性。他们把训练状态死死锁定,不再让模型每一步生成新的样本而是从最初版本的模型身上一次性采样六十四条轨迹,之后所有训练更新都只在这固定的六十四条轨迹上反复咀嚼。按理说,如果模型很快就能把这些固定内容学透,训练应该迅速停滞。但实际情况是,这个啃老本的版本照样进步了将近两百步才趋于平稳,进步曲线跟正常在线采样的版本几乎重合。这说明维持训练时长的关键根本不在于持续供应新鲜状态,而在于消化现有状态本身就需要这么长时间。论文用一个简洁的说法总结了这两半发现在线策略蒸馏是数据过剩、算法营养不良。数据这一头,一道题就能把该覆盖的状态基本覆盖到,喂给模型的信息绰绰有余算法这一头,吸收这些信息的速度天生就慢,而且越往后越慢,这才是限制训练效果和时长的真正瓶颈。**从单一任务扩展到多任务十六道题依然够用**这个结论会不会只是单一任务领域里的巧合?研究者接着把实验搬到了一个更贴近工业实践的场景叫做多教师在线策略蒸馏。多教师在线策略蒸馏MOPD同一个学生模型同时在数学、代码、指令遵循等多个领域接受训练每道题会被分配给对应领域的专属老师模型一次训练涵盖多个学科。这更接近真实世界里大模型公司训练旗舰产品的方式业界不少头部大模型的技术报告里都提到过用这套思路做后训练。研究者在这个场景下重复了之前的诊断结果依然成立全量数据训练把三门学科加权平均后的验证准确率从四十三点五推到五十二点八而如果每个学科只挑十六道语义上足够分散的题目最终能到五十二点九几乎完全追平甚至略微反超。拆开看三门学科各自的情况,数学能达到全量效果的百分之九十三,代码生成达到百分之一百三十六,指令遵循达到百分之一百零九。多学科同时训练并没有打破单学科里观察到的规律只要题目彼此语义足够分散十六道题依然是个够用的门槛。**极限压测连问题本身都可以是空的**到这里,研究者显然还不满足,他们又往前逼了一步既然状态覆盖率才是关键,那题目本身要不要包含具体的任务内容,是不是也没那么重要?他们设计了一个近乎荒诞的实验。用一个完全没有任何问题内容的空白模板去训练模型模板里只有系统标记和一个引导模型开始思考的符号没有任何具体的题目文字。另外还试了一个稍微加了一句系统提示的版本比如告诉模型去解决竞赛编程问题,但同样不给出任何具体题目。第三种更极端,直接从一个叫WildChat的日常对话数据集里随机抽取查询,这些查询里明确标注为数学相关的比例只有百分之零点一七,标注为代码相关的比例也只有百分之二点六三,绝大多数是闲聊、创意写作、角色扮演之类,和数学、代码几乎不沾边。结果所有这三种内容极度稀薄的输入,训练曲线都紧紧贴着用真实题目训练的基准线在数学任务上最终成绩只比真实题目低了大约一个百分点,在代码生成任务上甚至几乎没有差距。这个结果乍一看有点反直觉,细想却也合理。因为在线策略蒸馏真正起作用的地方,是模型自己写出答案之后,老师在每一步给出的详细指导。只要这个空白模板或者这条闲聊消息,能把模型引诱进入一段可以持续生成、并且老师能给出有效反馈的思考过程,那这段输入起到的作用,和一道正儿八经的数学题在功能上是一样的它只是一个触发器,让模型开始动笔,后面真正塑造模型能力的,始终是老师逐字逐句给出的监督信号。但这里有个边界条件研究者也如实指出了。如果这个模板把思考的标签直接闭合掉模型就会崩成简短的、毫无实质内容的空话式回复根本没法用来训练。这说明输入不是完全无所谓它至少得给模型留出一个能展开思考的入口但至于这个入口里到底装着什么具体内容重要性远比想象中要低。这就好比让一个学生练习写作文你发现哪怕给他的题目只是一张白纸只要上面印着请开始写这几个字他也能自己联想出一篇不错的文章来给老师批改。真正决定这篇作文质量的从来不是题目本身出得多精妙而是老师批改时给出的意见有多细致。**和一次性强化学习的正面对比**最后,论文还专门把在线策略蒸馏和前面提到的那个一道题也能训练强化学习的方法拉到同一个擂台上用完全相同的一道题去比较。结果很清楚。经过一千步训练在线策略蒸馏能把和老师之间的差距缩小百分之七十二而强化学习的验证集提升幅度还不到它的一半。原因也不难理解强化学习依赖的是这道题模型答对了还是答错了这个信号训练几百步之后模型几乎每次都能答对这道题答案趋于一致组内不再有差异用来计算优势值的信号就枯竭了没有对错的落差可供学习进步自然停滞。而在线策略蒸馏靠的是逐字逐句的分布差异哪怕模型已经能稳定答对这道题老师和学生在具体用词、表达细节上依然存在可以继续拉近的差距这个信号消失得慢得多。一道题对强化学习来说就像一场只有一次机会的考试一旦你连续满分这场考试就没法再告诉你哪里还能提高了。而对在线策略蒸馏来说同一道题更像是一位对着你反复批改同一篇作文的老师哪怕这篇作文你已经写得很顺畅他依然能在措辞、逻辑衔接、细节表达上挑出新的地方让你打磨。QAQ1One-Shot OPD为什么只用一道题训练也能大幅提升模型效果A因为在线策略蒸馏OPD训练的核心单位不是题目而是状态一道题采样多次会产生上万个不同的生成状态每个状态老师都会给出详细的逐字监督所以一道题就能覆盖全量训练数据大约七成一的状态空间信息量远超表面看到的一道题。Q2为什么One-Shot OPD训练要跑几百步才见效而不是很快就停滞A研究发现限制训练时长的不是数据不够而是模型吸收监督信号的速度本身在持续变慢这个吸收率下降的规律在一道题、十六道题和全量数据上几乎一致说明消化速度是算法本身的瓶颈跟数据量无关。Q3One-Shot OPD和One-Shot RLVR哪个训练效果更好A在同一道题上对比一千步训练OPD能缩小七成二的师生差距验证集提升幅度是RLVR的两倍多因为RLVR依赖答案对错的差异模型学会解题后信号就枯竭了而OPD的逐字监督信号能持续提供细粒度的差距。