DiffusionVL: Translating Any Autoregressive Models into Diffusion Vision Language Models¶
会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/hustvl/DiffusionVL
领域: 多模态 VLM
关键词: 自回归模型转换、块扩散、视觉指令微调、并行解码、KV 缓存
一句话总结¶
DiffusionVL 保留强自回归底座的网络结构,通过块级扩散微调与缓存分块解码生成视觉问答文本,7B 版本仅新增 738K 微调样本便在 MMMU-Pro vision 上达到 25.0,但其速度和质量收益依赖任务与解码配置。
研究背景与动机¶
视觉语言模型通常先把图像编码为视觉嵌入,再让语言模型根据图像和问题逐 token 生成回答。 这种自回归生成可以直接复用已完成前缀的 KV 缓存,但一个 token 要等待前面的 token,长描述和长推理链容易受到串行解码限制。 掩码扩散提供另一种生成方式:先留下多个未知位置,再利用已知上下文同时预测其中一些位置。 问题不在于这种生成方式能否表达文本,而在于已有扩散语言底座的成熟度和能力尚不及强自回归底座。 LLaDA-V、LaViDa 等工作通常从扩散语言模型出发做视觉指令微调,因此多模态性能也会受到原有语言能力的制约。
DiffusionVL 由此把“用什么参数初始化”和“采用什么训练生成范式”分开考虑。 Transformer 的网络骨架并不要求输出只能从左到右生成,注意力可见范围和训练目标才决定模型怎样使用上下文。 如果已经有一个完成视觉语言对齐的 Qwen2.5VL,重新从较弱的扩散语言底座学习跨模态能力未必划算。 如果只有 Qwen2.5 这样的纯语言底座,则还必须处理视觉连接器尚未对齐的问题,不能简单照搬现成 VLM 的转换流程。 这也解释了论文为何同时研究 AR-VLM 转换和 AR-LM 转换,而不是只报告一个模型的换解码器实验。
转换成功还不等于推理实用:全序列扩散通常需要预设生成长度,双向依赖也会让历史 KV 状态难以稳定复用。 论文采用块内扩散、块间自回归的折中,使并行更新只发生在当前块,已完成块成为固定条件。 这里的扩散对象是回答中的离散文本 token,图像是条件输入,并没有图像像素去噪或图像生成模块。 核心 idea:继承强自回归底座的知识与视觉能力,用匹配分块推理的掩码监督学习新生成范式,而不是先构建一个独立的扩散语言底座。
方法详解¶
整体框架¶
输入是图像和文字问题,输出是可逐块延长的文本回答。 视觉编码器与投影器先把图像变成语言模型可接收的嵌入,再与文本嵌入拼接。 模型构建依次涉及入口转换、块级去噪监督和缓存分块解码;前两项决定如何训练,后一项决定部署时如何生成。 已有 AR-VLM 保留其网络结构直接微调;AR-LM 路径则先补上视觉编码器和连接器,再完成跨模态对齐与范式转换。 因此,“不改架构”对已有 VLM 的含义最直接,并不意味着纯语言模型不需要新增视觉输入通路。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["AR-VLM 或 AR-LM"] --> B["入口转换"]
B -->|训练| C["块级去噪监督"]
T["图像、问题与真实回答"] -->|仅训练使用真实回答| C
C -->|训练后的模型| D["缓存分块解码"]
I["新图像与问题"] -->|推理输入| D
D --> O["文本回答"]
关键设计¶
1. 入口转换:把视觉对齐与生成范式转换区别处理
对于 Qwen2.5VL-3B-Instruct 和 Qwen2.5VL-7B-Instruct,图像与文本已经能够在同一模型中协同工作。 论文直接进行全参数扩散微调,不额外训练一个扩散教师,也不先把语言部分单独转换成 dLLM。 模型沿用已有视觉语言能力,学习在被部分遮蔽的回答上预测缺失 token。 这条路径的新增训练数据是 LLaVA-Next 的 738K 指令样本。 它节省的是转换阶段的数据需求,不能把底座此前的大规模视觉语言训练从总成本中抹掉。 将转换结果与原始底座比较,才能判断哪些能力得到保留、哪些能力在范式改变后退化。
对于 Qwen2.5-7B-Instruct,视觉输入尚没有被对齐到语言空间。 论文添加 SigLip2-400M 视觉编码器和随机初始化的两层 MLP 投影器,先只训练连接器。 这个预训练阶段仍使用自回归目标,因为连接器随机初始化时同时改变输入模态和预测范式,会增加优化难度。 待视觉嵌入能被语言模型利用后,再联合训练所有组件,以扩散微调完成后续适配。 这一路径使用原文第 4.1 节所列的 580K 预训练样本和 738K 指令样本,不能与直接转换 VLM 的单阶段成本混为一谈。 同数据条件下与 LLaDA 底座的比较,用于检验扩散 VLM 是否真的必须依赖扩散语言模型。
2. 块级去噪监督:用干净历史和带噪当前块训练预测
训练序列先用 <EOS> 补齐到块大小 \(D\) 的整数倍,再切成互不重叠的块。
图像和问题作为已知条件保持不遮蔽,噪声施加在回答及补齐部分。
对需要加噪的每个块独立采样噪声水平 \(t_b\sim U(0,1)\),该块中的 token 按这个概率独立替换为 [MASK]。
这里“块级”的意思是每块独立选择遮蔽概率,不是把整块一起删除,也不是强制每个块遮住相同数量的 token。
相比整条序列共享一个噪声水平,这样可以让不同块呈现不同程度的不确定性,更贴近逐块去噪的训练需求。
默认训练块大小为 \(D=8\),但块大小本身也是速度与质量的调节项。
为在一次训练前向中提供合适条件,作者把带噪序列和干净序列沿序列维拼接,并通过注意力掩码限制信息流。
一个带噪块能看到自身块内的所有位置,因此已经显露的左右两侧 token 都能帮助预测。
它也能看到干净序列中位于它之前的块,却不能借此看到当前块的干净答案或未来干净块。
干净副本不是推理时的额外输入,而是训练时为各块提供真实历史的方式。
交叉熵只计算被遮蔽的位置,不要求模型反复学习复制所有已经可见的回答 token。
补齐使用 <EOS> 还让终止符进入训练目标,使分块推理可以学习什么时候结束。
3. 缓存分块解码:固定历史,仅在当前块内并行补全
推理时先编码图像和问题,建立上下文缓存,再为当前回答块初始化 \(D\) 个 [MASK]。
每个去噪步骤都根据固定历史和当前块的可见 token,为尚未填入的位置预测 token,并记录所选 token 的模型概率作为置信度。
静态策略每步提交置信度最高的一部分位置,未被选中的候选仍保持掩码,供后续步骤重新预测。
这不是额外的视觉正确性验证器:高置信度表示模型偏好该预测,并不保证答案有图像证据。
原文算法 1 给出的每步提交数量为:
其中 \(S\) 是每块的去噪步数,\(\mathcal{M}^{(s-1)}\) 是当前仍被遮蔽的位置集合。
动态策略在静态 top-k 集合之外,还提交所有置信度大于阈值 \(\tau\) 的位置,因此简单内容可能提前完成。
已提交的 token 在后续步骤作为上下文保留,并不是每一轮都把已经确定的块重新洗掉。
一个块补全后加入历史 KV 缓存,再开始下一个块;当前块不会依赖未来块,所以过去的缓存可以继续使用。
生成在出现 <EOS> 或达到最大长度时停止,“任意长度”指无需一次预留完整答案画布,不是无限上下文或无限计算。
默认静态设置令 \(S=D\),每步通常只提交一个 token;真正每步提交多个 token 需要减少步数或采用动态策略。
因此,论文的并行潜力与默认解码行为应当分开理解,不能只凭“扩散”两个字认定默认每步同时输出多个词。
一个完整示例¶
下面是解释算法的示例,不是论文新增的测量结果:给定一张街景图和“描述交通状况”的问题。
图像和问题先进入固定前缀,模型为第一个回答块分配 \(D=8\) 个未知 token 位置。
若选择 \(S=4\) 的静态解码,每步从尚未填入的位置提交最多 \(k=2\) 个预测,默认的 \(S=8\) 则通常每步提交一个。
某一步可以先确定块中间的高置信度 token,下一步再利用它补出左右邻居,因此顺序不必是块内从左到右。
第一个块完成后,它成为第二个块的固定历史;第二个块不能反过来修改第一个块。
若第二个块产生 <EOS>,生成结束,否则继续申请下一块,直到结束或达到长度上限。
训练时各块看到的是真实历史,部署时看到的是模型生成的历史,因此错误前缀仍有可能向后传播。
损失函数 / 训练策略¶
核心监督是预测掩码位置的真实 token,条件由前面干净块和当前带噪块构成。 本地全文中的公式 (1) 至 (5) 有明显排版抽取损坏,尤其损失的对数项、权重与分段符号不完整;这里不将其猜补为作者的精确公式。 上述目标与注意力说明依据第 3.2 至 3.4 节正文和图 3,提交数量公式依据可辨认的算法 1。 优化器为 AdamW,学习率采用余弦衰减。 连接器预训练学习率为 \(1\times10^{-3}\);联合微调时语言模型和投影器为 \(1\times10^{-5}\),视觉编码器为 \(2\times10^{-6}\)。 为了研究长推理链,作者还从 OpenMMReasoner-SFT 随机抽取 100K CoT 样本,与原有数据一起继续微调,得到 DiffusionVL-CoT。 CoT 版本是额外训练后的模型,不是对基础版本简单调整一个推理参数,因此它的吞吐与准确率必须单独报告。
实验关键数据¶
主实验¶
下表节选原文表 1,第 9 页;使用 LMMS-Eval 默认提示词,列名保留评测子集,数值越高越好。 MME cognition 是该基准的分数,不是准确率百分比;样本列沿用原表口径,并不表示各模型完整生命周期的总训练量。
| 模型 | 参数规模 | 原表样本量 | MMBench en-dev | MMMU val | MMMU-Pro std. | MMMU-Pro vision | MME cognition |
|---|---|---|---|---|---|---|---|
| Qwen2.5VL | 7B | >9M | 83.5 | 51.1 | 36.7 | 33.4 | 646 |
| LLaDA-V | 8B | 16.5M | 82.9 | 48.6 | 35.2 | 18.6 | 491 |
| DiffusionVL | 3B | 738K | 80.1 | 47.2 | 31.2 | 20.2 | 594 |
| DiffusionVL | 7B | 738K | 83.5 | 49.3 | 36.9 | 25.0 | 675 |
7B 版本相对 LLaDA-V 的 MMMU-Pro vision 从 18.6 升至 25.0,即增加 6.4 分、相对提升约 34.4%,不能写成增加 34.4 个百分点。 MME cognition 从 491 升至 675,对应约 37.5% 的相对提升;但 MMMU val 和 MMMU-Pro vision 仍低于原始 Qwen2.5VL-7B。 因此,主要成果是构建更强的扩散 VLM,不是所有指标都超过自回归底座。
消融实验¶
原文表 5,第 13 页,固定 Qwen2.5VL-3B 初始化、数据与计算预算,对比继续 AR 微调和扩散微调。 DetailCaps 的 BERT 指 BERTScore,TPS 指每秒生成 token 数,不能把该列直接当成端到端请求延迟。
| 配置 | MMMU val | MMStar test | MME cognition | ChartQA | AI2D | DetailCaps BERT | DetailCaps TPS |
|---|---|---|---|---|---|---|---|
| 原始 Qwen2.5VL-3B | 46.8 | 55.9 | 620 | 84.0 | 81.6 | 29.6 | 36.08 |
| + AR 微调 | 46.8 | 58.6 | 651 | 84.7 | 80.7 | 32.1 | 34.17 |
| + 扩散微调 | 47.2 | 55.9 | 594 | 79.9 | 78.4 | 30.9 | 46.37 |
扩散版本的 DetailCaps TPS 为 46.37,高于匹配 AR 微调的 34.17,但 BERTScore 从 32.1 降到 30.9。 这组控制实验比跨底座比较更能说明因果边界:强底座贡献大量下游能力,扩散转换提供的是另一种生成方式,并伴随部分质量损失。
下表节选原文表 4,第 12 页,补充数学推理的速度质量分析;Score 与 TPS 均越高越好。 论文在该组比较中为 LLaDA-V 使用 fast-dLLM 缓存和生成长度 64,为 DiffusionVL-CoT 设置最大长度 1024,预算并不相同。
| 模型 | MathVista Score | MathVista TPS | MathVerse Score | MathVerse TPS | MathVision Score | MathVision TPS |
|---|---|---|---|---|---|---|
| DiffusionVL-7B | 64.30 | 5.21 | 36.29 | 14.38 | 19.08 | 17.74 |
| LLaDA-V-8B | 55.10 | 23.07 | 31.35 | 23.18 | 17.11 | 22.75 |
| DiffusionVL-CoT-7B | 63.70 | 39.47 | 32.74 | 42.31 | 18.75 | 39.26 |
关键发现¶
- CoT 版本在 MathVista 上比 LLaDA-V 高 8.60 分,TPS 为 39.47 对 23.07,约 1.7 倍;基础版本却只有 5.21 TPS,不能笼统宣称数学任务必然加速。
- 原文图 4 的图像描述约 2.0 倍加速针对最长 512 token、相同并行度的 DetailCaps 比较,速度在 8 张 GPU 上收集后按设备平均,不能推广到任意请求。
- 表 8,第 14 页,块扩散与全扩散的 ChartQA 为 84.20 对 52.00,而 MME perception 为 1519 对 1607;块扩散并非逐项占优。
亮点与洞察¶
- 将初始化知识与生成范式拆开,是这篇论文最可迁移的观点。新解码范式不必从较弱的新底座重新积累全部能力。
- 干净历史副本与受限注意力共同实现块级监督。关键不是简单增加双向注意力,而是保证当前预测看不到当前块的干净答案。
- 训练和推理都围绕块组织,缓存可以稳定复用。对工程部署而言,长度管理和历史状态复用与并行采样同样重要。
局限与展望¶
- “少于 5% 数据”是 738K 相对 LLaDA-V 的 16.5M,不能解释为从零训练总成本降低到 5%;Qwen2.5VL 的既有能力是重要外部投入。
- 标题中的 “Any” 是方法适用性的主张,而非对所有架构的证明。表 6 验证了 Qwen2.5VL、Qwen3VL 和 InternVL3.5,仍需更多规模和模态检验。
- 吞吐比较受视觉 token 数、输出长度、CoT 数据及缓存实现共同影响。表 9 的端到端 FLOPs 设置中两模型使用 315 与 3654 个视觉 token,不能把全部差异归因于解码算法。
- 块间仍然是自回归依赖,后续块无法修正已完成历史。更小阈值虽能加速,但表 7(b) 显示阈值从 1.0 降到 0.2 时 BERTScore 从 30.2 降至 18.6。
- 作者计划向预训练和强化学习阶段扩展这种转换;这是未来方向,不是本文已经验证的收益。缓存公式抽取损坏也限制了本笔记对精确损失权重的复核。
相关工作与启发¶
- LLaDA-V / LaViDa:从扩散语言底座学习多模态能力;本文主要改变初始化来源,同时采用适合缓存的块扩散机制。
- BD3-LM / SDAR / Fast-dLLM-V2:为块内扩散与块间自回归提供基础,本文把相关思路用于视觉语言模型转换,并不应把块扩散本身视为本文首次提出。
- A2D-VL:原文列为并行工作,也把 AR-VLM 改成扩散解码;本文强调更简单的微调配方,并将转换范围延伸到 AR-LM 与不同 VLM 家族。
- 研究启发:下一步可在统一视觉编码、输出预算和训练数据下比较速度质量曲线,分别测量初始化能力、块结构与 CoT 数据带来的收益;这属于读者建议。
评分¶
以下为笔记作者的主观评价,不是会议评分。 - 新颖性: 4/5。将现成 AR-VLM 与 AR-LM 统一作为扩散 VLM 的入口,但块扩散机制已有先例。 - 实验充分度: 4/5。有匹配 AR 微调、跨家族和多种消融,速度比较仍受预算与实现差异影响。 - 写作质量: 4/5。两条转换路径和生成流程清晰,摘要式加速结论需要结合具体任务阅读。 - 价值: 4/5。为复用强视觉语言底座探索扩散解码提供实用路线,同时暴露了质量与吞吐的真实权衡。