Analyzing and Improving Training-Free Fast Sampling of Text-to-Image Diffusion Models¶
会议: ECCV2026
论文: https://eccv.ecva.net/virtual/2026/poster/3912
PDF: https://media.eventhosts.cc/Conferences/ECCV2026/pdfs/3672.pdf
代码: https://github.com/zju-pi/TORS
领域: 图像生成
关键词: 免训练采样、时间调度、轨迹几何、曲率与挠率、特征缓存
一句话总结¶
TORS 先找出少步扩散生成的主要瓶颈是外层时间调度,再将三维投影轨迹的总旋转量均分来安排采样时刻,使 Flux.1-Dev 的 10 步 Image Reward 从 0.71 提高到 0.97,但并非所有指标都达到 50 步基线。
研究背景与动机¶
文本到图像模型的推理成本不只取决于网络有多大,还取决于要反复调用它多少次。蒸馏可以减少调用次数,却需要额外训练;免训练路线则尝试改数值求解器、改变采样时刻,或缓存网络中间特征。以往这些方法经常单独评测,容易让人忽略一个问题:在相同的真实计算预算下,到底是积分公式、时间点分配,还是少算一些网络模块带来了主要收益?
论文把这几条路线放进同一框架,发现外层时间调度对少步图像质量的影响最大。高阶求解器通常有小幅收益,缓存收益却随模型变化。更关键的是,均匀调度并不意味着每一步同样容易:Flux.1-Dev 的图像结构在增加采样步数时仍持续变化,到约 30 步才趋于稳定。若早期决定结构的轨迹段本来就弯曲、扭转得更快,均匀时间间隔便会给它分配过少的计算。
作者因此不再只按时间均分预算,而是观察轨迹本身。在 100 条、每条 100 步的轨迹分析中,前三个主成分平均解释超过 99% 的方差,使高维生成过程可以近似放到三维空间研究。核心 idea:用曲率和挠率共同描述轨迹的几何变化,让每个采样区间承担相同的累计总旋转量,在变化剧烈处自动安排更密的时间点。
方法详解¶
整体框架¶
TORS 的输入是一组离线采集的模型采样轨迹和部署时希望使用的步数,输出是一串可直接交给原有采样器的时间点。它不修改模型权重,也不是每生成一张图都重新计算轨迹几何:先做一次轨迹几何剖析,得到平均曲率与挠率,再通过等总旋转调度生成不同步数的日程,最后由原有求解器沿这些时间点生成图像。
统一设计空间是找出优化对象的分析框架,而非额外的推理网络。真正的调度流程有两个核心环节,分别对应下面的两个设计点;求解器和可选缓存仍可独立替换。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["离线高步数轨迹"] --> B["轨迹几何剖析"]
B --> C["等总旋转调度"]
D["目标采样步数"] --> C
C --> E["原有求解器<br/>及可选特征缓存"]
F["文本与初始噪声"] --> E
E --> G["生成图像"]
关键设计¶
1. 轨迹几何剖析:把少步采样的困难定位到弯曲与扭转
先理解论文如何隔离调度的作用。统一框架分为求解器、外层调度、内层调度、缓存对象和特征预测器五个维度:外层决定在哪些时间点更新状态,内层决定这些时间点进行真实计算还是复用特征;缓存对象可以是完整速度、全部 Transformer 的残差、逐块残差或注意力与 MLP 的操作残差;特征预测器则决定直接复用历史特征,还是用历史变化外推当前特征。这些选择各自改变不同的误差或开销,不能一概归结为“减少步数”。
为便于比较,分析实验用 20 个调度步、长度为 2 的计算复用周期,将完整计算次数控制为 10。默认采用 Euler、均匀外层调度、块缓存和一阶直接复用;高阶特征预测采用 TaylorSeers。将计算向早期重分配的 warm-up 策略有效,向后期移动却变差,说明早期时间分辨率确实值得优先改善。纯速度复用可等价于从外层日程删除复用步,这也解释了为什么“有更多调度步”本身不代表有更多有用计算。
随后,作者对高步数轨迹做 PCA,并用前三个主成分描述每条轨迹。超过 99% 的平均解释方差支持这种几何近似,但不意味着所有生成误差都由三维投影完全保留。将投影曲线改用弧长参数化,是为了把轨迹形状与沿曲线前进的速度分开:同一段几何路径走得快或慢,不应该改变它本身的弯曲程度。
在 Frenet-Serret 标架中,切向量表示前进方向,法向量表示弯曲方向,副法向量补成正交坐标系。曲率衡量切向改变有多快,挠率衡量曲线偏离当前密切平面的速度。只看曲率会忽略向第三个维度扭转的部分,尤其在少步、大步长采样时,后者未必是可以忽略的小量。
实际 profiling 默认从 MS-COCO 随机采样提示词,生成 100 条各含 100 步的轨迹,在细粒度弧长网格上统计平均曲率和挠率。缓存正文给出了这一流程,但没有包含所引用的 Algorithm 1 和附录,因此曲线拟合、离散求导、平滑以及近退化轨迹的处理细节无法据此完整复现,不在这里补造。
2. 等总旋转调度:让每一步承担相似的几何变化
曲率和挠率分别描述两种变化,但部署需要一条具体的时间表。作者使用 Darboux 向量描述整个正交标架的旋转,其模长为曲率与挠率平方和的平方根,再沿弧长积分得到总旋转量。以下表达依据正文对该模长及均分规则的明确说明整理;缓存式 (7) 的加号存在抽取缺损,不按损坏文本解释为相乘。
这里 \(\kappa(s)\)、\(\tau(s)\) 是上述几何统计,\(S\) 是统计曲线的总弧长,\(N\) 是目标采样区间数。操作上相当于对累计旋转量选等间隔分位点,再把这些弧长分界映射回时间。曲率或挠率大的区间会更快累计旋转,因此它获得更短的步长;几何变化小的区间可以跨得更远。生成仍从噪声端时间 1 向数据端时间 0 运行,均分的是总旋转而非时间本身。
为什么要同时考虑两者?论文的局部误差解释把 Euler 的主要几何误差分为法向弯曲的二阶项和包含曲率乘挠率的副法向三阶项。步长趋近于零时,高阶项容易忽略;在少步采样中,步长不小,扭转项可能具有实际影响。总旋转量将两类变化合成一个标量,为分配计算提供依据。不过,这一论证包含忽略次要项的近似,不能等同于对任意模型、任意求解器的全局误差最优性证明。
TORS 改的是外层调度,因此与高阶求解器、内层计算复用策略和特征预测器在接口上分离。可兼容不等于组合必定变好:原文发现特征预测器在某个模型上有效,在另一个模型上可能持续降低质量,而优化外层调度的收益更稳定。
一个完整示例¶
以 Flux.1-Dev 的 10 步部署为例,先离线生成 100 条、每条 100 步的轨迹,建立平均几何统计。需要 10 步时,将总旋转均分成 10 份,选出弧长分界并映射为时间点;之后对新提示词和新噪声,直接用原网络与这些时间点采样,不再为这一张图重跑高步数 profiling。
这个流程中的额外成本发生在调度构建阶段。若后来把目标改为 20 步,可以复用同一批几何统计重新分段,无需更新模型权重,也不必仅因步数变化重新采集轨迹。论文还把 Flux 的调度直接迁移到 LoRA 变体、Qwen-Image 和 Flux.1-Kontext;这些是实测迁移案例,不是跨所有架构的保证。
损失函数 / 训练策略¶
TORS 没有新增训练损失,不反向传播、不微调生成模型。默认 profiling 在 Flux.1-Dev 上约需 3 A6000 GPU 小时,在 Stable Diffusion 3.5 medium 上约需 1 A6000 GPU 小时;统计完成后,为任意目标步数生成调度的开销可忽略。免训练因而不等于无离线计算成本。
主实验默认 guidance scale 为 7,最多使用 4 张 NVIDIA RTX A6000。作者还用贝叶斯优化搜索参数化调度作为对照,经过 1000 次搜索得到参数 \(\alpha=6.23\)、\(\beta=1.34\)、\(p=0.18\);这是额外对照实验,不是 TORS 的必要训练步骤。缓存图 6 未给可精确读取的完整数值,因此这里只保留正文所述“Image Reward 表现接近搜索得到的调度”,不编造差值。
实验关键数据¶
主实验¶
下表节选原文表 1 的 DrawBench 结果。IR 为 Image Reward,CS 为 CLIP Score,AS 为 Aesthetic Score,HPSv2 为 Human Preference Score v2,四项均越高越好。10 步加速方法按论文的计算预算口径比较;它不代表所有方法具有完全相同的端到端延迟。
| 模型 | 方法 | 计算步数 | IR | CS | AS | HPSv2 |
|---|---|---|---|---|---|---|
| Flux.1-Dev | 基线 | 50 | 0.96 | 30.61 | 5.73 | 30.15 |
| Flux.1-Dev | 基线 | 10 | 0.71 | 30.08 | 5.53 | 27.70 |
| Flux.1-Dev | TaylorSeers | 10 | 0.77 | 30.38 | 5.58 | 28.19 |
| Flux.1-Dev | UniPC | 10 | 0.78 | 30.41 | 5.58 | 28.16 |
| Flux.1-Dev | GITS | 10 | 0.90 | 30.53 | 5.65 | 29.13 |
| Flux.1-Dev | TORS | 10 | 0.97 | 30.97 | 5.71 | 29.30 |
| SD 3.5 medium | 基线 | 50 | 0.97 | 33.26 | 5.37 | 28.64 |
| SD 3.5 medium | 基线 | 10 | 0.55 | 32.77 | 5.23 | 25.31 |
| SD 3.5 medium | TaylorSeers | 10 | 0.54 | 32.73 | 5.22 | 25.25 |
| SD 3.5 medium | UniPC | 10 | 0.69 | 32.88 | 5.29 | 26.43 |
| SD 3.5 medium | GITS | 10 | 0.75 | 32.72 | 5.25 | 25.89 |
| SD 3.5 medium | TORS | 10 | 0.86 | 33.13 | 5.33 | 26.90 |
在 Flux.1-Dev 上,TORS 相对同预算基线增加 0.26 IR 和 1.60 HPSv2;相对 GITS 增加 0.07 IR 和 0.17 HPSv2。与 50 步基线相比,IR 略高,但 HPSv2 仍低 0.85,所以“接近 50 步”不能被读成全面无损。SD 3.5 medium 上,TORS 比 10 步基线增加 0.31 IR 和 1.59 HPSv2,但同样未达到 50 步的全部指标。
原文表 2 的 GenEval 总分为:50 步基线 0.65、10 步基线 0.57、10 步 TORS 0.67。TORS 的属性绑定分数为 0.49,高于两条基线的 0.41 和 0.28;计数分数为 0.67,仍低于 50 步基线的 0.69。总体分数超过基线不代表每个能力项都超过它。
消融实验¶
下表来自原文表 5(b)(c),考察构建调度时的 profiling 配置,最终评测仍为 Flux 的少步生成。样本数与每条 profiling 轨迹的步数是两个分别变化的因素,不能把后者误读成部署采样步数。
| 变化因素 | Profiling 配置 | IR | HPSv2 |
|---|---|---|---|
| 轨迹样本数 | 25 条 | 0.96 | 29.41 |
| 轨迹样本数 | 50 条 | 0.96 | 29.43 |
| 轨迹样本数 | 75 条 | 0.95 | 29.37 |
| 轨迹样本数 | 100 条 | 0.97 | 29.30 |
| 每条轨迹步数 | 25 步 | 0.81 | 28.23 |
| 每条轨迹步数 | 50 步 | 0.91 | 28.61 |
| 每条轨迹步数 | 75 步 | 0.94 | 29.03 |
| 每条轨迹步数 | 100 步 | 0.97 | 29.30 |
关键发现¶
- 样本数量不是越大越好:25 至 100 条的指标接近且非单调;相反,每条 profiling 轨迹由 25 步加密到 100 步时,IR 从 0.81 到 0.97,HPSv2 从 28.23 到 29.30,表明准确的几何采样更重要。
- 迁移到 Qwen-Image 后,10 步 HPSv2 从 27.10 提高到 29.28,仍低于该模型 50 步的 30.80。这支持有限预算下的迁移收益,而非与参考生成完全等价。
- 缓存不能只看调用次数:原文分析中的 Flux 速度缓存使用 9.85 秒、36.32 GB 显存,操作级缓存增加 6% 至 14% 延迟,显存达到 38.48 至 42.78 GB。更细粒度复用本身不是免费收益。
亮点与洞察¶
- 将“何时算”与“怎么算、复用什么”拆开比较,能避免对局部组件的过度优化。对现有采样系统而言,先审视时间预算分布可能比立即更换复杂求解器更有价值。
- 总旋转把切向弯曲和离开密切平面的扭转统一起来,解释了为什么只依赖曲率可能不够。它提供的是可操作的调度统计,而不是额外加入一个需要训练的预测网络。
- 将一次 profiling 的结果复用到不同步数,降低了部署调参成本。消融提示可以优先保证单条轨迹足够密,再评估是否需要增加提示词数量。
局限与展望¶
- 原文明确指出 profiling 步数不能过少,且其离线成本真实存在。小规模使用或频繁更换模型时,需要另外评估约 3 或 1 A6000 GPU 小时能否被后续推理节约摊平。
- 从方法假设看,PCA 高解释方差不保证被舍弃的方向对最终图像语义不重要;平均几何统计也未针对每条提示词自适应。可进一步检验复杂构图、罕见提示词或不同分辨率下的适用边界。
- 从论证范围看,总旋转是有几何依据的离散化指标,但缓存未提供对所有求解器的全局最优保证,也没有可读取的完整兼容性热图数值。不能把“外层调度最重要”推广成所有模型、所有预算都成立的定律。
- 从复现证据看,当前缓存缺少附录及 Algorithm 1,若要实现算法仍需核对几何估计、弧长对齐和时间映射细节。这里只报告正文可证实的机制与表格,不补写未知实现。
相关工作与启发¶
- vs GITS:GITS 以局部误差累积近似全局截断误差,并用动态规划寻找日程;TORS 从投影轨迹的曲率与挠率出发直接均分总旋转。两者都说明外层时间分配是重要优化对象,但依据不同。
- vs DPM-Solver / UniPC:它们主要改变数值更新规则,利用历史速度或预测校正提升积分精度;TORS 改时间点,因而可组合。组合收益仍应按实际计算量和延迟验证。
- vs FORA / TaylorSeers:这些路线重用或预测中间特征,减少部分网络计算;TORS 不要求引入这类缓存。本文的模型间差异提醒我们,特征平滑性与轨迹几何都需要实测,不能互相代替。
评分¶
- 新颖性: 4/5。统一分析之后用曲率与挠率驱动调度,比单纯手工加密早期时间点更有解释性,但承接了已有轨迹几何研究。
- 实验充分度: 4/5。覆盖两个主模型、GenEval、profiling 消融、模型迁移与图像编辑;当前缓存缺少附录及可读的全部图表细节。
- 写作质量: 4/5。从设计空间分析到几何观察再到调度方法,论证顺序清楚;局部误差近似不应被理解为严格的全局保证。
- 价值: 4/5。无需更新权重且能复用调度,具有部署价值;需计入离线 profiling 成本和部分指标仍落后于高步数基线的差距。