这项由普林斯顿大学、多伦多大学和卡内基梅隆大学联合开展的研究,于2026年4月以预印本形式发布,论文编号为arXiv:2604.12002v1。研究提出了一种名为"自蒸馏零"(SD-ZERO)的训练方法,核心问题是:一个AI模型能否仅凭自己犯的错误和一个简单的"对/错"信号,就给自己提供更有效的学习指导?

说到底,AI的学习方式一直是个让研究者头疼的问题。当前最流行的做法大致分成两派,就像两种截然不同的家庭教育方式。第一派是"靠奖惩":给AI出一道数学题,它自己想答案,答对了给个"?",答错了给个"?",然后靠这个信号慢慢改进。这种方式的优点是适用范围广,任何有标准答案的题目都能用,但缺点是"对/错"这个信号太粗糙了,就像告诉一个学生"这道题做错了",却完全不指出哪个步骤出了问题。第二派是"靠模仿":给AI提供大量由高水平模型或人类专家写出的优质解题过程,让AI一步一步地学着做。这种方式的学习效率高得多,但代价是你得先找到那个"优秀老师",或者花大力气准备高质量的示范答案,成本相当高昂。

普林斯顿的研究团队提出的问题非常简洁:能不能绕开这两个困境?既不需要漫无目的地靠"对/错"摸索,也不需要依赖昂贵的外部优质示范,而是让AI用自己犯的错误,给自己生成精细化的学习指导?这就是SD-ZERO想要解决的核心挑战。

一、为什么"对/错"信号会是个问题

回到那个"家庭教育"的比喻框架来理解这件事。假设你在教一个孩子解代数方程,每次他交上来作业,你只是在卷子上画一个"?"或"?",从来不指出具体哪一步运算错了。这个孩子要想进步,只能靠大量地做题,然后对比哪些做法最后得了"?"。这种学习方式当然是可行的,但效率极低,因为他每次只能知道"整体结果对了"或"整体结果错了",完全无法定位到具体的错误步骤。

这正是当前主流的强化学习训练方式(研究者们称之为RLVR)面临的问题。AI每次生成一段推理过程,可能有几百上千个词,但它得到的反馈只是整个答案对不对。模型必须靠大量采样、大量对比才能慢慢摸索出哪些推理路径是有效的,训练成本极高。

相比之下,蒸馏(Distillation)方法效率高得多,因为它能给出逐词、逐步骤的精细反馈。这就像那个孩子交上作业之后,有一个老师一步步地批改,标出"这里加法算错了"、"这里应该移项",学习效率自然高出许多。但问题是,要做到这种精细批改,你得先有一个比这个孩子强得多的老师——而找到这个老师,或者准备大量"专家示范答案",成本本身就很高。

更晚近的一些研究(如OPSD、SDFT、SDPO等方法)尝试让模型自己当自己的老师,即"自蒸馏",摆脱外部教师的依赖。但这些方法仍然需要一个前提:模型必须能看到比自己当前水平更好的示范答案,才能给自己提供有效的指导。换句话说,老师虽然不是外部人了,但还是需要参考"一份好答案"——这份好答案从哪来?要么是外部模型生成的,要么是自己反复采样筛选出来的,成本依然存在。

二、SD-ZERO的核心思路:让AI扮演"批改错题"的老师

SD-ZERO的突破点在于,它彻底改变了"什么是好的学习材料"这个假设。它不再要求模型看到"好答案"才能学习,而是让模型直接从"坏答案"里学习——确切地说,是从"我犯了这个错误,而且我知道这是个错误,那我应该怎么改"这个过程里学习。

可以用"批改错题本"来理解这个思路。传统的学习方式是:老师给你一道题,然后给你看一份标准答案,让你跟着标准答案学。SD-ZERO的方式是:AI自己做一道题,做完之后告诉它"你做错了"(或者"你做对了"),然后让它自己动手把这道题重新做一遍,把错误的地方改掉。这个"重新做一遍并改正"的过程,就是SD-ZERO的核心学习材料。

在这个框架里,同一个模型要同时扮演两个角色。作为"生成者",它按照正常方式回答一道问题;作为"修改者",它看着自己刚才的答案和"对/错"的判断,然后尝试生成一个更好的修改版本。关键的创新在于:修改者在改错误答案的时候,能够针对具体错误的地方给出精细化的逐词反馈,而这个反馈比单纯的"对/错"信号要丰富得多。接着,研究团队用一种叫做KL散度最小化的技术(可以简单理解为"让生成者学着向修改者靠拢"),把修改者学到的东西传递给生成者,使得生成者下次就能直接输出更好的答案,而不再需要先犯错再修改。

