本文来源  新智元  编辑:LRST

【新智元导读】北京大学等研究团队优化了Sdcpp框架,通过引入Winograd算法和多项策略,显著提升了图像生成速度和内存效率,最高可提速4.79倍。

在AI生成图像领域,Stable Diffusion已经成为一个里程碑式的工具,凭借其强大的图像生成能力,被广泛应用于艺术创作、商业设计等领域。

然而,生成高质量图像的过程常常需要付出大量的时间和内存,这对于硬件资源有限的设备来说是一大挑战。

为了应对这一问题,北京大学、东北大学、佐治亚大学发布了Stable-Diffusion.cpp(简称Sdcpp)的优化方法,引入了Winograd算法和三个优化策略,最终整图生成速度最高可达到4.79倍,从此实现创作自由!

40088df4259bad546866d5546fac5ab6.png

论文链接:https://arxiv.org/pdf/2412.05781

项目主页:https://github.com/SealAILab/stable-diffusion-cpp

Sdcpp是Stable Diffusion模型的C/C++实现,旨在无需外部依赖的情况下在CPU(以及可能配置GPU)上实现高效推理。Sdcpp作为一个高效的推理框架,不仅能够显著加速模型的运行,还能大幅减少内存占用。

Sdcpp的实现中,计算密集型的2D卷积运算是图像生成的主要瓶颈,虽然功能强大,但效率却不够理想,推理速度较慢,内存占用高。

为了解决这些问题,研究人员在Sdcpp的基础上,引入了Winograd算法,对Sdcpp中的卷积操作进行了革命性的改进,最终实现了性能与资源利用率的双提升。

主要优化策略为:

  1. 分步处理:将卷积拆解为滤波器和激活权重的预处理、预处理张量的逐元素乘法和中间结果的后处理三个阶段,提高运算效率。

  2. 局部优化:通过调整数据加载方式(散点存储和聚集加载优化),减少 L1 缓存的切换,最大限度地减少缓存交换,提升内存使用效率。

  3. 并行处理:分析算子间的关联性,将关联性较小的运算动态分配到不同的计算线程与核心上,充分利用多线程和多核心架构,动态分配计算任务,充分发挥硬件性能,减少图像生成延迟。

尤其是在M系列Mac设备上,优化了性能核心(P-core)和效率核心(E-core)的分工,使推理速度得到了显著提升。

多设备、多模型支持

优化后的Sdcpp框架支持多个设备和模型,包括:

  • 主流Stable Diffusion模型:SDv1.4、v1.5、v2.1、SDXL和SDXL-Turbo;

  • 不同硬件平台:Mac、Android、AMD等;

  • 扩展模块:如支持LoRA,以及支持算子量化等,为用户提供更高的灵活性。

此外,该框架还支持并且优化了diffusion transformer模型中的算子,进一步拓展了应用场景。

速度提升,快!

通过实际测试,优化成果令人振奋!

单卷积层的加速表现:对于多种卷积层配置,推理速度平均提升超过2倍!

研究人员测试了在一些在SD生成图片过程中出现比较频繁的卷积层,计算了在这些单卷积层上,优化的Sdcpp相较于原版Sdcpp的加速效果。在不同的卷积层上,推理速度提升至少达到2倍。

3c3c05a5bafb4c58f6ed746d37813dee.png

整图生成速度对比:最高加速比达到4.79倍!

 图像分辨率越大,方法的加速效果越明显。在生成1024×1024分辨率图像时,相比于原版Sdcpp,优化后的Sdcpp在M1 Pro以及M2 Max上的推理速度提升可超过4.6 倍(FP32 类型)。

 对于其他图像尺寸和SD模型,优化的Sdcpp的加速效果也十分显著(如SDv1.5模型生成512×512图像时在M1 Pro上加速1.84 倍)。

 显著的加速比主要得益于框架的局部优化(降低缓存交换并且提高内存使用效率),以及并行处理(动态分配计算任务并且提高运算并行度)。

72206c2059c762570dc62b59b6ab1ed1.png

f7d85f4593d94a9de5797062ab7e872f.png

更快的速度,不仅节省时间,更让创作更自由!

实例展示:更真实的生成效果

下图展示了使用 SDXL-Turbo 模型,原版Sdcpp以及我们优化的Sdcpp使用5步采样,所生成的图像对比:

0ce29d7c0c9bace2c756c8419363d192.png

可以看出,在相同配置和提示词下,优化后的Sdcpp不仅速度更快,生成的图像也更加细腻逼真,细节丰富,层次分明。

优化的Sdcpp能够支持不同硬件平台上(Mac、Android、AMD 等)各种主流SD模型(如SDv1.4、v1.5、v2.1、SDXL 和 SDXL-Turbo)的所有算子,确保使用这些SD模型能够生成高质量的图片。

该框架还会不断进步,研究人员计划优化更多操作符,提升兼容性;进一步提高模型量化的效率;探索在更多设备上的性能提升。

参考资料:

https://arxiv.org/abs/2412.05781

关注公众号【机器学习与AI生成创作】,更多精彩等你来读

如何跟进 AIGC+CV 视觉前沿技术?

30+方向大梳理!ECCV2024上的AIGC扩散模型在研究什么?!

CVPR 2024 | diffusion扩散模型梳理!100+论文、40+方向!

ICCV 2023 | diffusion扩散模型方向!百篇论文

CVPR 2023 | 30个方向130篇!最全 AIGC 论文一口读完

深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读

深入浅出ControlNet,一种可控生成的AIGC绘画生成算法! 

经典GAN不得不读:StyleGAN

6fafbb403541d070dee0cdb6cb950a89.png 戳我,查看GAN的系列专辑~!

最新最全100篇汇总!生成扩散模型Diffusion Models

ECCV2022 | 生成对抗网络GAN部分论文汇总

CVPR 2022 | 25+方向、最新50篇GAN论文

 ICCV 2021 | 35个主题GAN论文汇总

超110篇!CVPR 2021最全GAN论文梳理

超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

《礼记·学记》有云:独学而无友,则孤陋而寡闻

点击跟进 AIGC+CV视觉 前沿技术,真香!,加入 AI生成创作与计算机视觉 知识星球!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