论文导读
杜克大学与清华大学团队提出PlaidQ,把连续扩散代码模型从512次去噪蒸馏到16步、少数步乃至一步。16步学生在HumanEval和MBPP+的pass@10超过教师;一步模型也能生成可执行程序,但HumanEval pass@1仅7.07,展示的是并行生成可行性,不是高可靠编码。
扩散语言模型能并行写,但要反复擦改很多次
自回归代码模型从左到右逐Token生成,前面没写完,后面就不能开始。扩散语言模型把整段代码视为连续画布,可以同时更新多个位置,理论上更适合低延迟生成;代价是通常需要数百轮从噪声逐步还原,实际速度优势被迭代次数抵消。
PlaidQ以高步数模型为教师,让学生直接学习更长的去噪跳跃。模型看到同一问题的干净提示和带噪代码画布,在连续空间预测各位置的Token分布,再以测试是否通过判断程序质量。目标不是逐字模仿教师路径,而是用更短轨迹到达同样可执行的答案区域。
图:论文总览展示提示、连续Token画布、并行去噪和最终代码解码。
学生不必沿着老师走过的每一个点
少步蒸馏的难点是误差累积:学生一次跨太远,预测可能离开教师分布。PlaidQ使用分布匹配蒸馏,让学生生成结果的分布靠近教师重建,同时只对需要生成的代码后缀更新,保持问题提示不变。几步版本在速度与质量之间提供可选档位。
一步版本进一步使用成对Token损失,把教师多步轨迹终点与学生单次预测直接配对。它不保证还原教师每个中间状态,只要求最终Token更接近可执行目标。这样整段代码可以一次并行提出,但困难题上仍容易同时出现多处语法或逻辑错误。
图:论文少步蒸馏示意比较教师重建方向和学生更新方向。
16步反超512步教师,一步则刚跨过可行线
在HumanEval和MBPP+代码测试集上,论文报告16步学生的pass@10超过512步教师,说明蒸馏不仅压缩轨迹,也可能通过分布目标改善多样采样。少数步模型继续保留一定正确率并显著减少串行迭代。
一步模型在HumanEval的pass@1为7.07。这个数字很低,却证明连续扩散可以在一次去噪中产出至少部分通过测试的程序。标题“从512步砍到1步”说的是推理路径存在这一档位,不是一步模型全面达到512步教师质量;实际使用应依据质量要求选择步数。
图:论文主图列出一步去噪生成并通过测试的HumanEval与MBPP+代码样例。
下一步:同时优化代码质量与延迟曲线
如果少步扩散继续提高,它可一次填充函数多处、并行修改长代码,或与测试反馈组成快速候选循环。不同步数也可按任务难度动态选择:简单补全用一步,复杂算法用更多步。
当前证据仍来自标准函数题,距离仓库级依赖、编译环境和多文件修改很远。pass@10还允许多次采样,不能与单次交付混同。未来应同时报告墙钟延迟、并行硬件、Token长度、采样次数和测试成本,才能判断“少步”是否真正转化为开发效率。