diffusers SD推理加速方案的调研实践总结(1)

简介: diffusers SD推理加速方案的调研实践总结

近期,在我们的内容技术灵媒智算平台(MVAP)上部署的服务数量提升迅猛,部分业务场景对SD系列模型的推理速度有着一定的要求。因此,我们对当前较为流行的SD加速方式进行了调研与测试,并以AI试衣业务场景为例,尝试了多种加速方案。下面是对调研结果与实际落地效果的一些总结与分享。



加速方案介绍


目前主流的加速思路包含算子优化、模型编译、模型缓存、模型蒸馏等,下面将简要介绍一下几种测试中用到的有一定代表性的开源方案。


 算子优化:FlashAttention2


主要针对transformer中的attention模块进行优化。FlashAttention改变了常规的attention计算方式,将完整的attention计算融合到单个cuda kernel中,并结合了前向tiling与反向recompute技巧;FlashAttention2在此基础上进一步减少了冗余计算,并加强了前向与反向过程中的并行计算,从而降低显存占用和计算耗时。由于效果很好且受到广泛使用,FlashAttention2已被集成到pytorch2.2之后的版本中。

 模型编译:oneflow / stable-fast


oneflow通过将模型编译为静态图,结合oneflow.nn.Graph内置的算子融合等加速策略,实现对模型推理的加速。优势在于对于基础SD模型只需一行编译代码即可完成加速、加速效果明显、生成效果差异小、可以结合其他加速方案(如deepcache)使用以及官方更新频率高等。缺点放到后面再说。


stable-fast也是基于模型编译的加速库,并结合了一系列算子融合的加速方法,但它的性能优化依赖于xformer、triton、torch.jit等工具。


 模型缓存:deepcache


SD模型的常规推理过程包含很多步unet计算(我们在基础模型测试中设置的步数为50),而deepcache的作者发现相邻步数的unet在深层特征上只有极其微小的变化,为了避免重复计算这些冗余的深层特征,deepcache只在部分步骤执行完整计算,并缓存深层特征的计算结果;对于剩余的步骤,则仅计算浅层特征,并结合最近的缓存特征结果。这一过程相当于跳过了unet网络中的大部分层,因此能够显著降低计算量。
deepcache在diffusers框架中的使用非常方便,并且可以根据实际情况设置使用缓存的最深层及使用缓存的步数间隔(这里也可以使用非均匀分布的策略,根据不同步数的冗余程度设置不同的间隔),自行在推理速度与生成质量之间进行权衡。


image.png


 模型蒸馏:lcm-lora


结合了lcm(Latent Consistency Model)与lora,lcm会对整个sd模型进行蒸馏,从而实现少步数推理,而lcm-lora借助了lora的形式,只对lora部分进行优化,这样既能够实现加速,也可以直接与常规的lora使用相结合。


image.png

相关文章
|
机器学习/深度学习 人工智能 算法
阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍
从节点架构到网络架构,再到通信算法,阿里巴巴把自研的高性能AI集群技术细节写成了论文,并对外公布。
阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍
|
定位技术
阿里架构总监一次讲透中台架构,13页PPT精华详解,建议收藏!
本文整理了阿里几位技术专家,如架构总监 谢纯良,中间件技术专家 玄难等几位大牛,关于中台架构的几次分享内容,将业务中台形态、中台全局架构、业务中台化、中台架构图、中台建设方法论、中台组织架构、企业中台建设实施步骤等总共13页PPT精华的浓缩,供大家学习借鉴。
38462 107
|
7月前
|
XML 存储 前端开发
免费在线图片转Base64编码工具
利用图片转 Base64 编码工具(支持 PNG, GIF, JPEG 等格式)。操作极其简单:将目标图片拖拽至工具指定区域,即可自动完成转换并获得编码结果。
1716 3
|
人工智能 资源调度 物联网
diffusers SD推理加速方案的调研实践总结(2)
diffusers SD推理加速方案的调研实践总结
555 9
|
8月前
|
编解码 人工智能
通义万相Wan2.1-VACE开源!业内首个视频编辑统一模型!附推理教程
通义万相Wan2.1-VACE开源!业内首个视频编辑统一模型!附推理教程
1698 7
|
9月前
|
人工智能 缓存 安全
首发,Higress AI 网关率先支持 QwQ-32B,推理成本可再降 90%
QwQ-32B 是一款拥有 320 亿参数的大模型,性能媲美 6710 亿参数的 DeepSeek-R1。它支持本地运行、显著降低企业调用成本(最高降 90%),并在 Hugging Face 和 ModelScope 开源。本文提供通过 Higress AI 网关实现 DeepSeek-R1 和 QwQ-32B 无缝切换的教程,涵盖环境准备、模型接入配置及客户端调用示例。Higress AI 网关还具备消费者鉴权、模型自动切换、Token 级限流等进阶功能,助力企业高效管理多模型服务。
495 1
|
XML 人工智能 文字识别
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
Mobile-Agent 是一款基于多模态大语言模型的智能代理,能够通过视觉感知自主完成复杂的移动设备操作任务,支持跨应用操作和纯视觉解决方案。
4504 10
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
|
定位技术 API 数据安全/隐私保护
QWEN-VL Plus 使用小记
近期尝试使用Qwen VL Plus模型处理图像识别任务,以GIS专业背景选择了一张街景图片进行测试。体验上,API调用流畅,环境配置简单,且成本低廉,免费额度可支持约1,000张图片的处理。不过,模型在某些情况下会产生幻觉,如对仅含Google水印的街景图片错误地描述存在地名信息。此外,其文本描述风格多变,从轻松愉快到沉稳不一,有时甚至会拒绝回答。
804 5
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
329 3