云布道师
本篇文章围绕弹性计算推理解决方案 DeepGPU 实例如何支持 Stable Diffusion 文生图推理、Stable Diffusion 推理演示示例等相关话题展开。
赵大川 阿里云弹性计算高级技术专家
GPU 云服务器推理解决方案的提出背景
随着 AIGC 时代的到来,两个重要应用应运而生,一个是 Stable Diffusion DALL-E 为代表的文生图,另一个是以 ChatGPT 和 Llama 为代表的文生文。这两个场景迅速火爆全球,近期采用融合模式将两个应用融合在一起的场景已经出现,即以 ChatGPT + DALL-E 为代表的融合多模态模型。在这样的趋势下,融合模型将成为新的增长点。
2015 年,Resnet50 的诞生使图像识别达到非常高的境界。时至今日,该模型依然活跃在主流 benchmark 的测试集中。
2018 年,随着 Bert Base 的诞生,各种应用场景对算力的需求达到了新的高峰,在典型情况下,需要十倍于 Resnet50 的算力。在这种大背景下,越来越多的业务运营方开始感受到了巨大算力需求带给自身的运营压力,继而促使他们更加积极地寻求性能优化的解决方案。据数据统计,阿里云支持的客户场景中,Bert Base 的优化需求超过了一半。
2022 年,Stable Diffusion 文生图一经发布便迅速火爆全球,它带来的算力需求增长惊世骇俗。相较于 Resnet50,它对算力的需求量增长了约 10000 倍。
相较于 Resnet50,Bert Base 仅仅是一个数量级的提升,便让业务运营方感受到了巨大压力,而 Stable Diffusion 文生图在 Bert Base 基础上又提升了三个数量级的算力需求,这种需求的变化将会引起一场重大的算力危机。
Stable Diffusion 弹性计算 DeepGPU 实例拯救文生图推理
在上面提到的算力需求迅速扩大的背景之下,弹性计算 GPU 实例针对文生图场景进行了深度优化。
如下图所示,最底层是 GPU 传统的硬件,如 GPU、网络、存储等;在这些硬件之上是 DeepGPU 增强工具包,基于 DeepGPU 增强工具包可以最大化地利用底层硬件的性能,从而更好地支撑上层应用,包括大语言模型、SD 等解决方案。DeepGPU 主要是为了帮助客户快速基于 IaaS 构建企业级应用,同时大幅优化性能,降低使用难度,做到开箱即用,提升用户体验。
下面罗列了一些在售的实例规格:包括老型号如 T4、V100,以及 Ampere 架构的A100 和 A10。基于 Ampere 架构的 A100 和 A10 更适合 Stable Diffusion 场景,原因在于 Ampere 架构提供的新的底层硬件特性能够很好地帮助 Stable Diffusion 推理提升性能。
相对而言,A100 在 Stable Diffusion XL 1.0 上的表现更加突出,其根本原因是在于 Stable Diffusion XL 1.0 的算子主要由计算密集型组成,可以充分发挥 A100 的算力优势。
而 A10 则能够在 Stable Diffusion 1.5 上提供较高性价比,同时也能对 Stable Diffusion XL 1.0 提供良好的支持。
ECS GPU 实例基于 DeepGPU 工具包在 SD 上的性能表现
如下图所示:左侧两个图表是常规性能的对比,上面是 Stable Diffusion 1.5,下面是 Stable Diffusion 2.1,整个平台是在 A10 的 GPU 上运行,相比较 xformers 的性能在不同的分辨率下提升了 60%~70%。
右上方的表格主要罗列了各种不同场景,更加接近于客户真实的使用情况,包括一些标准测试、动态尺寸,还叠加了 LORA + controlnet 等,同时还夹杂一些模型切换,可以看到基于不同的场景,性能的差异较大,最多能提升几倍,性能提升的主要来源是模型切换过程中对耗时的节省。
ECS GPU 实例的客户价值
想让客户去接受该加速方案仅有性能提升是远远不够的。DeepGPU 自诞生以来,包含 SD、LLM 在内已有上百个客户进行过测试,目前已有数十个客户在线上使用 DeepGPU 加速产品。
之所以能够获得客户的认可,主要的原因在于该产品可以帮助客户获得7大收益:
提供 S 模型性能加速,完美支持动态尺寸优化,而动态尺寸是不同客户在各种场景下能达到运营目标的必需条件,产品使用户的应用在任意分辨率下都可以达到极致的性能水准; LORA 加速性能无损。 支持全模式 controlnet 加速。 SD、LORA 和 controlnet 模型无感切换。随着模型的规模越来越大,数据总量急剧上升,存储的成本也是客户要考虑的重中之重。DeepGPU 可以通过缓存降低存储读取延时,对常见的 SD、LORA、 controlnet 模型进行无感的切换。 全网的图优化。图优化是对模型进行最大程度优化的有效方式,但其需要伴随模型编译的过程,该过程往往会比较耗时。目前,DeepGPU 可以在免编译的前提下,实现全网的图优化,从而达到性能的最大化。 能对多个模型进行高效的管理。 DeepGPU 在客户适配过程中,对客户的代码以及模型无任何侵入性。Stable Diffusion XL 极速推理
Stable Diffusion XL 专为高清图片生成而生,它能够提供更多的图像生成细节和更高的画质,是对 SD 的重大改进,也是业界生成图的重要发展趋势。性能对比见以下两个图表:
左边是 A100,右边是 A10,在分辨率较大的情况下,DeepGPU 相对 xformers 可提供 60%-70% 的性能提升,而在分辨率较小的情况下,性能优势会更大,达到 1 倍甚至 2 倍多。由此可以看出,xformers 在小分辨率上的支持较弱。同时可以看出 A100 在高分辨率下的优势非常明显。
A100 在高分辨率下优势明显,主要原因有两个,其一,A100 的算力很强,高分辨率有助于 A100 发挥算力优势;其二,A100 配备非常大的显存,可以对高分辨率下巨大的显存需求提供良好的支持,可以看到在 2048 分辨率下,A100 的性能是 A10 的近 3 倍。
除此之外,对业界主流接口的完整支持也是非常重要的一项,目前 ECS GPU 支持的主流接口包括 diffusers,webUI,comfyUI,以满足不同客户的需求。
Stable Diffusion 推理演示示例
接下来通过实例演示来更直观地体验在 DeepGPU 加持下,SD 的推理过程,如下图:这里给出了 5 个不同的场景,分别对应金字塔的 5 个层级,越接近于塔尖,对算力以及显存的需求越苛刻。
1.基于 A100 SD1.5 512x512 50step 的应用场景
这是一个非常常见的标准测试场景,通过实际运行,发现其运行时间非常短,DeepGPU 在 0.88 秒结束了整个过程,xformers 紧随其后,用时 2.27 秒,性能提升大约为 1.5 倍。
(https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/441769882876.mp4)
2.基于 A100 SD1.5 + controlnet + LORA 1024x1024 50step 场景
测试时间更长,通过测试可以发现 DeepGPU 一路领先,在 5.31 秒率先完成整个推理过程,xformers 花费 9.70 秒,性能提升约 80%。
(https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/441652358095.mp4)
3.基于 A100 SDXL base 1024x1024 50step 场景
这是 StabilityAI 今年最重要的模型更新,基于标准的 SDXL 测试。通过测试发现,DeepGPU 与 xformers 对比加速明显,DeepGPU 3.96 秒完成测试,xformers 花费 7.07 秒,性能提升约 70%。
(https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/442038691040.mp4)
4.基于 A100 SDXL base 2048x2048 50step 场景
对测试进行加码,通过测试可以发现,随着分辨率的提升,推理的时间大幅增长,DeepGPU 的耗时是 18.78 秒,xformers 完成推理的时间是 32.8 秒,性能提升约为 70%。
(https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/441179104308.mp4)
5.基于A100 SDXL base + refiner + controlnet + LORA 2048x2048 50step 场景
测试难度持续攀升,在该配置下,对算力和显存的需求极高,A100 在该配置下发挥了其硬件优势,在加持了 DeepGPU 之后性能遥遥领先,DeepGPU 用时 26.56 秒,xformers 用时 46.06 秒,在这一场景下,用户明显体验到了性能质的飞跃,性能提升约 70%。
关于 A10 的主售机型性能对比,可以在阿里云计算巢完成 A10 在五种测试场景的对比。
(https://cloud.video.taobao.com/play/u/null/p/1/e/6/t/1/441941306009.mp4)
以下展示的是阿里云目前使用 DeepGPU 进行推理的部分合作伙伴。
此外,除了阿里巴巴集团、蚂蚁集团的多个业务部门,还有超 40 家外部客户也在使用 DeepGPU 进行加速,如果有兴趣进一步了解 DeepGPU 的加速,可以联系阿里云的解决方案架构师了解详细情况。
以上就是本次分享的全部内容。