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

news2025/2/6 5:58:24

云布道师

本篇文章围绕弹性计算推理解决方案 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.coloradmin.cn/o/1328009.html

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

相关文章

水利水库大坝安全监测参数详解

变形监测 变形监测是指对工程结构或地质环境中的变形进行实时或定期的测量与监测的过程。变形监测的目的是为了及时了解结构或环境的变形情况,评估其稳定性和安全性,并采取相应的措施来预防灾害和保护人民生命财产安全。 变形监测主要包括的内容有&#…

管理层年终考核的四种方式

企业管理层是企业中的核心决策者,对企业的经营和发展有着重要的影响。因此,对企业管理层进行年终绩效环评可以更好地了解其对企业的贡献和影响,以便更好地激励和管理管理层,提高企业的绩效和效益。以下是适合管理层做年终考核的四…

数学建模笔记-拟合算法

内容:拟合算法 一.概念: 拟合的结果就是找到一个确定的曲线 二.最小二乘法: 1. 2.最小二乘法的二表示的是平方的那个2 3.求解最小二乘法: 三.评价拟合的好坏 1.总体评分和SST: 2.误差平方和SSE: 3.回…

数字滤波器的设计

一般滤波器可以分为经典滤波器和数字滤波器。 经典滤波器:假定输入信号中的有用成分和希望去除的成分各自占有不同的频带。如果信号和噪声的频谱相互重迭,经典滤波器无能为力。比如 FIR 和 IIR 滤波器等。  现代滤波器:从含有噪声的时间序…

HEA---code

import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.animation import FuncAnimationfrom matplotlib.offsetbox import OffsetImage, AnnotationBbox# 创建一个画布和坐标轴对象 fig, ax plt.subplots() # 创建一个参数t,范围是0到2π t np.lins…

Elasticsearch Reroute API 的使用

本文通过一个 Elasticsearch 集群中主分片分配不均衡的例子演示一下 Cluster reroute API 的使用。 对于 Elasticsearch 分片分配策略不了解的同学可以点一下关注,后面更文之后获取第一手资料。 环境信息 Windows 10 Elasticsearch 8.1 JDK17 初始集群状态 分片…

IspSrver-DNS

2023年全国网络系统管理赛项真题 模块B-Windows解析 题目 安装DNS服务器,根据题目创建必要正向区域和反向区域的DNS解析。把当前机器作为互联网根域服务器,创建test1.com~test100.com,并在所有正向区域中创建一条A记录,解析到本机地址。配置步骤 安装DNS服务器,根据题目创…

智能感知时代已来,汉威科技柔性传感器迎来发展新机遇

近年来,消费电子、医疗健康、智能汽车、人机交互等领域的黑科技产品不断出现,催生了许多新功能、新场景、新市场。 TWS耳机:许多TWS(真无线立体声)耳机厂商开始摒弃传统的触摸感应模式,转而采用最先进的压…

Jenkins 构建触发器指南

目录 触发远程构建 (例如,使用脚本) 描述 配置步骤 安全令牌 在其他项目构建完成后触发构建 描述 配置步骤 定时触发构建 描述 配置步骤 GitHub钩子触发GITScm轮询 描述 配置步骤 Poll SCM - 轮询版本控制系统 描述 触发远程构建 (例如,使…

国产低成本Wi-Fi SoC解决方案芯片ESP8266与ESP8285对比差异

目录 ESP8266与ESP8285对比差异微信号:dnsj5343ESP8285简介ESP8285 主要特性Wi-Fi特性射频模块CPU特性硬件软件 ES8285 8266通用开发板 ESP8266与ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与ESP8266同用一套SDK&#xf…

1.使用 Blazor 利用 ASP.NET Core 生成第一个 Web 应用

参考 https://dotnet.microsoft.com/zh-cn/learn/aspnet/blazor-tutorial/create 1.使用vs2022创建新项目 选择 C# -> Windows -> Blzxor Server 应用模板 2.项目名称BlazorApp下一步 3.选择 .NET6.0 或 .NET7.0 或 .NET8.0 创建 4.运行BlazorApp 5.全部选择是。 信…

APEX后台弱密码增强改造出现的问题及解决方法

为了加强APEX后台密码的安全性和可靠性,对其进行弱密码改造,通过改写登录函数,判断密码可靠性,在密码不符合条件(密码长度必须大于8位小于16位,其包含数字、大小写字母与特殊符号)时跳转到密码修…

easyexcel复杂表头导出

easyexcel复杂表头导出 /*** ClassName ColumnWidthStyleStrategy* Description: excel导出列长度**/ public class ExcelWidthStyleStrategy extends AbstractColumnWidthStyleStrategy {private static final int MAX_COLUMN_WIDTH 200;private final Map<Integer, Map…

flutter + firebase 云消息通知教程 (android-安卓、ios-苹果)

如果能看到这篇文章的 一定已经对手机端的 消息推送通知 有了一定了解。 国内安卓厂商这里不提都有自己的FCM 可自行查找。&#xff08;国内因无法科学原因 &#xff0c;不能使用谷歌服务&#xff09;只说海外的。 目前 adnroid 和 ios 推送消息分别叫 FCM 和 APNs。这里通过…

【小白专用】php pdo方式连接sqlserver 设置方法 更新23.12.21

windows系统的拓展相对来说比较好安装&#xff0c;直接下载对应的dll文件&#xff0c;修改php.ini配置文件即可。 添加PHP对SQL SERVER的支持 1.新建PHP 文件&#xff0c;输入内容&#xff1a; <?php echo phpinfo(); ?> 2.运行后&#xff0c;可以查看到如下数据&…

【Xcode】解决Unable to process request - PLA Update available

出现场景 IOS更新app时&#xff0c;使用Xcode上传新版本的包时&#xff0c;提示无法上传。 Unable to process request -PLA update available you currently dont have access to this membership resource. To resolve this issue ,agree to the latest program license a…

ES排错命令

GET _cat/indices?v&healthred GET _cat/indices?v&healthyellow GET _cat/indices?v&healthgreen确定哪些索引有问题&#xff0c;多少索引有问题。_cat API 可以通过返回结果告诉我们这一点 查看有问题的分片以及原因。 这与索引列表有关&#xff0c;但是索引…

Patreon怎么订阅付款?Patreon会员订阅付款保姆级教程,用虚拟VISA卡订阅Patreon作者艺术家

Patreon 是目前世界上最受欢迎的会员平台之一。 内容创作者和艺术家通常很难让粉丝在经济上支持他们。 通过使用像 Patreon 这样的平台&#xff0c;创作者和艺术家可以很容易地从他们的作品中获得报酬。粉丝也能更方便的支持他们&#xff0c;今天就教大家如何订阅Patreon 首先我…

数字门牌管理系统:提升数据质量与服务品质的关键

一、引言 在当今社会&#xff0c;各行各业对数据质量的要求越来越高。为了满足客户需求并遵循国家行业标准&#xff0c;数字门牌管理系统应运而生。该系统以建立项目建设标准规范为核心&#xff0c;旨在提升数据质量与服务品质。 二、建立标准规范&#xff0c;确保数据质量 …

CS32L010 用Keil + Jlink(或其它)烧录已有的hex文件

1. 新建一个Project 打开KEIL&#xff0c;Project-New μVision Project&#xff0c;命名并保存到某个文件夹&#xff0c;比如我命名为burn-wipi 2. 设置Output 打开Options for Target Name of Excutable设置的名称和已有的Hex文件名称相同。 3. 设置Debug选项 设置Debug方…