Stable-DiffCoder

Stable-DiffCoder

Stable-DiffCoder是字节跳动 Seed 团队联合华中科技大学提出的开源代码扩散大语言模型系列,包含基础版与指令版,参数规模约 80 亿,上下文长度为 8192。它以既有自回归代码模型 Seed-Coder 的架构、数据与训练流程为基础,增加面向块扩散的持续预训练阶段,在多项代码基准上取得优于同源自回归模型的成绩,被用来检验扩散训练能否提升代码建模能力上限。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

Stable-DiffCoder 是一类面向代码的扩散式大语言模型(diffusion large language model,DLLM),由字节跳动 Seed 团队推出,以基础版与指令版两种形态公开发布。其模型卡将其归类为掩码扩散语言模型,训练语料来自 GitHub 代码数据与代码相关网页数据,训练 token 总量为 1.3 万亿,上下文长度为 8192[1]。

它并非从零搭建的新架构,而是直接沿用 Seed-Coder 的结构、数据和训练流程,只在其上加入扩散式训练环节,因此被视为在严格控制变量条件下考察扩散训练效果的实验载体[2]。研究团队强调,基础版和指令版都只经过持续预训练与监督微调阶段,就取得与多个同规模自回归模型和扩散模型相当或更好的表现[3]。

原理

自回归模型按照从左到右的顺序逐词生成,扩散语言模型则把若干位置的词元同时遮蔽,再由模型依据可见上下文并行还原。Stable-DiffCoder 采用块扩散方式,每次在一个长度较小的块内做去噪,默认块长为 4,生成时按步数逐步还原整段输出[1]。推理接口中可设置去噪步数、生成长度、块长、温度以及重遮蔽策略,重遮蔽默认按置信度低者优先,也可随机选择[4]。

研究团队用条件信息量的思路解释训练难点:当遮蔽比例过高时,每个待预测位置可见的上下文减少,可由上下文唯一确定的词元集合随之变大,模型难以学到确定的规则映射。由此提出扩散模型有效学习的两项条件,一是可见证据足够干净可靠,二是训练时的上下文形态与推理时保持一致[2]。据此,训练从已完成退火的自回归检查点出发,先压缩清晰知识,再进入小块扩散阶段,使去噪过程与推断时的上下文分布相匹配[2]。

为抑制持续预训练中的梯度波动,方法包含两项设计:预热阶段逐步提高遮蔽模式的难度,并去掉交叉熵加权,使模型从自回归状态平滑过渡到扩散状态;同时针对块扩散单独设定噪声调度边界,并采用分块裁剪的噪声安排。团队在 25 亿参数规模的模型上比较了纯双向扩散、双向采样预训练后转扩散、以及自回归训练后再转扩散三条路线,后者在知识压缩速度和最终表现上均最优[5]。

发展历程

相关论文以《Stable-DiffCoder: Pushing the Frontier of Code Diffusion Large Language Model》为题发布在预印本平台 arXiv,编号为 2601.15892,作者包括 Chenghao Fan、Wen Heng、Bo Li、Sichen Liu、Yuxuan Song、Jing Su、Xiaoye Qu、Kai Shen、Wei Wei 等[6]。项目方公开的时间线显示,模型于 2026 年 1 月 22 日发布。

此后项目在 2026 年 3 月 9 日更新了推理依赖,将适配的 transformers 版本由 4.46.2 调整为 5.3.0。基础版与指令版模型均以开放方式托管发布,可供下载与本地部署[1]。

应用

作为代码专用模型,Stable-DiffCoder 的评测覆盖代码生成、代码推理与代码编辑等任务。模型卡列出的基础能力包括代码补全和中间填充(Fill-in-the-Middle),即在函数中间位置补写缺失片段[1]。指令版则经过面向用户意图的对齐训练,可直接以对话形式接收编程需求[4]。

扩散模型的任意顺序建模被认为更适合结构化代码的处理,可在编辑与推理场景中同时考虑前后文;基于破坏的重建训练还被用作数据增强手段,帮助资源较少的编程语言获得更多学习信号[2]。在相同架构与数据条件下,该模型在多项代码基准上整体优于其自回归原型,并在 80 亿参数规模上与若干同类开源代码模型形成竞争[5]。

局限

扩散语言模型的整体能力仍普遍落后于同等预算下的强自回归模型,这正是该项工作试图回应的前提问题;Stable-DiffCoder 的结论也只限定在相同架构、相同数据的受控比较之内,并不表示扩散路线在所有规模上都占优[3]。

训练稳定性是需要专门处理的问题。研究观察到扩散持续预训练阶段梯度范数波动明显,需要通过预热策略和分块噪声裁剪来抑制,否则难以稳定收敛[2]。此外,纯双向训练在高遮蔽比例下会引入噪声乃至错误的知识映射,模型学到的是共现倾向而非确定规则,这也是该方法必须先以自回归方式压缩知识的原因[5]。

在适用范围上,公开材料给出的上下文长度为 8192、参数规模约 80 亿,属轻量级代码模型,评测主要围绕编程任务展开,未提供通用对话、多模态等能力的说明[1]。

参见

  • Seed-Coder —— Stable-DiffCoder 直接复用了它的架构、数据与训练流程。

  • 扩散模型 —— 其去噪式生成方式所属的模型类别。

  • 大语言模型 —— Stable-DiffCoder 所属的模型范畴。

  • 自回归模型 —— 作为对照基线的另一类生成范式。

  • 代码生成 —— 该模型的主要评测与应用方向。

参考资料

  1. README [引用日期2026-10-29]
  2. Stable-DiffCoder [引用日期2026-10-29]
  3. citations [引用日期2026-10-29]
  4. Sinketji/Stable-DiffCoder-8B-Instruct · Hugging Face [引用日期2026-10-29]
  5. Stable-DiffCoder超越自回归模型!扩散模型在代码生成取得新突破 [引用日期2026-10-29]
  6. semanticscholar.org 上的网页 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:53:06Z

历史版本

本条目引用的词条
Seed-Coder 扩散模型 大语言模型 自回归模型 代码生成