Seed Diffusion Preview:扩散语言模型,推理速度提升5.4倍

2025年7月31日,字节跳动 Seed 团队发布 Seed Diffusion Preview —— 一款基于离散扩散技术的大规模语言模型,专注于代码生成领域。其推理速度可达 2146 tokens/s,相比同等规模的自回归模型提升 5.4 倍,同时在多个核心代码基准上与同规模自回归模型性能相当。

概述

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

在探索过程中,团队引入了两阶段扩散训练、约束顺序学习与强化高效并行解码等关键技术,并通过实验证实了上述技术路线的有效性。

实验结果显示,Seed Diffusion Preview 的代码推理速度可达到 2146 tokens/s,速度相比同等规模的自回归模型提升 5.4 倍,同时其性能在多个核心代码基准上与同规模的自回归模型相当。这一成果在"速度-质量"帕累托前沿上确立了新的技术基准,证明了路线的有效性。

扩散语言模型加速的核心方法

两阶段课程学习:从模式填充到逻辑编辑

为解决传统掩码扩散模型仅关注被掩码位置、缺乏全局校正能力的问题,团队设计了一种两阶段学习策略:

阶段一,基于掩码的扩散训练: 此阶段采用标准的掩码填充任务,通过动态噪声调度将部分代码 tokens 替换为 [MASK] 标记。模型在此阶段学习代码的局部上下文和模式(如规律、结构、特征分布等)补全能力。

MASK 阶段训练会带来"伪相关性依赖"(spurious correlations),即模型会相信非 MASK 的 token 为正确的 token,为了缓解这一情况我们引入了阶段二的训练过程。

阶段二,基于编辑的扩散训练: 为促使模型评估全局代码的合理性,此阶段引入基于编辑距离约束的插入/删除操作来构造噪声。这种扰动强制模型重新审视并修正所有 tokens(包括未被直接操作的部分),从而避免对未污染上下文的"伪相关性依赖"。

实证表明,引入编辑污染阶段后,模型在代码修复基准 CanItEdit 上的 pass@1 对比 AR 模型提升了 4.8%(54.3 vs. 50.5),明显增强了模型的代码逻辑理解与修复能力。

约束顺序扩散:引入代码的结构化先验

语言数据(自然语言、代码等)虽非严格的从左到右,但蕴含着强烈的因果依赖(如变量先声明后使用)。基于掩码扩散模型纯粹的任意顺序生成忽略了这一结构化先验,通常会使得在有限算力数据下表现受限。

为此,团队提出约束顺序训练。在后训练中,我们基于模型感知,大规模基于内部预训练模型合成并筛选符合偏好的生成轨迹,在此基础上进行轨迹的蒸馏,从而引导扩散语言模型掌握正确的依赖关系。

通过同策略学习实现高效并行解码

尽管离散扩散模型在理论上支持高速的并行解码,但在实践中却难以实现。单次并行推理的计算开销很大,而为了弥补这一开销而减少总生成步数,又常常导致生成质量的显著下降。

为此,团队提出了一种同策略学习范式。该方法通过同策略训练来优化其自身的生成速度。其优化目标是最小化生成步数,同时通过一个验证器模型来保证最终输出结果的高质量。

实践发现,直接最小化步数会导致训练过程不稳定。为了解决这个问题,团队采用了一种更稳定的代理损失函数(surrogate loss)。该损失函数基于生成轨迹中不同步骤之间的一致性约束,使得训练过程更加平稳。

ESC

输入关键词开始搜索

支持搜索标题、内容、标签