三、训练分两步走:先学会改错,再把改错的能力"内化"

SD-ZERO的具体训练过程分成两个阶段,可以把它比喻成一个学生先学会"用草稿纸打草稿然后修改",再学会"在脑子里就把事情想清楚直接写出好答案"的过程。

第一阶段叫做"自修改训练"(SRT)。研究团队从训练数据里取出一部分问题(具体是6000道),让基础模型先各自给出一个初始答案,然后验证这个答案是对是错,接着给模型一个提示语。如果答案是对的,提示语是"请用不同的方式重新表述这个解法";如果答案是错的,提示语是"等一下,这个答案不正确,让我重新来过"。然后让模型根据这个提示,结合原题和自己之前的答案,生成一个修改版的答案。最重要的筛选条件是:只有当修改后的答案是正确的时候,这条"初始答案→修改答案"的记录才会被保留下来,作为训练数据。

最终整理出6000条高质量的"犯错-改正"配对记录,然后用这些数据训练模型,让它同时学会两件事:一是看到自己之前的错误答案和"对/错"信号时,能生成一个更好的修改版本;二是在直接回答问题时,也能给出更好的初始答案。这就是第一阶段的SRT模型。

实验结果显示,仅仅是第一阶段训练完成之后,SRT模型的表现就相当惊人。在平均准确率上,Qwen3-4B-Instruct模型提升了7.8%,Olmo-3-7B-Instruct模型提升了9.2%,而且这种提升是在只用了6000道题的情况下取得的,同期对比的基线方法都用了15000道题。SRT模型还表现出一个有趣的能力:当你让它先给出一个答案,然后再基于"对/错"信号修改,SRT模型的修改成功率是5.0%(即5%的原来答错的题在修改后变成正确),而基础模型只有1.1%。更神奇的是,SRT模型修改后的答案平均比初始答案还要短,说明它不是在随机重新尝试,而是在针对性地改正错误。

但第一阶段有一个副作用:SRT模型在直接回答问题时,会产生特别长的回答,因为它学会了"先说答案,然后自我检查,然后说不对让我重新来,然后给出修改版"这样的显式自我修改流程。一道题可能会产生8000多个词的回答,虽然准确率高了,但推理速度极慢,实用性差。

这就引出了第二阶段。第二阶段叫做"自蒸馏"阶段。目标是把第一阶段里那种显式的"草稿-修改"流程,内化成模型一次性就能输出好答案的能力。

具体操作是:把第一阶段训练好的SRT模型固定住作为"修改者教师",然后让它同时作为"生成者学生"继续学习(注意,此时教师版本是固定的,学生版本是在更新的)。对于每道新的训练题,学生先生成一个答案,然后教师看到这个答案和"对/错"信号,给出一个修改版本的逐词概率分布。学生被训练去让自己的逐词输出分布,尽量接近教师在看到自己答案之后的输出分布。换句话说,教师在说的是"如果你给出这个答案,我觉得在这个位置应该用这个词,在那个位置应该用那个词",学生要学着在一开始就朝着这些"更正确的词"的方向走,而不是先犯错再修改。

这种方式的好处是,教师在帮助学生时,是针对学生当前这个具体错误答案来提供反馈的,而不是给出一个脱离具体情境的通用"好答案"。从这个角度看,这里的"对/错"信号真正被转化成了逐词级别的精细学习信号。

四、蒸馏之后,模型学会了"在心里改完再说"

自蒸馏阶段完成之后,模型的行为发生了一个颇为微妙的变化,研究团队对此进行了详细的行为分析。

可以通过三个版本的模型对同一道几何题的回答来理解这个变化。基础模型直接给出了一个错误答案,完全没有自我检查的迹象。SRT模型给出了一个较长的回答,过程中出现了类似"等等,这里有问题,让我重新来过"这样的明确自我修改语句,最后到达了正确答案,但整个过程需要大量篇幅,其中包含了对称性假设、否定这个假设、重新计算等显式的修改步骤。SD-ZERO模型(经过第二阶段蒸馏之后)则给出了一个简洁而直接的回答,它在心里就已经识别出了那个容易出错的对称性陷阱,然后直接用坐标系方法绕开了这个陷阱,没有任何显式的"等等我重新来",但到达的结论是正确的。

研究团队用两个指标量化了这个转变:一是平均回答长度,二是回答中出现"等等"、"让我重新来"、"我犯了个错误"等自我修改关键词的比率。在第一阶段(SRT训练)期间,这两个指标都急剧上升,到SRT阶段结束时,平均回答长度接近4500个词,自我修改关键词出现比率也很高。进入第二阶段(自蒸馏)之后,两个指标都持续下降,最终SD-ZERO模型的平均回答长度约为2000个词,大概是SRT模型的一半,而且准确率还更高。

