文本Diffusion模型来了!字节Seed Diffusion Preview专用于代码生成,每秒可推理2146个token

发布于 2025-9-5 00:10
浏览
0收藏

Seed Diffusion Preview 是字节跳动种子团队推出的文本扩散语言模型,旨在验证离散扩散方法作为下一代语言模型基础框架的可行性,以结构化代码生成为实验领域。团队引入两阶段扩散训练、约束序学习等多项关键技术,经实验验证有效。结果显示,该模型代码推理速度达 2146 个 token/s,较同等规模自回归模型提升 5.4 倍,且在多个核心代码基准测试中性能相当,在推理速度、生成质量上建立新的 SOTA,有力证明了方法的有效性。

相关链接

  • 博客: seed.bytedance.com/en/seed_diffusion
  • 论文:https://lf3-static.bytednsdoc.com/obj/eden-cn/hyvsmeh7uhobf/sdiff_updated.pdf
  • 体验:studio.seed.ai/exp/seed_diffusion/

概述

Seed Diffusion Preview 是字节跳动种子团队发布的一个实验性扩散语言模型。其目标是系统地验证离散扩散方法作为下一代语言模型基础框架的可行性,并以结构化代码生成作为实验领域。

在此次探索中,团队引入了两阶段扩散训练、约束序学习、高效并行解码的在策略学习等多项关键技术,并通过实验验证了该技术方法的有效性。

实验结果表明,种子扩散预览 (Seed Diffusion Preview) 的代码推理速度可达到 2146 个 token/s,与同等规模的自回归模型相比,速度提升了 5.4 倍,同时在多个核心代码基准测试中保持了相当的性能。这些结果在代码模型的推理速度-生成质量建立了新的 SOTA,证明了该方法的有效性。图 1 Seed Diffusion 的推理速度是在八个开放代码基准测试中测量的。由于测试条件不同,直接与基线进行比较颇具挑战性:Mercury Coder 是在专有数据集上使用 H100 进行评估的,而 Gemini Diffusion 的速度则是在使用未知硬件的混合任务基准测试中取平均值。此外,这些基准测试中报告的速度可能会受益于格式限制的系统提示。LiveCodeBench 的结果专门针对 v1-v6 中 1055 个问题,针对未知基线协议。

加速语言模型传播的核心方法

两阶段课程学习:从模式填充到逻辑编辑 针对传统基于掩模的扩散模型仅关注掩模位置、缺乏校正能力的局限性,团队设计了一种两阶段学习策略:

  • 阶段 1:基于掩码的扩散训练:此阶段采用标准的掩码填充任务,根据动态噪声方案将部分代码替换为 [MASK] 标记。在此阶段,模型学习补全局部上下文和代码模式(例如规律、结构和特征分布)。 初始训练阶段可能会导致“虚假相关性”,即模型学会盲目地相信未掩蔽的标记始终正确。为了缓解这种情况,引入了第二个训练阶段。
  • 阶段2:基于编辑的扩散训练:为了迫使模型评估代码的全局有效性,此阶段引入了扩散过程,即在编辑距离约束的引导下,通过插入和删除操作进行扩散。这种扰动迫使模型重新检查并纠正所有标记(包括那些最初未被屏蔽的标记),从而打破“虚假相关性”。

实证研究显示,该编辑阶段的引入使模型在 CanItEdit 基准测试中的 pass@1 分数比 AR 模型提高了 4.8%(54.3 vs. 50.5),表明其代码逻辑理解和修复能力得到了显著增强。

约束阶扩散:结合代码的结构先验

虽然语言数据(包括自然语言和代码)并非严格按照从左到右的顺序排列,但它包含很强的因果依赖关系(例如,变量必须在使用前声明)。在基于掩码的扩散模型中,常见的纯粹无约束顺序生成忽略了这种结构先验,通常会导致计算和数据预算有限的情况下性能受限。

为了解决这个问题,团队提出了约束顺序训练。在训练后阶段,我们以模型感知的方式利用内部预训练模型,合成并筛选大量包含优先生成轨迹的数据集。然后,通过蒸馏技术,基于这些轨迹对模型进行微调,引导扩散语言模型学习并遵循这些正确的依赖关系。

基于在线策略学习的高效并行解码

虽然离散扩散模型理论上具有高速并行解码的优势,但在实践中实现这一潜力却充满挑战。单个并行推理步骤的计算开销很高,而减少总步骤数来抵消这一成本通常会导致生成质量显著下降。

为了解决这个问题,团队提出了一种基于策略的学习范式。在该范式中,模型被训练以直接优化自身的生成过程。目标是最小化生成步骤数 (|τ|),同时验证模型 (V) 确保最终输出保持高质量。实践中发现,直接最小化步数会导致训练不稳定。为了解决这个问题,团队采用了一种更稳定的替代损失函数。该损失函数基于生成轨迹中不同步骤之间的编辑距离,能够促进模型更高效地收敛。如下图所示,该训练过程成功提升了模型的推理速度。

通过在线策略训练来改变加速

一个有趣的发现是,该过程产生的效果类似于非自回归生成文献中已经建立的“模式过滤”技术。通过训练,它隐式地“修剪”低质量或低效的生成路径,迫使模型学习更直接、更快速地收敛到高质量的解决方案。

从理论加速到工程实施

为了平衡计算量和延迟,团队采用了块级并行扩散采样方案,以保持块之间的因果顺序。我们避免了针对特定块的训练,以保持推理时任意划分块的灵活性。我们使用键值缓存来重用先前生成的块的信息,并以此为条件来控制后续块的生成。

除了算法设计之外,我们的工作还包括整体系统优化,以高效支持分块推理。具体来说,我们利用了内部专门针对扩散采样优化的基础架构框架来加速生成。下图详细展示了不同分块大小对性能的影响。该分析为选择最佳分块大小提供了依据。

实验结果

在生成任务测试中,种子扩散预览充分释放了扩散模型的并行潜力,与同等规模的自回归模型相比,实现了 5.4 倍的加速。

至关重要的是,这种高速并不以牺牲质量为代价:在多个行业基准测试中,Seed Diffusion Preview 的性能可与领先的自回归模型相媲美,甚至在代码编辑(例如 CanitEdit)等任务上超越它们。这一结果表明,以种子扩散为代表的离散扩散方法不仅具有成为下一代生成模型基础框架的巨大潜力,而且具有广阔的应用前景。

种子扩散项目将继续探索其更深层次的价值,不断研究其缩放规律及其在复杂推理任务中的应用。

本文转载自​AIGC Studio​,作者:AIGC Studio 

已于2025-9-5 00:10:41修改
收藏
回复
举报
回复
相关推荐