给原生的 Stable Diffusion 模型按个涡轮发动机——DeepCache

AI绘图虽然模型种类繁多,但是一直存在一个缺点就是不够快。以至于Stability公司专门做了Turbo系列和Cascade版本。但是这些终究治标不治本,终于在CVPR2024收入中,我觉得DeepCache是一次不错的尝试。

论文

DeepCache: Accelerating Diffusion Models for Free

摘要

扩散模型因其卓越的生成能力,最近在图像合成领域获得了前所未有的关注。尽管这些模型性能出众,但通常会产生大量的计算成本,这主要归因于顺序去噪过程和繁琐的模型大小。压缩扩散模型的传统方法通常涉及大量的再训练,带来了成本和可行性方面的挑战。在本文中,我们介绍了 DeepCache,一种从模型架构角度加速扩散模型的新型免训练范式。DeepCache 利用扩散模型顺序去噪步骤中固有的时间冗余,缓存并检索相邻去噪阶段的特征,从而减少冗余计算。利用 U-Net 的特性,我们在重复使用高级特征的同时,还能以非常低廉的成本更新低级特征。这一创新策略反过来又使稳定扩散 v1.5 的速度提高了 2.3 倍,而 CLIP 分数仅下降了 0.05;使 LDM-4-G 的速度提高了 4.1 倍,而 ImageNet 上的 FID 仅略微下降了 0.22。我们的实验还证明,DeepCache 优于需要重新训练的现有剪枝和蒸馏方法,而且与当前的采样技术兼容。此外,我们还发现,在相同的吞吐量下,DeepCache 能有效地实现与 DDIM 或 DDIM 相似甚至略有改进的结果。

部署

复制代码
pip install DeepCache

代码

ini 复制代码
import torch

# Loading the original pipeline
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained('runwayml/stable-diffusion-v1-5', torch_dtype=torch.float16).to("cuda:0")

# Import the DeepCacheSDHelper
from DeepCache import DeepCacheSDHelper
helper = DeepCacheSDHelper(pipe=pipe)
helper.set_params(
    cache_interval=3,
    cache_branch_id=0,
)
helper.enable()

# Generate Image
deepcache_image = pipe(
        prompt,
        output_type='pt'
).images[0]
helper.disable()

测试

我用sdxl base 1.0 + 4090

无cache

Total runtime of the program is 7.61311936378479

有cache

Total runtime of the program is 3.8023335933685303

结语

如果用在中低端显卡估计推理效果更为显著吧!

相关推荐
墨风如雪20 小时前
告别拼凑感!商汤Seko 2.0让“一人剧组”量产百集爆款短剧
aigc
天天扭码1 天前
如何实现流式输出?一篇文章手把手教你!
前端·aigc·ai编程
李新_1 天前
基于Markwon封装Markdown组件
android·aigc·markdown
猫头虎1 天前
又又又双叒叕一款AI IDE发布,国内第五款国产AI IDE Qoder来了
ide·人工智能·langchain·prompt·aigc·intellij-idea·ai编程
袋鱼不重1 天前
AI入门知识点:什么是 AIGC、多模态、RAG、Function Call、Agent、MCP?
前端·aigc·ai编程
树獭叔叔1 天前
Langgraph: Human-in-the-Loop 实现机制
后端·langchain·aigc
我是宝库1 天前
Turnitin系统查英文AI率多少为正常?报告显示星号*%怎么办?
人工智能·经验分享·aigc·毕业论文·英文专业·turnitin系统·英文查重
树獭叔叔1 天前
一种上下文工程的范式-Letta(MemGPT)项目拆解
aigc·openai·cursor
般若Neo1 天前
【AI通识】生成式人工智能通识
人工智能·aigc·生成式ai
Cathyqiii1 天前
Diff-MTS: Temporal-Augmented ConditionalDiffusion-Based AIGC
深度学习·aigc