研究团队将这种现象称为"自我修改行为的内化"——模型不再需要显式地在输出中"先犯错再修改",而是把这种自我纠正的能力整合进了生成过程本身,变成了一种更加高效的"预见性推理":在开口之前就已经规避了常见的错误路径。

五、一种神奇的现象:模型改错能力可以不断自我迭代

SD-ZERO还有一个颇具潜力的特性,研究团队称之为"迭代自我进化"。

在默认的训练设置里,第二阶段使用的"修改者教师"是固定在第一阶段训练完成时的SRT模型状态,不随学生的学习而更新。这种设置有一个自然的上限:学生最多学到教师这个水平,但教师本身没有进步。

然而研究团队观察到一个有趣的现象:经过第二阶段自蒸馏训练之后的SD-ZERO模型,其"改错能力"反而比SRT模型还要强。回到那个"先生成答案再修改"的评估流程,SRT模型的修改成功率是5.0%,而经过第二阶段后的SD-ZERO模型的修改成功率提升到了5.3%。这说明第二阶段的训练不仅把改错能力内化进了生成过程,还顺带提升了显式改错时的能力。

这意味着什么?这意味着可以把更新后的SD-ZERO模型作为新的"修改者教师",开启第二轮自蒸馏。研究团队在OpenR1-Math数据集上测试了这个想法:第一轮自蒸馏结束后,把教师更新为最新的学生模型,然后继续第二轮训练。结果显示,第二轮训练额外带来了至少3个百分点的准确率提升,而且在训练结束时还没有出现饱和的迹象,这意味着如果继续进行更多轮迭代,可能还能进一步提升。这种"改错能力的改进被蒸馏回生成能力,生成能力的提升又反过来支撑更强的改错能力"的正向循环,就是研究团队所说的"迭代自我进化"。

六、"改错信号"是如何在词语层面发挥作用的

研究团队还深入分析了一个关键问题:修改者教师到底是怎样把一个简单的"对/错"信号转化成逐词的精细反馈的?

他们定义了一个叫做"词语KL奖励"的指标,简单来说就是:对于生成者回答里的每一个词,衡量修改者教师觉得这个词"有多需要被改"——如果这个词在错误答案里出现,而修改者会用完全不同的词替代它,那么这个词的KL奖励就很高;如果这个词在正确答案里出现,修改者觉得这个词完全合理不需要改,那么KL奖励就很低甚至是负的。

分析结果揭示出一个清晰的模式。当生成者的答案是正确的(r=1),修改者的改动是分散的、均匀的,各个词的KL奖励都比较小,说明修改者主要在做一些措辞上的调整,而不是针对性地纠错。当生成者的答案是错误的(r=0),大部分词的KL奖励都很小,但少数特定位置的词的KL奖励极高,形成明显的"尖峰",这些尖峰正好对应着答案里逻辑出错的关键位置。

研究团队用一道几何题做了案例说明。在一段错误的推理过程中,模型用了基于对称性的错误论证,大部分词的KL奖励都很平,但当推理到"根据对称性,A和E关于C的垂直轴对称"这一句话里的关键词时,KL奖励出现了明显的正向尖峰,说明修改者认为这些词"错得很离谱,必须被替换"。而后续正确方法(用坐标系计算)中的关键词则呈现明显的负向KL奖励,说明修改者在引导模型朝着这些词的方向走。

这个现象被称为"词语级自我定位"——模型在看到自己的错误答案和"错了"这个信号之后,能够自动识别出推理过程中哪些具体的词语是问题所在,并且指向哪些词语才是正确的方向。这种能力把一个粗糙的"对/错"信号,转化成了一张精细的"错误地图"和"改进方向图"。

七、与其他方法相比,SD-ZERO表现如何

研究团队在八个数学和代码推理基准测试上进行了系统的比较实验,所有方法都在相同的训练数据集(OpenR1-Math的15000道题,或Codeforces的15000道题)和相当的计算资源预算下运行。

对比的基线方法包括SFT(用DeepSeek-R1生成的高质量示范答案来微调),RFT(只保留模型自己做对的答案来训练,丢弃错误答案),GRPO(用强化学习靠"对/错"信号训练),以及SDFT(让模型以高质量示范答案作为参考进行自蒸馏)。

