DiT架构因其强大的生成能力而在图像、视频和语音合成等多个领域展现出巨大潜力。然而,由于在推理过程中需要反复评估计算密集型的注意力和前馈模块,DiT架构的计算成本较高,这成为其广泛应用的一大障碍。为了解决这一问题,Roblox和皇后大学的研究人员联合开发了一种名为SmoothCache的新型推理加速技术。SmoothCache的设计理念是利用相邻扩散时间步之间层输出的高度相似性,通过缓存和重用关键特征来减少不必要的计算。
例如,在图像生成任务中,使用DiT-XL模型从标签生成图像时,SmoothCache可以在保持生成质量的同时,通过缓存和重用特征图来减少计算量,从而加快推理速度。在文本到视频的任务中,如Open-Sora模型,SmoothCache同样可以提高视频生成的推理速度。在文本到音频的任务中,如Stable Audio Open模型,SmoothCache也能有效地提高音频合成的推理效率。
主要功能和特点
主要功能:
- 推理加速: 通过缓存和重用特征图来减少重复计算,加快DiT模型的推理速度。
- 模型无关性: SmoothCache不依赖于特定的模型架构,可以应用于多种DiT架构和模态。
- 训练无关性: SmoothCache不需要对模型进行额外的训练,即可实现加速。
主要特点:
- 自适应缓存策略: 根据小规模校准集的层间表示误差来自适应地确定缓存强度。
- 保持或提高生成质量: 在加速的同时,SmoothCache能够保持甚至提高生成质量。
- 易于实现和部署: SmoothCache易于集成到现有的DiT模型中,无需复杂的修改。
工作原理
SmoothCache的工作原理基于以下几个步骤:
- 层间相似性观察: 发现DiT模型中相邻时间步的层输出具有高余弦相似性,表明存在计算冗余。
- 校准集分析: 使用小规模校准集来分析层间表示误差,确定不同去噪阶段的最优缓存强度。
- 自适应缓存决策: 根据分析结果,自适应地缓存关键特征,并在推理过程中重用这些特征,减少计算量。
- 残差连接利用: 应用缓存到DiT模型中的计算瓶颈层(如自注意力和前馈层)的输出,这些层的输出位于残差连接之前。
实验结果
研究人员对SmoothCache进行了广泛的实验验证,结果表明:
- 速度提升:SmoothCache在不同的生成任务中实现了8%到71%的速度提升,覆盖了图像生成、文本到视频和文本到音频等多种模态。
- 生成质量:在保持或甚至提高生成质量的前提下,SmoothCache显著加快了推理速度,这为实时应用提供了可能。
- 多模态有效性:SmoothCache在DiT-XL(用于图像生成)、Open-Sora(用于文本到视频)和Stable Audio Open(用于文本到音频)等模型上均表现出了良好的加速效果,证明了其广泛的适用性。
评论0