SDAR
定义
SDAR 是一种面向序列生成的混合建模范式,其名称取自 Synergy of Diffusion and AutoRegression,即扩散与自回归的协同。在同一名称下,研究论文使用 Synergistic Diffusion-AutoRegression 的表述,两者指向同一套方法[1]。该方法不从头训练扩散模型,而是对已有自回归模型做一次轻量的范式转换,使其具备分块扩散解码能力。
第二段,即其定位:它是一种"转换配方"(conversion recipe),而非单一模型;团队在 1.7B 到 30B 参数区间验证了该配方的可行性,并发布了对应模型、训练框架与推理引擎[1][3]。
原理
自回归语言模型逐词元顺序解码,依赖严格因果注意力,因而无法在一次前向中同时产生多个位置的结果;掩码扩散语言模型(MDLM)把整条序列作为一个整体反复去噪,具备并行生成的可能,但其优化目标收敛较慢,且整序列去噪带来较高延迟[1]。SDAR 选择的是两者之间的折中路线,即分块离散扩散:序列按固定块长切分,块间保持自回归式的因果依赖,块内采用双向注意力并并行解码。
其核心设计原则是训练与推理解耦。训练阶段沿用全规模自回归预训练,以获得稳定的优化行为和较高的算力效率;随后引入一个轻量适配阶段,让模型学会块内扩散解码,从而保留 KV 缓存、变长生成等自回归工程优势。适配所需数据量较小,团队以约 500 亿词元的开源数据完成继续预训练,再用 40 亿词元做监督微调[3]。
推理时的解码过程可以概括为:假设块长为 $L$、去噪步数为 $T$,每块初始化为掩码词元,模型对块内所有位置并行给出预测分布,再按置信度或固定步数逐步解掩码,整块确定后进入下一块。解码策略分静态与动态两类:静态策略每步输出固定数量的词元;动态策略在块内置信度超过阈值 $\theta$ 时一次输出多个词元,上限为块长[3]。把阈值 $\theta$ 调低会提高并行度并缩短延迟,但可能牺牲准确率,由此形成准确率与速度之间的权衡曲线[3]。
flowchart LR
A[输入提示] --> B[第 1 块: 块内并行去噪]
B --> C[第 2 块: 块内并行去噪]
C --> D[第 3 块 ...]
B -. KV 缓存复用 .-> C
C -. KV 缓存复用 .-> D
发展历程
该工作由上海人工智能实验室牵头,联合浙江大学、马里兰大学、上海交通大学、清华大学等机构的研究者完成,论文于 2025 年 10 月公开,题为《SDAR: A Synergistic Diffusion-AutoRegression Paradigm for Scalable Sequence Generation》[4]。第一作者为程爽,通讯作者为齐弼卿,作者名单还包括卞一涵、刘大卫、张林峰、姚倩、田忠博、王文海、郭启鹏、陈凯、周伯文等[3]。
2025 年 7 月 20 日,团队开源了 1.7B、4B、8B 三个稠密模型与 30B 的 MoE 模型权重;8 月 13 日发布推理代码及推理引擎 JetEngine,8 月 18 日开源面向科学的 SDAR-30B-A3B-Sci[3]。9 月 9 日补充了块长为 8、16、32、64 的模型权重,10 月 10 日在 LMDeploy 框架上实现面向生产环境的推理方案,10 月 29 日开源基于 LlamaFactory 的下游任务微调框架[3]。
2026 年,该方法以《SDAR: A Synergistic Diffusion-AutoRegression Paradigm for Scalable Sequence Generation》为题发表于 ACL 2026 的 Findings 卷,页码为 22058 至 22075[1]。研究团队在说明中称,SDAR 仍处于早期实验阶段,后续工作仍在推进[3]。
应用
SDAR 的直接用途是把已训练好的自回归模型转为支持块内并行解码的模型,以降低推理延迟与单位请求成本,适用于对时延敏感的对话与交互式生成场景。团队给出的实测数据包括:在 H200 显卡上,时延受限场景下实测加速为 2.3 倍,理论加速超过 5 倍[1]。
在通用任务上,SDAR 系列与同规模自回归基线大体持平。以 1.7B 规模为例,SDAR-1.7B-Chat 在 MMLU 上得 62.9 分,对应的 Qwen3-1.7B-AR-SFT 为 63.8 分;30B MoE 版本 SDAR-30B-A3B-Chat 在 MMLU 上得 82.8 分,基线为 82.2 分。
在需要局部双向上下文的任务上,该方法表现出差异。团队报告称,在骨干与数据完全一致的受控对比中,SDAR-30B-A3B-Sci 在 ChemBench 上由 60.5 分提升到 72.8 分,在 GPQA-diamond 上由 61.2 分提升到 66.7 分[4]。研究者将这一提升归因于块内双向注意力更利于理解化学式等结构化知识[4]。此外,该方法可与多数投票、pass@k 等测试时扩展方法结合使用[2]。
工程侧,团队提供了两套推理实现:面向研究与教学的轻量引擎 JetEngine,以及基于 LMDeploy 的高性能实现。据其公布的数据,4B 模型在块长为 4、批大小为 128 的条件下,JetEngine 在 A800 上达到每秒 1800 个以上词元,在 H200 上借助 FlashAttention-2 与 Triton 内核达到每秒 3700 个以上词元[3]。
局限
SDAR 的加速效果依赖模型规模。团队的分析显示,更大的模型对块长和解码阈值的容忍度更高,因而能取得更明显的加速;在较小规模或静态解码设置下,其速度与自回归模型相当,收益有限[2][3]。
分块扩散本质上仍是近似并行:块内各位置的预测被同时采样,位置之间的依赖被因子化处理,并行度越高越容易偏离逐位置条件分布的精确结果[1]。因此团队把动态解码的阈值扫描与准确率损失一并报告,而不是只给出速度数字[3]。
此外,该范式存在范围边界:其目标是把自回归骨干转为块扩散解码,而非替代自回归预训练本身,骨干的预训练质量仍是性能前提。研究团队亦说明该项目尚处早期实验阶段,块长与阈值的适配、更大批大小下的吞吐表现等仍有待进一步完善[3]。
参见
参考资料
- aclanthology.org 上的网页 [引用日期2026-10-29]
- huggingface.co 上的网页 [引用日期2026-10-29]
- SDAR [引用日期2026-10-29]
- 上海AI Lab混合扩散语言模型SDAR:突破6600 tgs开源扩散语言模型 [引用日期2026-10-29]