在Qwen3-4B-Instruct模型上,基础模型的平均准确率是49.8%,经过SFT训练后是50.0%,RFT提升到54.3%,GRPO提升到53.1%,SDFT提升到51.2%。SRT模型达到57.6%,SD-ZERO模型达到60.3%,比基础模型提升了10.5个百分点,是所有方法中最高的。在Olmo-3-7B-Instruct模型上,基础模型是41.1%,SRT达到50.3%,SD-ZERO达到51.5%,提升了10.4个百分点,同样是所有方法中最高的。

一个值得关注的细节是:SRT方法只用了6000道题来生成40000次模型响应的训练数据,而RFT和GRPO各用了15000道题和60000次响应,SDFT同样用了60000次响应,但SRT的表现依然全面超越了这些用了更多数据的方法。加上第二阶段的9000道题9000次响应,SD-ZERO总计使用了49000次响应,仍然显著少于基线方法的60000次,而最终效果更好。

在代码推理任务上,SD-ZERO在LiveCodeBench(实时代码挑战)上对Qwen3-4B-Instruct的提升尤为显著,从基础模型的61.8%跃升至82.6%,提升幅度高达20.8个百分点,远超所有其他方法。

研究团队还专门测试了"如果给SDFT同样只用最终答案而不用完整解题步骤作为监督信号,会怎样",结果发现SDFT在这种条件下几乎没有什么改进(49.5%),接近基础模型水平(48.1%),而SD-ZERO在同样只有最终答案信号的条件下仍然达到57.3%,说明SD-ZERO对"答案监督信号"的利用效率远高于SDFT。

研究团队还测试了增大GRPO的采样规模是否能缩小差距。从每道题4次采样增加到8次采样,GRPO的平均准确率从51.7%提升到52.3%,仍然低于SD-ZERO的57.3%,说明SD-ZERO的优势不是简单靠多采样能弥补的,而是来自更有效的学习机制。

归根结底,SD-ZERO这项研究揭示了一个有点出人意料的道理:学习的关键不在于看多少正确示范,而在于如何处理自己的错误。一个模型,只要能够清楚地看着自己犯的错误说"我知道这里错了,所以应该改成这样",就能把这个改错过程转化成比单纯的"对/错"信号丰富得多的学习材料。更重要的是,这种改错的过程会随着模型变强而不断升级,形成一个不需要外部老师介入的自我改进循环。

这对于AI研究的意义在于:获取高质量训练数据一直是大模型训练的一大瓶颈,SD-ZERO提供了一条不依赖外部高质量数据的路径,只需要"对/错"这样最基础的反馈信号,就能训练出更强的模型。当然,研究团队也坦诚地指出了当前方法的局限性。SD-ZERO目前主要针对有明确标准答案的数学和编程任务,在没有可验证答案的开放性问题上如何应用,仍是一个待解的难题。此外,如何将这种方法推广到"思考型模型"(会生成大量探索性推理过程的模型)也是一个挑战,因为那类模型的长推理链里本就包含大量"试错和修正",很难区分哪些是应该被修改的真实错误,哪些是正常的探索过程。

有兴趣深入了解技术细节的读者,可以通过arXiv编号2604.12002查阅完整的论文原文。

Q&A

Q1:SD-ZERO方法和强化学习训练AI有什么区别?

A:强化学习训练AI(比如GRPO)只给模型一个最终的"对/错"信号,模型需要靠大量采样和对比才能慢慢摸索出好的推理路径,学习效率较低。SD-ZERO则把这个粗糙的"对/错"信号转化成了逐词的精细反馈——模型看着自己的错误答案和"答错了"这个信号,能自动识别出推理过程中哪些具体词语是问题所在,相当于把一句"做错了"变成了一张详细的"错误地图",学习效率高得多。

Q2:SD-ZERO训练需要多少数据,成本高吗?

A:SD-ZERO总共使用了约49000次模型响应来训练,而对比方法RFT和GRPO各需要60000次,SDFT同样需要60000次。所以SD-ZERO用了更少的数据,取得了更好的效果。第一阶段用6000道题生成40000次响应,第二阶段仅需9000道题各生成1次响应。最终总token消耗约225亿个,与基线方法相当,但性能提升了10个百分点以上。

Q3:SD-ZERO训练出的模型回答问题时速度会变慢吗?

A:反而更快。经过第一阶段训练的SRT模型回答时会非常冗长(平均约8500个词),因为它会显式地写出"等等,我重新来"这样的修改过程。但经过第二阶段自蒸馏之后,SD-ZERO模型已经把改错能力"内化"到了生成过程里,不再需要显式修改,平均回答长度降至约2000个词,大概是SRT的一半,比所有基线方法都短,而且准确率更高。