阿里云赵大川:弹性计算推理解决方案拯救 AIGC 算力危机

云布道师

本篇文章围绕弹性计算推理解决方案 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大收益:

  1. 提供 S 模型性能加速,完美支持动态尺寸优化,而动态尺寸是不同客户在各种场景下能达到运营目标的必需条件,产品使用户的应用在任意分辨率下都可以达到极致的性能水准;
  2. LORA 加速性能无损。
  3. 支持全模式 controlnet 加速。
  4. SD、LORA 和 controlnet 模型无感切换。随着模型的规模越来越大,数据总量急剧上升,存储的成本也是客户要考虑的重中之重。DeepGPU 可以通过缓存降低存储读取延时,对常见的 SD、LORA、 controlnet 模型进行无感的切换。
  5. 全网的图优化。图优化是对模型进行最大程度优化的有效方式,但其需要伴随模型编译的过程,该过程往往会比较耗时。目前,DeepGPU 可以在免编译的前提下,实现全网的图优化,从而达到性能的最大化。
  6. 能对多个模型进行高效的管理。
  7. 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 的加速,可以联系阿里云的解决方案架构师了解详细情况。

以上就是本次分享的全部内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/238036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pentaho】kettle读取Hive表不支持bigint和timstamp类型解决。

一、bigint类型 报错: Unable to get value BigNumber(16) from database resultset显示kettle认为此应该是decimal类型(kettle中是TYPE_BIGNUMBER或称BigNumber),但实际hive数据库中是big类型。 修改kettle源码解决: kettle中java.sql.Types到kettle…

MFC使用高速绘图控件high-speed Charting Control绘制柱形图

1. 创建MFC单文档工程BarChartDemo。 2. 在工程文件夹下新建文件夹ChartCtrl,将ChartCtrl源码放入,如下图所示。在工程中添加这些项,项目——添加——现有项,全部添加。 3. 添加一个对话框,ID为IDD_DLG_BAR,类名为CBarDlg。 4. 在对话框中添加Custom Control控件,将控…

OSPF面试总结

OSPF 基本特点 属于IGP、LS支持无类域间路由没有环路(区域内运行LS、区域间是DV,所以所有的区域要和区域0相连)收敛速度快使用组播发送数据 224.0.0.5、224.0.0.6 什么时候用224.0.0.5?支持多条等价路由支持协议报文认证 OSPF路由的计算过程…

Python 爬虫之下载视频(二)

爬取某Y的视频链接和标题 文章目录 爬取某Y的视频链接和标题前言一、基本思路二、程序解析阶段三、程序处理阶段总结 前言 这篇内容就简单给大家写个如何从网页上爬取某B主 主页 页面上所有的视频链接和视频标题。 这篇是基础好好看,下篇会根据这篇的结果做一个批…

如何开发专属花店展示平台小程序?

如今,微信小程序已经成为了花店行业拓展客户资源的重要工具。通过开发一个专属花店小程序,你可以为自己的花店带来更多的曝光和客户资源。那么,如何开发一个专属花店小程序呢?接下来,我们将一步步为你详细讲解。 首先&…

产能过剩的今天,企业的方向在哪里?

随着经济的发展和技术的进步,许多行业都面临着产能过剩的问题。在产能过剩的背景下,企业如何找到新的发展方向,成为了一个亟待解决的问题。本文将探讨产能过剩时代下,企业应该如何寻找新的发展之路。 接下来我们就来看看当今的产…

共建还是对抗?BTC 铭文风波中开发者、矿工与社区的平衡艺术

近期,比特币铭文正加速进入一场争议与危机的漩涡。12 月 6 日,比特币核心开发人员 Luke Dashjr 在 X 表示,铭文(Inscriptions)正在利用比特币核心客户端 Bitcoin Core 的一个漏洞向区块链发送垃圾信息,Bitc…

MUX VLAN配置

MUX VLAN简介 产生背景 MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。 例如,在企业网络中,企业员工和企业客户可以访问企业的服务器。对于企业来说,希望企业内部员工之间可以互相交流&#…

使用工具类Exectors创建线程池

