← 返回 2026-03-13

一个模型,多种预算:面向扩散变换器的弹性潜在接口 One Model, Many Budgets: Elastic Latent Interfaces for Diffusion Transformers

Moayed Haji-Ali, Willi Menapace, Ivan Skorokhodov, Dogyun Park, Anil Kag, Michael Vasilkovsky, Sergey Tulyakov, Vicente Ordonez, Aliaksandr Siarohin 📅 2026-03-12 👍 18 2026-07-13 08:36
图像生成 扩散模型 自适应计算 视频生成 计算效率

提出ELIT机制,通过可变长度潜在接口实现扩散变换器的弹性计算分配和多预算推理

前置知识

扩散变换器(Diffusion Transformers, DiTs)

扩散变换器是当前最先进的图像和视频生成架构,结合了扩散模型的去噪过程和Transformer的自注意力机制。在DiT中,输入图像首先被patch化为一系列token,然后通过多层Transformer块进行处理,预测噪声或速度场。典型代表包括DiT、U-ViT、HDiT和MM-DiT等变体,它们在ImageNet等数据集上实现了state-of-the-art的生成质量。

ELIT直接作用于DiT架构,理解DiT的工作原理是理解本文技术贡献的基础

流匹配(Flow Matching)

流匹配是一种训练生成模型的方法,通过学习从噪声分布到数据分布的确定性速度场。在整流流(Rectified Flow)变体中,定义线性路径 $X_t = (1-t)X_0 + tX_1$,其中 $X_0$ 是噪声,$X_1$ 是数据,神经网络 $G(\cdot)$ 预测速度 $v_t = X_1 - X_0$。训练目标为 $\mathcal{L}_{RF} = \mathbb{E}_{t \sim p_t, X_1 \sim p_d, X_0 \sim p_n} \|G(X_t, t) - (X_1 - X_0)\|_2^2$。

本文保持标准流匹配训练目标不变,ELIT的创新在于架构设计而非训练方法

无分类器引导(Classifier-Free Guidance, CFG)

CFG是扩散模型采样时的关键技术,通过同时运行条件和无条件模型来增强生成质量。给定条件信号 $c$ 和引导尺度 $\lambda$,CFG速度预测为 $\hat{v}_{CFG} = (\lambda+1)G(X_t|c) - \lambda G(X_t|\emptyset)$。虽然能显著提升质量,但代价是模型调用次数翻倍。

本文提出的CCFG(Cheap CFG)利用多预算特性大幅降低CFG的计算成本

交叉注意力(Cross-Attention)

交叉注意力是Transformer中的核心机制,允许一组token(查询)从另一组token(键和值)中提取信息。在ELIT中,Read层使用潜在token作为查询,空间token作为键值,实现信息从空间域到潜在域的转移;Write层则执行相反操作。

Read和Write层是ELIT的核心组件,理解交叉注意力机制是理解ELIT工作原理的关键

Patch化(Patchification)

Patch化是将输入图像分割成固定大小的块并投影为token的过程。例如,2×2 patchification将图像分为2×2像素的块,每个块被投影为一个token。patch大小直接影响token数量和计算量:1×1 patch产生4倍于2×2 patch的token数。

传统DiT的计算量与输入分辨率固定绑定,ELIT通过潜在接口解耦了这种关系

研究动机

扩散变换器(DiTs)虽然在图像和视频生成任务中取得了卓越的生成质量,但存在一个根本性的设计缺陷:计算量(FLOPs)与图像分辨率固定绑定,无法根据实际需求灵活调整。具体来说,DiT通常将每个时间步的计算成本锁定为输入分辨率的固定函数,没有考虑延迟和计算约束。更重要的是,作者发现DiT在不同图像区域之间均匀分配计算资源,这是次优的做法,因为图像中的视觉信息分布是不均匀的:某些区域简单易处理,而其他区域需要更多计算。在一个控制实验中,当通过增加零填充来人为增加token数量时,DiT无法利用额外的计算来提升生成质量,注意力图显示零值token主要相互关注而非关注重要图像区域,导致计算资源浪费。

