给原生的 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

结语

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

相关推荐
threerocks4 小时前
2027 年最赚钱的 AI 创业方向
aigc·openai·ai编程
西安小哥6 小时前
大模型 Agent 做日常任务,卡住的从来不是模型能力
aigc
又过二十17 小时前
我把 5.5 万 Star的AI生成PPT项目ppt-master改造成了桌面应用
aigc·ppt
孟健21 小时前
我把9个AI助理迁到了Grok Bot,连远程服务器都省了
人工智能·aigc·ai编程
threerocks21 小时前
震撼首发 | 格物 · 蜡笔状态图 Skill,一句话,做一部会动的状态图
aigc·openai·ai编程
西安小哥1 天前
从「能聊」到「能干」:大模型 Agent 上手浏览器,我踩到的三个工程真问题
aigc
吴凡wudianmei1 天前
从 0 搭一个 AI Agent(四):SSE 跑通之后,三处“契约错配”与它们的修复边界
前端·后端·aigc
李小轰_Rex1 天前
零开销 AI 数字人方案|Live2D 数字人驱动方案分享
前端·aigc
Sayai1 天前
让动漫角色复刻真人动作!MiniMax H3 动作控制实战:一段视频驱动角色动画(12G 显存,附模型下载)
人工智能·aigc·音视频·comfyui·动作捕捉·minimax
Dawson Zhu1 天前
【Runtime推理引擎④】多流并发执行:用Stream+Event让计算与通信重叠
人工智能·语言模型·架构·aigc·agi