大型并发项目 不能使用Executors 通过ThreadPoolExector的方式 核心线程配置方式: 计算密集型的任务 核心线程数量 CPU的核数 1 IO密集型的任务 核心线程数量 CPU的核数*2 演示: Callable import java.util.concurrent.Callable;public class MyCallable implements Callab…

R语言贝叶斯网络模型、INLA下的贝叶斯回归、R语言现代贝叶斯统计学方法、R语言混合效应(多水平/层次/嵌套)模型

目录 ㈠ 基于R语言的贝叶斯网络模型的实践技术应用 ㈡ R语言贝叶斯方法在生态环境领域中的高阶技术应用 ㈢ 基于R语言贝叶斯进阶:INLA下的贝叶斯回归、生存分析、随机游走、广义可加模型、极端数据的贝叶斯分析 ㈣ 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估…

基于ssm房屋租赁平台的设计与开发论文

摘 要 目前对于在外的人员来说租赁房屋是最基本的问题。对于房屋的租赁可以选择直接找房东、找专业的房屋租赁公司和自己在网上找房屋。自己找房东的问题在于需要时间,而且对于需要提前租赁房屋的需要多次跑到小区,找中介租赁房屋的问题在于费用问题&am…

养老院自助饮水机(字符设备驱动)

目录 1、项目背景 2、驱动程序 2.1 三层架构 2.2 驱动三要素 2.3 字符设备驱动 2.3.1 驱动模块 2.3.2 应用层 3、设计实现 3.1 项目设计 3.2 项目实现 3.2.1 驱动模块代码 3.2.2 用户层代码 4、功能特性 5、技术分析 6. 总结与未来展望 1、项目背景 养老院的老人…

研究生课程 |《数值分析》复习

搭配往年真题册食用最佳。

Java_集合进阶Map集合

一、Map集合 1.1 Map概述体系 各位同学,前面我们已经把单列集合学习完了,接下来我们要学习的是双列集合。首先我们还是先认识一下什么是双列集合。 所谓双列集合,就是说集合中的元素是一对一对的。Map集合中的每一个元素是以keyvalue的形式…

mask rcnn训练基于labelme生成的数据集

1.下载mask rcnn源码 此处使用的mask rcnn源码来自于B站博主霹雳吧啦Wz 2.安装labelme sudo apt install python3-pyqt5 pip install labelme如果运行出现QT的错误,可能是与我一样遇到自己装了C版本的QT 解决:运行命令 unset LD_LIBRARY_PATH2.使用lab…

redis主从复制(在虚拟机centos的docker下)

1.安装docker Docker安装(CentOS)简单使用-CSDN博客 2.编辑3个redis配置 cd /etc mkdir redis-ms cd redis-ms/ vim redis6379.conf vim redis6380.conf vim redis6381.conf# master #端口号 port 6379#设置客户端连接后进行任何其他指定前需要使用的密码 requirepass 12345…

springMVC-处理json和HttpMessageConverter<T>

细节说明:目标方法正常返回JSON需要的数据,可以是一个对象,也可以是一个集合,这里我们返回的是一个Dog对象>转成Json数据格式 示例案例: 在springmve中,如果我们返回一个集合List等,或者返回…

钓鱼篇(下)

选择水域 比较常用方式如传统的邮箱打点、dns劫持欺骗等方式 其实生活中有非常多攻击点(主要是人们总是自信地认为黑客不会在他们的身边) 班级群里面、教师群等社交关系群里面,本身具备了高信任的特点,所以制作点热点话题,打开一个URL并不…

eNSP错误40,原因三:windows10自带虚拟化软件Hyper-V

问题描述 Hyper-V软件与VirtualBox不兼容,一旦开启Hyper-V的话eNSP的路由器就会无法开启,显示ERROR 40 原理 大家注意看hypervisor的两种类型: 左边的是开启hypervisor的Type-1,hypervisor在启用的时候,宿主机也相…

两种经典的现货白银假突破类型

假突破是现货白银市场中一种具有反大众性的市场行为。它通常和一种强势的市场行为突破联系在一起,但是它的方向是和突破完全相反的,识别假突破的类型,有助于降低我们亏损的风险,那如何识别呢?下面我们来介绍两种假突破…