DICE 阅读笔记:并行扩散推理中的激活陈旧性
从步骤、层和 token 三个粒度理解 DICE 如何平衡通信等待与激活陈旧性。
DICE 阅读笔记:并行扩散推理中的激活陈旧性
在扩散模型的并行推理中,通信和计算重叠可以减少等待,但复用过去步骤的激活值会引入误差。DICE 将这种激活陈旧性(staleness)作为主要优化对象。
本文根据个人论文笔记整理,对应 ICCV 2025 论文,代码见作者仓库。讨论的是 Diffusion MoE 推理,没有进行本地复现。
专家并行为什么需要通信
MoE 将 token 分配给不同专家。专家位于不同设备时,需要把输入发到相应设备,计算完成后再汇合输出。严格同步容易使计算等待通信。
错位执行利用相邻扩散步骤中激活的相似性,以过时值近似当前值,从而为通信与计算重叠创造空间。但这种近似改变了执行过程,生成质量也需要一起检查。
Staleness 表示什么
这里的陈旧性描述激活产生的步骤与它被使用的步骤之间的差距。它不同于训练中的陈旧梯度,也不等同于模型权重过时。
| 优化粒度 | DICE 的方法 | 作用 |
|---|---|---|
| 步骤 | Interweaved Parallelism | 调整执行流水线,减少步骤间陈旧性 |
| 层 | Selective Synchronization | 对敏感层保留同步 |
| token | Conditional Communication | 根据重要性调整通信频率 |
论文针对不同粒度安排不同策略;作者代码也说明了部分优化存在可调的质量与效率权衡。
我的理解:同步预算应该花在哪里
同步会付出等待成本,不同步会承担近似误差。因此,系统设计需要回答哪些信息可以稍晚到达、哪些信息必须保持最新。
步骤、层和 token 的划分提供了一个阅读框架:先确认误差从哪里来,再判断它在不同位置是否有相同影响。若只看通信总量,很容易忽略某些少量但关键的数据。
如何理解实验结论
论文报告的加速对应特定模型、设备和生成设置,不能直接推断所有扩散模型都会获得同样收益。复现时应固定采样配置,同时记录端到端延迟、通信占比、峰值内存和质量指标。
尤其需要将“GPU 更忙”与“用户更快拿到相同质量的结果”区分开来;后者才是推理优化最终要检验的目标。
This post is licensed under CC BY 4.0 by the author.