这项由新加坡国立大学研究团队开展的工作,于2026年7月以预印本形式发布,编号为arXiv:2607.04428,有兴趣深入了解的读者可通过该编号查询完整论文。研究提出了一种名为dOPSD的新型训练方法,专门针对一类叫做"扩散大语言模型"的AI系统,让它们在数学推理和代码生成等需要严密逻辑的任务上表现得更好。
现在最火的那些会聊天、会写作的AI,大多数都是"从左到右"一个字一个字往外蹦词的,就像你在键盘上打字一样,每敲一个键才决定下一个键。但扩散语言模型的工作方式完全不同——它更像是做一道填空题,一开始所有格子都是空白的,然后它一轮一轮地把最有把握的那些格子填上,直到整篇文章写完。这种方式有个巨大优势:它可以同时看到整个句子的前后语境,而不是只知道已经写出来的部分。
然而,想让扩散语言模型学会深度推理,研究团队遭遇了一道棘手的墙。这堵墙并非凭空出现,而是源于AI训练领域长期存在的三大困境,而这项研究的价值正在于找到了一条同时绕过这三道障碍的路径。
一、为什么教会AI"推理"这么难
教一个人解数学题,最直接的方法是给他看大量例题和标准答案,然后让他模仿。对AI来说,这叫做"监督微调",通俗地说就是"给AI喂答案让它抄"。但问题来了:训练时AI总是看着标准答案学,但考试时它得自己独立作答,这两种状态差别很大,就像你练习时总有老师在旁边提示,但考试时独自面对试卷,会感到很不适应。这种现象在学术上叫做"暴露偏差",意思是AI在训练和实际使用时所处的环境不匹配。
另一条路是用强化学习,也就是让AI自己尝试解题,答对了就给奖励,答错了就扣分。这个方法更接近真实考试的状态,但对扩散语言模型来说有个技术难题:扩散模型的工作方式使得很难计算"整篇答案有多大概率"这个数字,而强化学习恰恰需要这个数字。而且强化学习给出的奖励非常稀疏——只有当整篇答案完全正确时才有奖励,就好比学生交完整张试卷才知道对不对,中途完全没有反馈,学习效率极低。
还有第三条路,叫做"在线自我蒸馏"(OPSD),这是近期研究人员为自回归语言模型(也就是那种从左到右写字的AI)开发的方法。这个方法很聪明:用同一个模型同时扮演"学生"和"老师"两个角色。学生版只看题目,老师版除了看题目还能看到参考答案。学生按自己的理解作答,然后拿老师给出的每个词的概率分布来指导自己,这样就能获得密集、细粒度的训练信号,不必等到整篇答案出来才知道对错。
但这里有个深层次的缺陷,而这个缺陷在把方法搬到扩散语言模型上时暴露得尤为明显。老师的能力来源于它能看到那份参考答案,然而学生在实际考试时永远看不到参考答案。于是,对于每一道不同的题,老师的建议都是针对那道题的特定答案量身定制的,而学生只能取这些来自不同题目的老师建议的"公约数",最终学到的是一种模糊、折中的笼统策略,反而比任何一个针对具体题目的老师建议都要弱。这个现象被研究人员形象地称为"PI消解"——老师的特权信息(Privileged Information,简称PI)被平均掉了,留下的只是一个无力的共识。
更糟糕的是,扩散语言模型的解题方式还带来了第二个独立的问题。传统的在线自我蒸馏会在模型写完答案后,随机遮住其中一些词,然后让模型猜这些词,以此来训练。但随机遮词和扩散模型真正解题时的遮词顺序完全不同——扩散模型是按照"先填最有把握的"这个顺序来的,随机遮住的词往往是那些早就该填好的简单词,而不是模型当前真正需要学习的词。研究团队通过实验测量发现,当随机遮住10%的词时,大约90%被遮住的词其实是模型早就确定好的"简单词",和真实解题过程完全脱节。训练结果也印证了这一点:用随机遮词的方式训练,模型的数学成绩随着训练步骤的增加反而稳步下滑。
这两道障碍——老师的特权信息是外部答案导致的平均化失效,以及随机遮词导致的训练状态偏离真实解题路径——共同构成了把在线自我蒸馏移植到扩散语言模型时必须突破的核心瓶颈。
二、扩散模型天生自带的"金手指"
研究团队发现,扩散语言模型解题时的特殊工作方式,恰好内置了一种独特的信息优势,而这种优势是左到右写字的普通模型完全没有的。
回到填空题的比喻。扩散模型解题的过程是这样的:一开始所有格子都空着,第一轮填了几个最有把握的词,第二轮又填了一些,第三轮再填一些,直到所有格子都填满。在这个过程中,每一轮结束后的半成品答案,都比上一轮包含更多已填好的词,因此给剩余空格提供了更丰富的上下文信息。
关键的洞察在于:处于解题过程中间某一步的模型,和处于更靠后一步的模型,看到的上下文是不同的。靠后那步的模型已经填好了更多词,所以它对剩余空格的预测会更准确,因为它有更多参考信息。这就像同一个人做同一道题,做到一半时猜剩余答案,和做到八成时猜剩余答案,后者显然更有把握。
换句话说,模型在自己解题过程的后期,自然地成为了前期的"老师",而且这个老师的优势——那些额外知道的词——完全来自模型自己的解题过程,不需要任何外部参考答案。这就是dOPSD的核心思路:把老师的特权信息的来源,从外部参考答案换成模型自己解题过程中产生的"先知优势"。
三、dOPSD如何让模型用自己的解题历程当老师
理解了核心思路之后,具体的做法其实相当直观。
每次训练时,模型先完整地解一道题,同时把解题过程中每一步的半成品状态都记录下来。这个完整的解题过程包含了从全空到全填的所有中间状态,形成一条"解题轨迹"。
接着,从这条轨迹中随机挑选一个中间时刻——要求这个时刻还有足够多的空格,具体来说答案区域至少还有一半是空的,这样才有足够的训练素材。这个中间状态就作为学生的处境:在这么多词已经填好的情况下,模型对剩余空格做出预测,这就是学生的答案。
然后,对于每一个此刻还空着的格子,研究团队让同一个模型回到解题轨迹的后续各步骤,看看在后续每一步那个更丰富的上下文中,模型对这个格子的预测是什么。把这些来自不同后续步骤的预测平均起来,就得到了老师对这个格子的建议。
为什么要取平均而不是只用最后一步?因为每一个更靠后的步骤都代表了比当前更充足的信息,把所有后续步骤的预测都纳入平均,等于把模型在整个后续解题过程中积累的所有"先知优势"都汇集起来,信号最丰富。实验也证实了这一点:只看后续50步的老师效果不如看后续100步,而看完整剩余轨迹的老师效果最好。
训练时,用一种叫做"詹森-香农散度"的数学工具来衡量学生预测和老师建议之间的差距,然后让模型朝着缩小这个差距的方向调整自己的参数。整个过程中,梯度只流向学生,老师是固定的参考目标,不会被这次训练改变。这样设计是为了确保学习的方向清晰:是学生在向老师学习,而不是两者互相纠缠。
此外,研究团队还加入了一个过滤机制:如果模型解这道题得出的最终答案是错的,那么整条轨迹就被丢弃,不纳入训练。道理很简单——如果最终答案就是错的,那么沿着这条轨迹产生的老师建议也很可能是错的方向,拿来训练只会强化错误。不过研究者们也测试了不加这个过滤机制的版本,发现即使不过滤直接训练,模型成绩依然能够提升,只是提升幅度稍小。这说明过滤只是锦上添花,不是方法成立的前提。
四、用正向KL还是反向KL,这个问题比看起来重要得多
在把老师的知识传递给学生的过程中,有一个技术细节值得专门说清楚:用什么方式衡量"学生和老师有多像",会显著影响最终的训练效果。
简单地说,有两种极端方式来衡量两个概率分布之间的差距,分别叫"正向KL散度"和"反向KL散度"。正向KL散度的特点是"追求覆盖全面"——它会强迫学生在老师认为可能的每一种答案上都分配一些概率,不能对老师觉得可能的选项视而不见。反向KL散度的特点是"追求集中精准"——它允许学生只关注老师最看好的那个答案,对其他选项忽略不计。
在dOPSD这个场景下,老师的建议本身就融合了解题轨迹多个后续步骤的信息,是一个丰富的多峰分布——可能对好几个候选词都给出了不低的概率。如果用反向KL散度,学生只会盯着其中最高的那个峰,把其他峰包含的信息都丢掉,等于浪费了老师的一部分知识。正向KL散度则会强迫学生把老师分布的全貌都吸收进来,不遗漏任何信息。
实验结果非常一致:无论是在Dream还是LLaDA两个模型上,无论是在数学还是代码这两类任务上,正向KL散度的训练结果都明显优于反向KL散度。以LLaDA模型为例,在HumanEval代码测试上,正向KL达到了39.63分,而反向KL只有37.42分;在Dream模型的MBPP代码测试上,正向KL达到58.49分,反向KL只有50.61分。这个差距在四项测试中始终如一地存在,因此研究团队将正向KL定为默认设置。
五、真实的考验:和其他方法的全面对比
研究团队在Dream-7B-Instruct和LLaDA-8B-Instruct两个扩散语言模型上,把dOPSD和四种其他训练方法做了系统对比,同时保留了未经任何额外训练的原始模型作为基准。所有方法都用同一批数学题训练,评估时既测数学(GSM8K和MATH500两个基准),也测代码生成(HumanEval和MBPP两个基准),而且代码测试完全是在模型从未见过相关训练数据的情况下进行的。
结果呈现出一个非常清晰的格局。四种对比方法——监督微调、强化学习(GRPO)、仅用最终答案作为特权信息的OPSD、以及用完整参考解答作为特权信息的OPSD——在几乎所有测试上的表现都和原始模型相当甚至更差。
监督微调在两个模型上的所有四项测试中全面低于原始基准,印证了训练推理状态不一致带来的负面影响。强化学习方法的表现基本和原始模型持平,偶尔有小幅提升,比如在LLaDA的MATH500上提升了约1.5分,但总体收效甚微,体现了稀疏奖励信号和技术适配困难带来的瓶颈。
两个OPSD变体的表现则直接验证了研究团队在理论分析中的预判。仅用最终答案作为特权信息的版本在原始基准附近徘徊,始终无法形成有意义的提升——正是因为每道题的答案不同,导致针对不同题目的老师建议互相矛盾,平均后剩下的信号微乎其微。而用完整参考解答作为特权信息的版本则出现了严重的崩溃:在Dream模型上,GSM8K成绩从81.41分暴跌至67.25分,跌幅超过14分;在LLaDA模型上,GSM8K从71.23分跌至57.86分,跌幅超过13分。越是丰富、具体、针对单道题的参考信息,就会让不同题目之间的老师建议差异越大,平均后的结果就越趋向于一个什么都不说的无力共识,这和理论预测完全吻合。此外,完整参考解答版本还频繁出现截断不完整、甚至完全生成空输出的情况,定性案例中可以看到多个这样的失败例子。
与之形成鲜明对比的是dOPSD在所有测试上的全面提升。在Dream模型上,GSM8K从81.41升至83.04,MATH500从38.97大幅跃升至42.20;在代码生成方面,HumanEval从52.54升至56.71,MBPP从57.43升至58.49。在LLaDA模型上,GSM8K从71.23升至72.87,MATH500从31.24显著提升至36.00,HumanEval从36.12升至39.63,MBPP从38.45升至39.54。在所有测试的所有方法中,dOPSD是唯一能在所有四项测试上同时超越原始基准的方法。
特别值得注意的是代码生成方面的提升,因为训练数据完全是数学题,模型从未接触过代码训练样本。dOPSD让模型在代码任务上也获得了提升,说明通过轨迹导向的自我蒸馏学到的是一种更通用的推理能力,而不是对特定数学题的记忆,并且没有出现其他方法常见的灾难性遗忘现象。
六、关于"往后看多远"和"空格留多少"的细节调优
研究团队还系统测试了两个关键参数的影响,这两个参数共同决定了训练信号的质量。
第一个参数是老师在轨迹中"往后看多远"来构建建议分布。研究团队测试了只看未来50步、100步、200步,以及看完所有剩余步骤四种配置。结果非常规律:看得越远,效果越好。只看未来0步(即没有后续步骤可看,退化为当前步骤的预测)时,GSM8K只有70.44分,比原始基准还低;看50步时回升到74.26分;看100步时达到78.42分;看200步时达到78.14分;看完所有剩余步骤时达到83.04分,MBPP也从只看200步时的48.92跳跃至58.49。这个趋势表明,老师的先知优势确实随着掌握更多后续解题信息而持续增强,而不是到某个点就饱和了。
第二个参数控制的是选取学生所在训练时刻时,要求那个时刻答案区域至少还有多少比例是空白的。研究团队测试了25%、50%、75%三个阈值。阈值设为25%时,意味着允许选取几乎快填完的时刻,空白格子太少,老师和学生能从中学习的素材不足,整体平均分只有53.63分。阈值设为75%时,要求选取的时刻必须有大量空格,但此时模型对剩余空格的预测基础极其薄弱,老师的建议也变得难以可靠,整体平均分59.49分。50%是一个最佳的平衡点,整体平均分达到60.11分,在GSM8K和MATH500上也都达到最优,因此被定为默认值。
七、AI解题的具体对比:三个真实案例
研究团队选取了三道具代表性的题目,展示各方法在细节上的差异,这些例子非常直观地说明了训练方法的差异如何体现在具体答题行为上。
第一道题问的是Ada每天用12千瓦时的电,加了一个设备后每周账单差多少。正确答案是21美元。包括原始模型、监督微调、强化学习和两个OPSD变体在内的所有对比方法,都犯了同一个错误:把每天的用电量乘以24小时,把"千瓦时每小时"当成了"每小时千瓦时",凭空制造出一个单位换算。这个错误让所有方法的答案从21跑到了504甚至2520。完整参考解答版本的OPSD则走向另一个极端,答案无限延伸超出了生成长度限制,最终没有输出任何数字答案。只有dOPSD看清楚了题目已经给出的是"每天12千瓦时",直接正确推算出答案21。
第二道题问Martin如果每天吃Cheerios会每周减1.25磅,吃甜甜圈会每周增1.75磅,5周后两种情况的体重差是多少。正确答案是15磅。所有对比方法都犯了同一个符号错误:把6.25(减少)和8.75(增加)直接相减,得到2.5;但正确做法是把减少和增加看作方向相反的两个量,差值应该是8.75加上6.25等于15。换句话说,其他方法都没意识到一个是体重下降、一个是体重上升,两者要叠加而非相减。dOPSD正确地认识到这是两个方向相反的变化量,给出了15的正确答案。
第三道题让计算Ava和Emma在游戏中的得分差,Ava跳了更多敌人和收集了更多浆果但计时器超时,最终净损益是-25分,也就是Ava比Emma低25分,答案应当取绝对值25。所有对比方法都正确计算出了-25这个带符号的结果,但在报告答案时出现了各自不同的错误:有的直接报告-25,有的引入未知变量把问题复杂化后崩溃到0,完整参考解答版本再次生成了空输出。dOPSD是唯一一个正确理解"得分差是个绝对值",把-25转换为25后给出正确答案的方法。
这三个案例共同展示了一个模式:其他方法犯的错误具有一定的系统性,体现在对单位理解、符号逻辑、绝对值等基础推理规则的处理上,而dOPSD通过从自身解题轨迹中汲取更一致的训练信号,在这些细节上表现出更稳健的推理行为。
归根结底,dOPSD做的事情用一句话来说就是:让扩散语言模型把自己解题过程中"未来的自己"当作老师,用这个内生的、无需任何外部答案的信号来改进"当下的自己"。这种方法巧妙地利用了扩散模型独有的"逐步解封信息"特性,把一个在自回归模型上根本无法实现的想法变成了现实。
对于这个领域的发展意味着什么?一方面,它表明不一定需要大量标注好的参考解答才能提升AI的推理能力,模型自身的解题过程就蕴含着足够丰富的训练信号;另一方面,它揭示了在把针对一种模型架构设计的方法移植到另一种架构时,表面的相似性可能掩盖着根本性的不兼容,需要从机制上重新审视而不是简单照搬。
当然,这项研究也有其局限性。训练数据集规模只有大约12000道数学题,这在AI研究中算是相对小规模的实验;实验也只在两个特定的扩散语言模型上进行,尚不清楚这个方法是否能同样有效地迁移到其他架构的扩散模型。此外,目前的实验主要集中在数学和代码这两个有明确正误判断的任务上,对于开放式生成或需要主观判断的任务,如何定义"答案正确"从而使用过滤机制,还需要进一步探索。感兴趣的读者可以通过arXiv:2607.04428查阅完整论文,代码也已开放在研究团队的代码库中。
Q&A
Q1:扩散语言模型和普通的ChatGPT这类AI有什么根本区别?
A:普通的ChatGPT是从左到右一个词一个词地生成答案,每个词生成后就固定了。扩散语言模型则是一开始把所有位置都设为空白,然后多轮迭代地把最有把握的位置填上,整个过程可以同时参考上下文,最终逐渐填满所有位置。这种方式的优势在于可以利用双向上下文信息,但后训练难度也更高。
Q2:dOPSD方法为什么不需要参考答案就能训练模型?
A:dOPSD的核心是让模型用"自己解题过程中更靠后的状态"来指导"更早的状态"。因为解题越到后期,已填好的词越多,对剩余空格的预测就越准。这种先知优势完全来自模型自身,不依赖任何外部答案。即使去掉对最终答案正确性的过滤,方法依然能带来提升,只是效果稍弱。
Q3:为什么直接把OPSD方法从普通AI移植到扩散语言模型上会失败?
A:移植失败有两个原因。第一,OPSD的老师优势来自外部参考答案,而每道题的参考答案不同,导致不同题目的老师建议互相矛盾,平均后变成一个无力的折中策略。第二,OPSD需要随机遮住答案中的词来训练,但随机遮词产生的状态和扩散模型真实解题时经历的状态完全不同,导致训练信号和实际推理脱节,实验中随机遮词训练方式导致成绩随训练持续下降。
热门跟贴