本文的目标是本文的目标是开发一种轻量级的、可插入的机制,能够在不改变DiT基础架构和训练目标的前提下,实现三个核心能力:(1)自适应计算——将计算资源集中在真正需要的地方而非均匀分散;(2)可变测试时计算——通过单一权重集合支持从低到高的连续推理预算范围;(3)改进采样——利用多预算特性原生支持autoguidance等高效引导策略。最终目标是让DiT能够在推理时根据计算约束动态调整计算分配,同时保持甚至提升生成质量。

与已有工作不同的是,现有工作虽然探索了生成模型的灵活性,但都存在明显局限。自适应生成器(如Supernetwork)仍然在token间均匀分配计算,或具有高复杂度。基于掩码的方法(如MaskDiT、MDTv2、TREAD)通过跳过token来加速训练,但由于信息丢失的破坏性,推理时必须禁用丢弃策略,无法减少推理计算。训练无关的加速方法(如token merging)虽然能减少推理计算,但无法超越基础模型的性能上限。RINs和FITs虽然学习了非均匀计算分配,但推理预算固定且偏离DiT架构,阻碍了实际应用。本文的独特切入点是引入一个可变长度的潜在接口作为计算的缓冲区,通过轻量级的Read/Write层在空间域和潜在域之间转移信息,实现真正的弹性计算分配。

核心方法

ELIT的核心直觉非常简单:与其在所有图像token上均匀分配计算,不如引入一个紧凑的潜在接口作为计算的汇聚点,让模型学会将最重要的信息集中到这个接口中。具体来说,ELIT在标准DiT架构中插入三个关键组件:(1)一组可变长度的潜在token——潜在接口,作为信息的压缩表示;(2)Read层——一个轻量级交叉注意力层,负责从空间token中提取信息到潜在接口,优先处理困难区域;(3)Write层——另一个轻量级交叉注意力层,将更新后的潜在信息广播回空间token。通过在训练时随机丢弃尾部token,模型被迫学习按重要性排序的表示:前面的token捕获全局结构,后面的token用于细化细节。推理时,用户可以通过调整保留的潜在token数量直接控制计算预算。

ELIT与已有方法的本质区别在于:它不是简单地跳过或合并token(这会导致信息丢失),而是学习一个信息的重新分配机制。具体来说,ELIT将标准DiT的统一空间计算转化为两阶段处理:首先通过Read层将空间信息压缩到潜在接口中,然后在紧凑的潜在域中进行主要计算,最后通过Write层将结果写回空间域。这种设计的关键优势是:(1)潜在接口的大小可以灵活调整,直接控制计算预算;(2)通过tail-dropping训练策略,模型自动学习重要性排序,确保即使使用少量token也能保留最关键的信息;(3)整个机制是drop-in的,不需要改变原始DiT的训练目标或损失函数。此外,多预算训练自然产生了弱模型,使得autoguidance和Cheap CFG等高效引导策略可以开箱即用。

方法步骤详情

ELIT的工作流程可以分为三个阶段:(1)空间头处理阶段:输入图像首先通过patch化层转化为N个空间token,然后经过Bin个短空间Transformer块处理,产生精炼的空间表示,避免直接从原始噪声patch中读取信息。(2)潜在核心计算阶段:引入一个可学习的潜在接口,包含K个潜在token。Read层通过交叉注意力将空间信息拉入潜在接口:潜在token作为查询,空间token作为键和值,输出更新后的潜在表示。接下来,Bcore个核心Transformer块在潜在接口上执行主要计算。(3)写回和输出阶段:Write层将更新后的潜在信息广播回空间token:空间token作为查询,潜在token作为键和值。最后Bout个尾部空间块完成处理并投影到输出速度空间。为减少计算成本,空间token和潜在token被分组处理,交叉注意力仅在对应组内进行,将成本从O(NK)降至O(NK/G)。

