本篇文章围绕弹性计算推理解决方案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提供良好的支持。
(1)ECS GPU实例基于DeepGPU工具包在SD上的性能表现
如下图所示:左侧两个图表是常规性能的对比,上面是Stable Diffusion 1.5,下面是Stable Diffusion 2.1,整个平台是在A10的GPU上运行,相比较xformers的性能在不同的分辨率下提升了60%~70%。
右上方的表格主要罗列了各种不同场景,更加接近于客户真实的使用情况,包括一些标准测试、动态尺寸,还叠加了LORA + controlnet等,同时还夹杂一些模型切换,可以看到基于不同的场景,性能的差异较大,最多能提升几倍,性能提升的主要来源是模型切换过程中对耗时的节省。
(2)ECS GPU实例的客户价值
想让客户去接受该加速方案仅有性能提升是远远不够的。DeepGPU自诞生以来,包含SD、LLM在内已有上百个客户进行过测试,目前已有数十个客户在线上使用DeepGPU加速产品。
之所以能够获得客户的认可,主要的原因在于该产品可以帮助客户获得7大收益:
- 提供SD模型性能加速,完美支持动态尺寸优化,而动态尺寸是不同客户在各种场景下能达到运营目标的必需条件,产品使用户的应用在任意分辨率下都可以达到极致的性能水准;
- LORA加速性能无损。
- 支持全模式 controlnet加速。
- SD、LORA和controlnet模型无感切换。随着模型的规模越来越大,数据总量急剧上升,存储的成本也是客户要考虑的重中之重。DeepGPU可以通过缓存降低存储读取延时,对常见的SD、LORA、 controlnet模型进行无感的切换。
- 全网的图优化。图优化是对模型进行最大程度优化的有效方式,但其需要伴随模型编译的过程,该过程往往会比较耗时。目前,DeepGPU可以在免编译的前提下,实现全网的图优化,从而达到性能的最大化。
- 能对多个模型进行高效的管理。
- DeepGPU在客户适配过程中,对客户的代码以及模型无任何侵入性。
(3)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倍。
2、基于A100 SD1.5 + controlnet + LORA 1024x1024 50step场景
测试时间更长,通过测试可以发现DeepGPU一路领先,在5.31秒率先完成整个推理过程,xformers花费9.70秒,性能提升约80%。
3、基于A100 SDXL base 1024x1024 50step场景
这是StabilityAI今年最重要的模型更新,基于标准的SDXL测试。通过测试发现,DeepGPU与xformers对比加速明显,DeepGPU 3.96秒完成测试,xformers花费7.07秒,性能提升约70%。
4、基于A100 SDXL base 2048x2048 50step场景
对测试进行加码,通过测试可以发现,随着分辨率的提升,推理的时间大幅增长,DeepGPU的耗时是18.78秒,xformers完成推理的时间是32.8秒,性能提升约为70%。
5、基于A100 SDXL base + refiner + controlnet + LORA 2048x2048 50step场景
测试难度持续攀升,在该配置下,对算力和显存的需求极高,A100在该配置下发挥了其硬件优势,在加持了DeepGPU之后性能遥遥领先,DeepGPU用时26.56秒,xformers用时46.06秒,在这一场景下,用户明显体验到了性能质的飞跃,性能提升约70%。
关于A10的主售机型性能对比,可以在阿里云计算巢完成A10在五种测试场景的对比。
以下展示的是阿里云目前使用DeepGPU进行推理的部分合作伙伴。
此外,除了阿里巴巴集团、蚂蚁集团的多个业务部门,还有超40家外部客户也在使用DeepGPU进行加速,如果有兴趣进一步了解DeepGPU的加速,可以联系阿里云的解决方案架构师了解详细情况。
DeepSD 4.0已在计算巢上线,感兴趣的朋友可以直接体验,链接如下:
钉钉扫码加入【LLM大语言模型-阿里云支持群】
钉钉扫码加入【SD方案-阿里云支持群】
以上就是本次分享的全部内容。