新加坡国立大学出手:让AI写作速度翻三倍,还几乎不出错! - 科技行者

张开发
2026/4/21 17:09:58 15 分钟阅读

分享文章

新加坡国立大学出手:让AI写作速度翻三倍,还几乎不出错! - 科技行者
这项由新加坡国立大学研究团队完成的工作以预印本论文形式发布于2026年4月论文编号为arXiv:2604.08302有兴趣深入了解技术细节的读者可以通过这个编号查询完整论文。要理解这项研究解决了什么问题不妨先从一个打字员的故事说起。假设你雇了一位打字员帮你抄写文章。这位打字员有两种工作方式第一种是逐字逐句地打每打一个字都确认无误再往下打这样虽然慢但基本不出错第二种是一次性把整段话同时打出来速度很快但因为没有前后对照难免出现前言不搭后语的错误而且一旦某个字打错了后面的字也跟着乱了因为打字员已经把错字当作参考往后打了。现在的扩散语言模型Diffusion Language Models简称dLLMs就面临着这个打字员的困境。这类模型是近年来兴起的一种AI写作技术与大家熟知的ChatGPT等自回归模型不同它更像是第二种打字员天生就有一次性并行生成多个词语的能力理论上速度可以快很多。但问题恰恰也在这里一旦并行生成得太激进错误就会像多米诺骨牌一样级联倒塌最终生成的文字乱七八糟毫无意义。新加坡国立大学的研究团队针对这个一快就出错、不出错就得慢的核心矛盾提出了一套名为**DMax**的新方案让这位打字员在一次性打出大量文字的同时还能随时发现并纠正自己的错误最终实现了速度与质量的双赢。---一、两种写作机器人的根本区别在正式介绍DMax之前有必要先搞清楚扩散语言模型和大家熟悉的ChatGPT之间的根本区别因为这是理解整个研究的基础。ChatGPT这类自回归模型的工作方式可以类比为一个说书人。这位说书人每次只说一个字说完这个字才能想下一个字思路非常清晰前因后果衔接自然但速度就受限于这种一字一字的节奏很难加快。而扩散语言模型的工作方式则完全不同。它更像是一个雕塑家。一开始面前摆着一块完全被白色面具盖住的雕塑所有位置都是遮罩也就是空白雕塑家每次揭开一批面具露出下面的字经过几轮揭露最终完整的文章就呈现出来了。这种方式可以一次揭开很多面具理论上速度远超说书人。然而问题就在于当雕塑家一次揭开太多面具时有些地方可能揭错了——比如本来应该是苹果的位置却错误地揭成了香蕉。更糟糕的是这个香蕉一旦被揭露后续的揭面具过程就会把它当作正确答案来参考于是围绕这个错误的香蕉后面的内容越来越歪最终整个雕塑面目全非。这就是所谓的错误积累问题error accumulation。现有的扩散语言模型比如本文的实验基础模型LLaDA-2.0-mini在每次揭开的面具数量较少时表现还不错但一旦激进地大批量揭面具准确率就急剧下降。研究团队在实验中发现在极端并行设置下模型在数学推理任务上的准确率会从92%以上跌落到接近0%几乎完全失效。---二、为什么改错能力才是关键研究团队观察到现有扩散模型的致命弱点正是在于它没有改错能力。回到雕塑家的比喻传统的扩散语言模型一旦把某个位置的面具揭开那个字就算永久定稿了不能再修改。这就好比一个只能用钢笔写字、不能用橡皮擦的编辑。在每步谨慎操作时这位编辑表现尚可但一旦急着写下大量文字出了错又没法改就只能眼睁睁地看着文章越来越乱。与此形成对比的是另一类研究方向——均匀扩散模型Uniform Diffusion Language ModelsUDLMs。这类模型的工作原理稍有不同它不是把位置设置成空白面具而是一开始随机填满乱七八糟的词然后一步步把乱词替换成正确的词。这种方式让模型天然具备了改写能力因为每个位置在每一步都可以被重新评估和替换类似于用铅笔写字随时可以擦掉重写的编辑。但这种方式也有明显的问题从一堆乱码开始生成文字难度极大生成过程非常不稳定就像在一张被乱涂了颜料的画布上试图画出一幅精美的画难度远高于在空白画布上创作。DMax的核心思路就是把这两种方式的优点合二为一用扩散模型稳定的从空白开始的方式启动同时赋予它均匀扩散模型随时可以改写已生成词语的自纠错能力。---三、学会纠错的训练秘诀在线策略均匀训练要赋予模型改错能力核心挑战在于训练方式。研究团队提出了一种名为在线策略均匀训练On-Policy Uniform TrainingOPUT的方法这个名字听起来很拗口但背后的逻辑其实非常直观。传统的均匀扩散训练方式是这样做的给模型看一段正确的文字然后人为地把其中一些词随机替换成词典里随机挑出的词比如把苹果换成词典里随机抽到的航空再让模型猜测这些被替换的词原本是什么。这就好比出一道填空题但挖掉的词被替换成了毫无关联的词题目难得离谱而且这些奇怪的填充词在真实语言中根本不会出现导致模型学到的纠错经验和实际工作时遇到的错误完全不是一回事。研究团队把这个问题称为训练-推理不匹配。简单说就是模型在训练时练习的是一种错误类型但实际工作时遇到的却是另一种错误类型两者南辕北辙模型自然学不到有用的纠错技能。OPUT的聪明之处在于让模型用自己可能犯的错误来练习纠错。具体操作是先给模型一段带空白面具的文字让它猜一遍然后把它自己猜出来的结果包括那些可能猜错的词重新喂给它让它再猜一遍这次要纠正自己之前可能猜错的地方。用一个更生动的例子来理解一个学生在练习改错题与其给他一堆外星文字让他猜原本应该是什么不如先让他自己写一篇文章然后再把他自己写出来的文章包含他自己犯的错误交还给他让他找出并改正自己的错误。这样练出来的改错能力才是真正有用的改错能力。在技术层面这个过程分两步走。第一步对于一段正确的文章随机遮住75%的词让模型预测这些被遮住的词得到一个预测版本的文章第二步把这个预测版本含有模型可能犯的错误和原始遮罩版本都喂给模型计算两次预测的损失并加在一起进行训练。这个两步走的训练被称为在线策略意思是训练数据来自于模型自己的在线预测而非固定的随机干扰。训练结束后原本只能处理遮罩输入的模型现在同时学会了处理带有自己预测结果的输入也就是具备了修正自身错误的能力。实验验证了这种方法的有效性在数学推理任务GSM8K上采用这种训练方式后模型在激进并行解码设置下的准确率从78%大幅提升到90%效果相当显著。---四、解码时的软着陆柔性并行解码即便有了OPUT训练出的改错能力研究团队发现还有一个问题没有彻底解决当模型一次性并行生成大量词语时大批错误可能同时出现这些错误之间相互影响形成一个复杂的错误网络仅靠之后的迭代纠正很难全部修复。在极端情况下把一个区块内所有位置都同时解码即解码阈值为0即使用了OPUT训练准确率也只有68%距离目标还差得很远。为了进一步增强纠错的鲁棒性研究团队提出了柔性并行解码Soft Parallel DecodingSPD。这个方法的核心思想是不要把已经生成的词当作板上钉钉的最终答案而是给每个已生成的词附加一个不确定性信号并在后续迭代中把这个信号传递下去。回到雕塑家的比喻传统方式是一旦揭开面具就把原来的面具扔掉这个位置从此就是一个确定的字。而柔性并行解码则是揭开面具后不扔掉面具而是根据揭开时的把握大小把面具和下面的字按比例混合成一个半透明面具。如果揭开时把握很大概率接近1这个位置就接近完全透明接近一个确定的字如果揭开时把握不大概率只有0.3这个位置就还有很大一块面具的成分携带着大量不确定性。技术上这个半透明面具被实现为两种向量的加权插值一是预测的词语对应的词嵌入向量可以理解为这个词的数字身份证二是遮罩符号对应的遮罩嵌入向量代表最大不确定性。两者按照预测概率加权混合形成一个混合嵌入向量。为了防止这种混合导致向量长度失衡技术上称为范数崩塌研究团队还对混合向量进行了归一化处理确保其长度与各分量长度的加权平均相匹配。这种设计带来了一个关键优势在每次迭代开始之前模型就已经通过这个混合向量收到了来自上一步的置信度信号。对于置信度高的位置模型可以安心地保持原判对于置信度低的位置模型知道这里需要重点审查从而集中资源进行修正。这就像一位编辑修改文章时用浅色标注了不太确定的部分下次审阅时可以重点关注这些部分而不必对全文进行无差别的重新审查。值得强调的是柔性并行解码必须和OPUT训练配合使用才能奏效。原因很简单OPUT训练让模型同时学会了从遮罩输入和自身预测结果恢复正确答案这意味着这两种类型的向量对模型来说都是有意义的输入它们之间的插值自然也是有意义的。而如果对没有经过OPUT训练的普通扩散模型直接使用柔性并行解码模型从未见过这种混合向量输入完全无法处理性能会直接崩溃。实验证实了这一点对原始LLaDA-2.0-mini直接应用柔性并行解码模型性能确实灾难性地崩溃了。---五、解码流程的具体设计一步一步揭开谜底DMax的完整解码过程采用了一种分块半自回归的方式每次处理32个词语位置构成的一个区块在区块内部进行并行迭代区块之间按顺序推进。每个区块的解码从全部遮罩状态开始然后进入迭代循环。每次迭代时对所有遮罩位置和已预测位置分别计算当前预测然后按照一个解码阈值决定是否把某些遮罩位置升级为预测位置。这里有一个精妙的设计研究团队并不是简单地把所有置信度超过阈值的遮罩位置一次性全部揭开而是只揭开从左到右连续的满足条件的最长前缀。举个例子如果当前遮罩区域从第5个词开始第5、6、7个词的置信度都超过阈值但第8个词置信度不够那就只揭开第5、6、7个词第8个词及其后面的所有词保持遮罩状态。这种设计的逻辑是右边的未来词语在当前状态下可能预测得不准确如果强行把它们揭开反而会给左边的词语预测带来干扰。保持从左到右的连续遮罩区域可以防止这种未来错误污染当前预测的问题。区块被认为已经收敛完成有两个判断标准一是连续两次迭代的最优预测结果完全相同说明模型对这一区块已经收敛到稳定状态二是区块内所有位置的置信度都超过0.9说明模型对所有预测都非常有把握无需再迭代。只要满足其中一个条件就提交这个区块的结果移动到下一个区块。研究团队发现第一个条件一致性是主要的收敛信号大多数区块靠这个条件终止迭代第二个条件置信度可以在模型已经非常确定时提前终止省去最后一次多余的前向传递进一步提升效率同时不影响准确率。---六、实验怎么做的效果有多好研究团队用LLaDA-2.0-mini这个目前开源最先进的扩散语言模型作为基础通过OPUT方法进行了微调训练。训练数据完全来自模型自身的生成没有使用任何外部高质量数据体现了一种自举bootstrapping的思路。具体来说数学方向收集了包括GSM8K训练集、PRM12K等来源的提示词让模型自己生成回答最终得到了70万条数学样本代码方向则从OpenCodeInstruct数据集取样得到了100万条代码样本。训练在8块H200 GPU上进行对模型所有参数进行了2轮完整微调。评估在6个不同的基准测试上进行覆盖了数学推理和代码生成两大领域。数学方向包括GSM8K小学数学应用题、MATH500竞赛级数学题、Minerva-Algebra代数推理和ASDIV多样化数学题代码方向包括HumanEval-Instruct代码生成和MBPP-Instruct编程问题求解。评估时使用了两块H200 GPU的张量并行配置生成长度统一设置为2048个词。除了准确率和通常的速度指标每秒生成词数TPS研究团队还特别引入了两个更有说服力的指标。第一个是每次前向传播生成词数TPFTokens Per Forward这个指标衡量的是每次调用模型时平均能生成多少词直接反映了并行解码的效率TPF越高说明并行度越高、效率越高。第二个是AUP分数这是一个综合考虑准确率和并行度的综合评分如果准确率下降到某个阈值以下就会被记零分防止用牺牲准确率来换取虚假的速度提升。在GSM8K上原始LLaDA-2.0-mini的TPF是2.04意味着平均每次前向传播只能生成约2个词DMax则将这个数字提升到5.48提升了将近2.7倍而准确率仅从92.6%微降至92.1%几乎没有变化。在MATH500上TPF从2.58提升到5.94同样是约2.3倍的提升准确率从75.8%微降到75.4%。在代码生成的MBPP上TPF从2.71提升到5.86准确率从80.6%小幅降至79.2%。与其他竞争方案相比DMax的优势相当突出。研究团队对比了三种基线方法一是层级解码Hierarchical Decoding一种通过分而治之提升并行度的无需训练的解码策略二是dParallel-SFT使用了确定性强制蒸馏的有监督微调方法三是均匀扩散训练也就是用传统方式训练的均匀扩散模型。结果显示层级解码在GSM8K上的TPF只提升到2.44dParallel-SFT提升到2.79而DMax提升到5.48差距非常显著。均匀扩散训练的结果则一塌糊涂——TPF没有改善不说准确率还大幅下降在GSM8K上只有68.7%MATH500上更惨跌至33.6%这恰恰验证了研究团队关于传统均匀训练存在严重训练-推理不匹配的判断。在AUP综合评分上DMax在所有6个基准上都全面领先均匀扩散训练则因准确率崩溃而被记零分。此外一个令人意外的发现是DMax不只是在激进并行解码下有优势即使在保守的低并行度设置下它的准确率也比原始模型更高。在GSM8K上低并行度下DMax的准确率为93.4%比原始模型的92.6%高了0.8个百分点在HumanEval上高了3个百分点达到87.2%。研究团队认为这是因为自纠错能力让模型能够在推理过程中发现并修正之前步骤中的推理错误而不仅仅是生成层面的词语错误。在实际推理速度上在两块H200 GPU上DMax的平均推理吞吐量超过每秒1000个词其中部分基准上达到了1557词/秒整体平均约1338词/秒真正实现了高速高质的并行解码。---七、关键设计的消融实验每一步都有它的价值研究团队还系统地分析了DMax中每个设计选择的贡献通过消融实验即逐一去掉某个设计看效果会如何变化来验证每个组件的必要性。在三种解码激进程度阈值0.95、0.50、0.0下研究团队对比了以下几种组合什么都不加的原始模型只加OPUT训练加OPUT训练加连续前缀限制加OPUT训练加混合嵌入全部三种改进都加。结果清晰地显示了各个组件的贡献。单独使用OPUT训练没有柔性解码时在中等并行度阈值0.5下准确率就已经从78%提升到90.1%说明OPUT本身就有很强的效果。进一步加入连续前缀限制准确率从90.1%升到91.3%提升幅度不大但稳定。加入混合嵌入柔性并行解码的核心后准确率从90.1%跳升到91.4%中等并行度而在极端情况阈值0.0下从68.2%大幅提升到90.4%效果在高并行度下尤为突出。三种改进全部组合在各个并行度下都能达到最优或接近最优的效果同时在高并行度下保持了90.4%的高准确率。值得注意的是如果在没有OPUT训练的情况下直接应用连续前缀限制和混合嵌入模型完全崩溃——TPF只有1.04甚至比原来更低准确率为0%。这再次证实了OPUT训练是整个系统的基础柔性并行解码只有在OPUT训练的前提下才有意义。---说到底DMax做的事情就是教会了扩散语言模型一件它原本不会的本领在快速生成文字的同时随时发现并纠正自己的错误而不是一错到底。这件事的价值对于普通用户来说体现在两个层面。第一个层面是速度同样的问题DMax驱动的模型可以在更短的时间内给出答案在数学推理等任务上速度提升接近三倍而准确率几乎没有损失。第二个层面是质量由于具备了自纠错能力模型在推理过程中能够修正中间步骤的错误因此即便在慢速解码模式下准确率也比原来提高了1%到3%这对于追求精确答案的应用场景意义不小。当然这项研究也存在一些值得关注的边界目前的实验主要集中在数学推理和代码生成两个领域这些领域有明确的对错标准便于评估。对于更开放性的创意写作或对话任务DMax的效果是否同样出色还需要进一步验证。此外训练数据完全来自模型自身的生成这一做法虽然节省了成本但也意味着如果原始模型在某类问题上就有系统性偏差这种偏差可能会被延续下来。未来这项工作指向了一个有趣的方向如果AI模型能够更好地在生成过程中实时自我监督和修正是否意味着一条通向更可靠、更高效AI助手的新路径对于扩散语言模型这一相对新兴的方向DMax提供了一个值得深入研究的新范式。有兴趣追踪这个方向的读者可以通过论文编号arXiv:2604.08302获取完整的技术细节。---QAQ1扩散语言模型和ChatGPT这类模型有什么区别哪个更好A扩散语言模型和ChatGPT代表的自回归模型是两种不同的AI写作方式。自回归模型逐字生成类似于说书人一字一句讲故事准确但速度受限扩散语言模型则可以同时生成多个词速度更快但容易出错。目前两类模型各有优劣自回归模型在质量上仍然领先但扩散语言模型在推理速度上更有潜力DMax正是朝着弥合这一差距的方向努力。Q2DMax的训练数据都是模型自己生成的这样不会越练越差吗A这是个很好的问题。DMax采用了自举训练方式数学和代码样本全部来自模型自己的生成没有引用外部高质量答案。研究发现这种方式反而有效原因在于OPUT训练的目标不是让模型生成更好的答案而是让它学会识别并纠正自己的错误。训练时使用的是正确答案作为监督信号只是用模型自己的错误预测作为输入来练习纠错所以不会陷入自我强化错误的循环。Q3DMax需要专用硬件才能运行吗普通消费者能用到这个技术吗ADMax的实验是在两块H200专业GPU上完成的目前确实不是消费级配置。不过DMax本身是一套训练和解码方法理论上可以应用于任何规模的扩散语言模型。随着扩散语言模型技术逐步走向成熟和普及DMax这类提升效率的方法有望被整合进未来更多的AI产品中最终以更快速响应的形式惠及普通用户。

更多文章