技术新颖性

ELIT的技术新颖性体现在多个层面。首先,架构设计上,它首次将可变长度潜在接口引入DiT类生成模型,仅需添加两个轻量级交叉注意力层(Read和Write),参数增加极少(约3%),却能实现完全的计算弹性。其次,训练策略上,tail-dropping机制确保了重要性排序:在每个训练迭代中,随机采样保留的潜在token数量J_tilde,只保留每组的前J_tilde个token,丢弃后续token。这迫使前面的token学习全局信息,后面的token学习细节信息。第三,引导策略上,多预算训练天然产生了可用的弱模型(使用较少token的版本),使得autoguidance可以零成本实现。作者进一步提出Cheap CFG(CCFG),将autoguidance与CFG结合,在降低33%计算成本的同时保持甚至提升生成质量。最后,分组交叉注意力设计使方法可以扩展到高分辨率和长序列场景。

ELIT的弹性计算分配示意图
Figure 1: ELIT的弹性计算分配示意图
ELIT架构详解
Figure 3: ELIT架构详解
ELIT计算分析
Figure 10: ELIT计算分析
潜在token重要性可视化
Figure 12: 潜在token重要性可视化

实验结果

ELIT在多个架构和数据集上展示了强大且一致的性能提升。在ImageNet-1K 512px基准上,单预算ELIT版本相比原始DiT-XL/2,FID从18.8降至11.1(降低41%),FDD从339.2降至175.6(降低48%),IS从53.0提升至80.0(提升51%)。多预算版本(ELIT-MB)进一步优化,FID降至10.1(降低46%),FDD降至164.1(降低52%)。重要的是,ELIT在U-ViT和HDiT架构上同样有效:U-ViT的FID从11.6降至7.7(降低34%),HDiT从13.0降至9.6(降低26%)。收敛速度方面,ELIT-DiT在256px上实现3.3倍加速,在512px上实现4.0倍加速。视频生成实验(Kinetics-700 256px)也验证了方法的有效性。在大规模模型上,ELIT-Qwen-Image(基于20B MM-DiT)使用CCFG时,仅需69%的FLOPs即可匹配原始Qwen-Image的性能,最低可降至35%的FLOPs,DPG-Bench平均得分从90.45(100% tokens)到88.02(12.5% tokens)保持稳定。

ImageNet-1K 256px和512px性能对比
Table 1: ImageNet-1K 256px和512px性能对比
Kinetics-700 256px视频生成性能
Table 2: Kinetics-700 256px视频生成性能
Qwen-Image在DPG-Bench上的评估
Table 3: Qwen-Image在DPG-Bench上的评估
消融实验
Table 4: 消融实验
计算-质量权衡效率
Table 5: 计算-质量权衡效率
Read/Write策略消融
Table 6: Read/Write策略消融
噪声级别预算调度
Table 7: 噪声级别预算调度
联合多预算 vs 独立单预算训练
Table 8: 联合多预算 vs 独立单预算训练
训练收敛速度对比
Figure 4: 训练收敛速度对比
引导策略对比
Figure 5: 引导策略对比
ELIT在ImageNet-1K 512px上的定性评估
Figure 6: ELIT在ImageNet-1K 512px上的定性评估
跨模型规模的ELIT性能
Figure 7: 跨模型规模的ELIT性能
计算-质量权衡对比
Figure 8: 计算-质量权衡对比
FLOPs与实际延迟的关系
Figure 11: FLOPs与实际延迟的关系
ELIT与token merging方法对比
Figure 13: ELIT与token merging方法对比
ELIT-DiT不同预算下的定性结果
Figure 16: ELIT-DiT不同预算下的定性结果
ELIT-Qwen-Image多预算定性结果
Figure 19: ELIT-Qwen-Image多预算定性结果
查看结构化数据
任务指标本文基线提升
ImageNet-1K 512px 图像生成 FID50K 10.1 (ELIT-MB-DiT-XL) 18.8 (DiT-XL/2) 降低46%
ImageNet-1K 512px 图像生成 FDD50K 164.1 (ELIT-MB-DiT-XL) 339.2 (DiT-XL/2) 降低52%
ImageNet-1K 512px 图像生成 IS 147.0 (ELIT-MB-DiT-XL) 86.4 (DiT-XL/2) 提升70%
ImageNet-1K 256px 图像生成 FID50K 7.8 (ELIT-MB-DiT-XL) 13.0 (DiT-XL/2) 降低40%
Qwen-Image DPG-Bench 平均得分 90.45 (100% tokens) 91.27 (原始Qwen-Image) 仅降低0.9%(使用CCFG和69% FLOPs)

局限与改进

作者在讨论部分坦诚指出了几个局限性。首先,大规模从头训练的优势尚未完全验证——Qwen-Image的实验是通过微调而非从头训练进行的。其次,CCFG(Cheap Classifier-Free Guidance)相比标准CFG存在轻微的饱和度问题,特别是在较高引导尺度下,图像颜色会略微过饱和。作者建议使用较低的引导尺度来缓解这一问题。此外,当前方法采用统一的预算分配策略(所有组使用相同的J_tilde),未探索基于内容复杂度的自适应分配。从独立分析来看,ELIT增加了约3%的参数量和少量计算开销(Read/Write层),虽然在大模型中占比很小,但在极小模型上可能影响更明显。另外,tail-dropping训练策略需要精心设计J_min和J_max的范围,超参数选择可能需要针对不同任务进行调整。

独立分析的弱点

独立分析ELIT存在几个值得改进的弱点。首先,分组策略目前采用固定的2D/3D网格划分,未考虑语义边界——如果一个重要对象跨越多个组,其信息可能被分散处理,影响生成质量。改进方向可以是基于语义分割或注意力模式动态调整分组。其次,Read和Write层的设计相对简单(单层交叉注意力),论文消融实验显示增加Write层的容量(双层或更大FFN)能带来提升,但作者为保持轻量性选择了最简设计。一个可能的改进是根据模型规模自适应调整Read/Write层的复杂度。第三,当前的多预算训练使用均匀分布采样J_tilde,未探索更智能的采样策略,例如根据训练进度或噪声水平调整分布。最后,方法在视频生成上的验证相对有限(仅Kinetics-700 256px),在更长视频或更高分辨率场景下的表现有待进一步验证。

未来方向

作者在讨论部分提出了几个有前景的未来研究方向。首先是噪声水平感知的预算调度——初步实验表明高噪声步骤可能需要更少的token(50% token在高噪声步骤,100%在其他步骤,性能相当但节省18%计算),一个原则性的噪声级别调度策略可能进一步提升效率。其次是训练和推理时的动态预算分配——根据每个采样步骤的实际需求分配不同的token预算。基于本文的多预算框架,还可以探索:(1)内容自适应的预算分配,为不同空间区域分配不同的token数量;(2)与蒸馏方法(如一致性蒸馏)的深度结合,进一步减少采样步骤;(3)扩展到更长的视频生成和3D内容生成场景;(4)探索ELIT在条件生成(如文本到图像、图像编辑)中的应用,利用潜在接口作为条件注入的接口。

复现评估

从复现评估来看,ELIT具有较好的可复现性。代码和预训练模型已在项目主页(https://snap-research.github.io/elit)发布。方法实现相对简单,核心改动仅涉及添加Read/Write层和训练时的tail-dropping逻辑,不需要特殊的优化器或训练技巧。数据方面,实验使用公开数据集(ImageNet-1K、Kinetics-700),无需额外数据收集。算力方面,主要实验基于DiT-XL/2(675M参数),训练500k步,需要中等规模的GPU集群;Qwen-Image实验(20B参数)需要更大的计算资源。论文提供了详细的消融实验和超参数设置,降低了复现难度。不过,多预算训练需要仔细调整J_min、J_max和batch size以匹配基线的训练FLOPs,这部分可能需要一些调参经验。