阿里云函数计算 x NVIDIA 加速企业 AI 应用落地

news2024/11/23 21:22:07

作者:付宇轩

前言

阿里云函数计算(Function Compute, FC)是一种无服务器(Serverless)计算服务,允许用户在无需管理底层基础设施的情况下,直接运行代码。与传统的计算架构相比,函数计算具有高灵活性和弹性扩展的特点,用户只需专注于业务逻辑的开发,系统自动处理计算资源的分配、扩展和维护。同时,函数计算作为阿里云云产品的粘合剂,可以让用户轻松的和多种阿里云服务集成,构建复杂的应用程序。加之函数计算除了提供 CPU 算力以外,还提供 GPU 算力,所以这种无缝的计算体验,使得函数计算非常适合需要弹性扩展的 AI 任务,如模型推理和图像生成,能够大幅提高效率并降低计算成本。

NVIDIA TensorRT 是英伟达为深度学习推理优化的高性能库,广泛应用于计算机视觉、语音识别等领域。TensorRT 通过一系列优化手段,如权重量化、层融合和内存优化,极大提升了模型的推理速度,同时减少了资源消耗。它支持从多种框架(如 TensorFlow、PyTorch)导出的模型,比如文生图/图生图模型和 Bert 类等语言模型。并在多种硬件平台上进行加速,使得开发者能够充分利用 GPU 的计算能力,快速部署 AI 应用。

NVIDIA TensorRT-LLM 是专为加速大语言模型(LLM,Large Language Models)推理设计的高性能深度学习推理库,旨在大幅提升推理效率、降低延迟并优化 GPU 利用率。它是 TensorRT 的扩展版本,主要针对大语言模型,具备自动优化、内存管理和量化的功能,能够在保持高精度的同时实现极低的推理延迟和高吞吐量。通过 TensorRT-LLM,开发者可以在英伟达的硬件平台上更高效地运行大语言模型,DiT 类模型,多模态视觉语言大模型等。

阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 的合作基于双方在提效降本方面的共同目标。阿里云函数计算作为无服务器架构,凭借其高灵活性、弹性扩展能力以及对 GPU 算力的支持,为 AI 任务如模型推理和图像生成提供了高效的计算平台。而 NVIDIA TensorRT/TensorRT-LLM 则通过针对大模型的优化,显著提升推理效率、降低延迟,并优化 GPU 利用率。在这种背景下,双方的合作可谓一拍即合,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。

Stable Diffusion 的推理效率革新

Stable Diffusion 是一种基于扩散模型的深度学习架构,广泛应用于生成高质量图像的任务中。其工作原理是通过逐步将随机噪声转化为清晰的图像,模型在反复推理过程中将潜在的低质量图像逐渐“清晰化”,直至生成高分辨率的最终输出。与传统生成模型不同,Stable Diffusion 通过在潜在空间进行扩散过程建模,有效减少了计算资源的消耗,同时提升了图像生成的质量和多样性。

在图像生成领域,Stable Diffusion 的重要性体现在其广泛的应用和出色的生成能力。它不仅可以生成逼真的图像,还能够在风格化图像、艺术创作、设计和广告等多个领域中提供创意支持。此外,Stable Diffusion 以其开放性和高效性,成为生成模型中的一大创新,推动了 AI 驱动的创作和设计行业的发展。

基于函数计算大幅降低部署 Stable Diffusion 应用的复杂性

通常用户自己构建一套 Stable Diffusion 应用一般需要四个大的步骤,在每一个步骤中都有不小的工作量和技术门槛。

  • 购买 GPU 资源: 众所周知,SD 模型推理是需要使用 GPU 运行的,所以首先用户需要先购买 GPU 卡,除了消费级的 30 系,40 系,还有 Ampere 系列,Ada 系列的专业推理卡,但无论哪种卡,其持有成本都不低。

    • 企业用户,在需求量较大的情况下,目前市面上并不好买卡。
    • GPU 买来后需长期持有,可能存在较大的使用率空窗期。
    • AIGC 本质是稀疏调用场景,GPU 的资源利用普遍偏低。
  • 部署 Stable Diffusion 推理服务: 虽然现在有 Stable Diffusion WebUI 这种简化使用的前端 UI,但是整体部署还是有一定的技术门槛。

    • 从 Github 获取 Stable Diffusion WebUI。
    • 下载 Stable Diffusion 不同版本的模型,不同版本的插件。
    • 构建 GPU 服务,部署 Stable Diffusion WebUI。
  • 出图服务 API 化: Stable Diffusion WebUI 虽然足够方便,但是在企业用户面向 C 端用户的场景,出图服务 API 化是刚需。

    • Stable Diffusion 模型本身不支持并行推理,Stable Diffusion WebUI 也不支持多租户管理能力。
    • 企业生产级应用需要 API 化,提高并发性能,需要用户自行实现。
  • 推理性能调优: 推理性能的好坏直接影响单位时间内的出图效率,GPU 卡数量固定前提下的总出图数量,所以都需要用户对默认的推理框架进行优化。

    • 默认推理框架的推理效率不高,且在内存分配方面容易出现问题(当有任务排队时,内存会持续增加,直到 OOM)。
    • 适配开源推理框架,提高推理效率,提高出图量或降低资源成本,需要用户自行实现。

如何使用函数计算构建 Stable Diffusion 应用,只需一步。在函数计算应用中心找到 Stable Diffusion 应用模板 [ 1] ,一键部署即可自动完成上述那些复杂的步骤。

  • GPU 资源: 函数计算自带 GPU 资源,包含 Tesla 系列(函数计算提供的 T4 GPU),Ampere 系列,Ada 系列。

    • GPU 实例分日间夜间计费,夜间时间为北京时间每日 0 时~6 时,夜间单价是日间单价的 5 折,即使需要长时间持有 GPU,成本也会有大幅降低。
    • GPU 阶梯定价 [ 2] ,用量越大,成本越低,阶梯 3 单价比 阶梯 1 单价便宜 33%。
    • 支持极速模式,既对 GPU 实例做预置快照处理,提前锁定弹性资源,有请求时从预置快照极速拉起弹性实例,避免冷启动影响(CPU 毫秒级,GPU 秒级),客户只需为预置快照付少量成本,兼顾了成本和弹性效率。
  • 部署 Stable Diffusion 推理服务: 自动在 GPU 实例中部署 Stable Diffusion 模型推理服务,以及 Stable Diffusion WebUI,同时还会自带模型/插件管理界面,各参数配置界面,图片管理/统计页面,完善的可观测、日志能力等。

  • 出图服务 API 化: 自带 Stable Diffusion Serverless API 模式,通过 API 出图提升并行效率,消除切换模型时的时延问题。

  • 推理性能调优: 内置 TensorRT 优化过的 Stable Diffusion 模型(支持 Ampere 系列,Ada 系列 GPU),大幅提升推理效率。

基于 TensorRT 大幅提升 Stable Diffusion 推理效率

我们对 Stable Diffusion V1.5 和 Stable Diffusion XL 1.0 两个模型,在 Ampere 系列和 Ada 系列上分别做的测试验证。

  • 同卡型对比,无论是 SD1.5 还是 SDXL1.0,TRT 优化模型对比原始模型,平均推理耗时均缩减了 50% 以上。
  • 不同卡型对比,无论是 SD1.5 还是 SDXL1.0,L20 对比 A10,平均推理耗时均缩减了 30%~50%。

通过以上的数据不难看出,使用 NVIDIA TensorRT 优化后的模型推理效率提升 50%,那就意味着,在相同的时间内,用户的出图量可以多一倍,或者出图服务的 QPS 可以提升一倍。再加上基于函数计算构建 Stable Diffusion 应用的便利性,和函数计算 GPU 计算资源的高利用率特性,真正做到了降本提效,使业务方可以有更多的空间做产品竞争力的提升。

大语言模型的推理效率革新

阿里云 Qwen2 是一款先进的大语言模型,具备强大的理解和生成能力。它通过对海量文本数据的训练,能够在多种 NLP 应用中展现出卓越的性能,包括文本生成、机器翻译、问答系统、文本摘要等。Qwen2 采用了最新的模型架构和优化技术,显著提升了推理速度和生成质量,使其在处理复杂语言任务时表现出色。

在实际应用中,Qwen2 可以帮助企业和开发者自动化处理自然语言数据,广泛应用于智能客服、内容创作、数据分析、对话系统等场景。通过高效的语言理解和生成能力,Qwen2 大幅提升了自然语言处理任务的自动化和准确性,推动了多个行业的数字化转型与创新。

Qwen2 有 200B 的商业版模型,也有像 7B 这种的开源模型,而且在很多场景下,AI 应用的整体流程中,有一些环节用开源的大语言模型完全可以胜任,也能避免商业版模型 QPS 限制的问题,所以投入产出比更好。比如 Embedding 服务,翻译服务,代码问答服务,智能知识库等。

基于函数计算快速部署 Qwen2 7B

目前市面上有多种大语言模型托管的平台,像海外的 HuggingFace,Ollama,国内的魔搭 ModelScope。这些模型托管平台均在函数计算应用中心中有应用模板,可以快速一键进行部署。

比如以 Ollama 为例,在应用中心中通过应用模板一键部署好 Ollama 服务,然后就可以通过 Ollama 的 API 下载 Qwen2 7B 模型,并运行在函数计算 GPU 资源上。

可以同样在函数计算应用中心一键部署 Ollama Open WebUI 应用,通过白屏化界面下载 Qwen2 7B。

基于 TensorRT-LLM 加速 Qwen2 7B 推理

我们测试对比了 TensorRT-LLM 和 vLLM 的推理效果:

  • Qwen/QWen2-7B FP16:对比平均响应时间(RT)指标,TensorRT-LLM 对比 vLLM 改善了 21%。
  • QWen/QWen2-7B FP8:对比平均响应时间(RT)指标,TensorRT-LLM 对比 vLLM 改善了 28%。

综上,使用 TensorRT-LLM 推理框架使 Qwen2 7B 的推理性能有近 30% 的提升,再加上函数计算 GPU 计算资源高效率、高利用率的特性,使用户在构建基于 LLM 的 AI 应用时在稳定性、性能、效率、成本各方面都会有大幅提升,如虎添翼。

总结

目前 NVIDIA TensorRT-LLM 已经支持了市面上所有主流的开源 LLM,同时函数计算应用中心使用 GPU 资源的应用都已支持 TensorRT-LLM 推理框架,此次云栖发布的云应用开发平台 CAP 也会全面支持 TensorRT-LLM 推理框架。

阿里云函数计算与 NVIDIA 技术团队的合作具有重要的战略意义,双方通过结合各自的技术优势,为 AI 技术的高效落地提供了强有力的支持。阿里云函数计算以其无服务器架构和弹性扩展能力,使开发者能够在无需管理底层基础设施的情况下灵活处理 AI 任务。而 NVIDIA 则通过其高性能的推理引擎,如 TensorRT,TensorRT-LLM,为深度学习模型提供了极高的计算效率和优化能力。两者的结合不仅能够加速复杂模型的推理速度,还能大幅降低 AI 应用的运行成本。

这种合作推动了 AI 技术的实际应用落地,特别是在计算密集型的任务如图像生成、自然语言处理等领域,能够通过无缝集成的高效计算平台,大规模部署 AI 模型。开发者可以借助这种平台,快速开发并迭代 AI 产品,从而缩短从概念到实际应用的时间。同时,这种合作还支持企业灵活应对动态的计算需求,特别是在面对高并发或大规模任务时,实现弹性扩展和高效资源管理,为 AI 在各个行业的广泛应用提供了坚实的技术基础。

函数计算按量付费、资源包 8 折优惠,以及面向中国站的中国内地地域夜间 5 折优惠活动正在进行中:https://www.aliyun.com/product/fc

相关链接:

[1] Stable Diffusion 应用模板

https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Ffcnext.console.aliyun.com%2Fapplications%2Fcreate%3Ftemplate%3Dfc-stable-diffusion-v3&clearRedirectCookie=1&lang=zh

[2] GPU 阶梯定价

https://help.aliyun.com/zh/functioncompute/fc-3-0/product-overview/product-changes-changes-of-billable-items-resource-plans-and-trial-quota-of-function-compute

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

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

相关文章

极星Polestar EDI 项目案例

近期国内汽车行业供应商J公司收到了极星Polestar的邀请,需要通过EDI与其国内工厂传输业务数据。本案例将为大家介绍对接过程以及实施方案。 梳理需求文档 极星Polestar的EDI需求与Volvo一样,传输协议选择 OFTP,报文标准为EDIFACT&#xff0…

Swing模拟银行柜台系统

> 这是一个基于JavaSwing实现的模拟银行柜台系统。 > 具有管理员、柜员、客户三种登录角色。 > 支持开户、注册、存取款、转账、汇款、账单查询等功能。 > 本项目适合JAVA初学者作为入门学习项目。 一、部分界面演示 二、基础依赖 技术/框架版本描述Java11编…

Vue前端浏览器指纹获取:数字世界的身份密码

程序员必备宝典https://tmxkj.top/#/一个开源的JavaScript库,它通过收集用户浏览器的多种属性(如屏幕分辨率、浏览器插件、字体、Canvas和WebGL等)来生成一个独特的浏览器指纹,用于识别和追踪用户。 #Github地址 GitHub - finger…

Uniapp时间戳转时间显示/时间格式

使用uview2 time 时间格式 | uView 2.0 - 全面兼容 nvue 的 uni-app 生态框架 - uni-app UI 框架 <text class"cell-tit clamp1">{{item.create_time}} --- {{ $u.timeFormat(item.create_time, yyyy-mm-dd hh:MM:ss)}} </text>

apply、call和bind的作用和区别

apply与call 首先介绍一下apply与call&#xff0c;因为这两个方法的功能和使用方式都差不多&#xff0c;只是传参的方式不同。call和apply的作用都是改变函数运行时的上下文&#xff08;context&#xff09; 语法 fun.call(thisArg, arg1, arg2, ...)fun.apply(thisArg, arg…

类的难疑点

一、知识点 1、类的属性和对象属性&#xff08;实例属性&#xff09; shuxing"123" self.shuxing"123" 2、类的对象 self.loginMyclass() loginMyclass() 3、访问类属性和方法的操作 通过“类名.属性”访问&#xff1a;Myclass.shuxing 通…

详解常见排序

目录 ​编辑 插入排序 希尔排序&#xff08;缩小增量排序&#xff09; 选择排序 冒泡排序 堆排序 快速排序 hoare版 挖坑法 前后指针法 非递归版 归并排序 递归版 非递归版 计数排序 声明&#xff1a;以下排序代码由Java实现&#xff01;&#xff01;&#xff01…

【研赛D题成品论文】24华为杯数学建模研赛D题成品论文(第一问)+可运行代码丨免费分享

2024华为杯研究生数学建模竞赛D题精品成品论文已出&#xff01; D题 大数据驱动的地理综合问题 一、问题分析 问题一&#xff1a;目标&#xff1a;利用1990-2020年的数据&#xff0c;针对降水量和土地利用的时空演化特征进行描述。数据&#xff1a;两个核心变量&#xff0c;一…

电商效果图渲染神器:轻松高效出图

在这个电商行业飞速发展的今天&#xff0c;离不开商品图的效果。而电商效果图同样离不开渲染&#xff0c;而大量的渲染需求有需要大量的机器&#xff0c;还要追求更快的渲染速度和更稳定的性能。毕竟&#xff0c;谁不想快点完成项目又省心呢&#xff1f; 而云渲染服务是个很好…

C++之STL—deque容器

双端数组 区别于 vector (单端数组)&#xff0c; 构造函数 注意&#xff1a;读取数据时&#xff0c;const修饰保证函数内只能读取&#xff0c;不能修改数据 void print(const deque<int>& deq) {for (deque<int>::const iterator it deq.begin(); it ! deq.e…

使用 Nuxt Kit 的构建器 API 来扩展配置

title: 使用 Nuxt Kit 的构建器 API 来扩展配置 date: 2024/9/24 updated: 2024/9/24 author: cmdragon excerpt: 摘要:本文详细介绍了如何使用 Nuxt Kit 的构建器 API 来扩展和定制 Nuxt 3 项目的 webpack 和 Vite 构建配置,包括扩展Webpack和Vite配置、添加自定义插件、…

正向科技|格雷母线定位系统的设备接线安装示范

格雷母线安装规范又来了&#xff0c;这次是设备接线步骤 格雷母线是格雷母线定位系统的核心部件&#xff0c;沿着移动机车轨道方向上铺设&#xff0c;格雷母线以相互靠近的扁平状电缆与天线箱电磁偶合来进行信号传递&#xff0c;从而检测得到天线箱在格雷母线长度方向上的位置。…

OpenLayers 开源的Web GIS引擎 - 添加地图控件地图控件

中心点按钮、地图放大缩小滑块、全图和比例尺控件 直接上代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.…

python爬虫案例——腾讯网新闻标题(异步加载网站数据抓取,post请求)(6)

文章目录 前言1、任务目标2、抓取流程2.1 分析网页2.2 编写代码2.3 思路分析前言 本篇案例主要讲解异步加载网站如何分析网页接口,以及如何观察post请求URL的参数,网站数据并不难抓取,主要是将要抓取的数据接口分析清楚,才能根据需求编写想要的代码。 1、任务目标 目标网…

基于深度学习的树叶识别系统的设计与实现(pyqt5 python3.9 yolov8 10000张数据集)

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

vector的模拟实现以及oj题

前言 上篇博客介绍了voctor的大部分的重要接口&#xff0c;本篇博客将模拟实现部分接口的效果。 vector的模拟实现 vector的模拟实现分为两个文件进行实现&#xff1a;vector.h、test.cpp vector.h 该部分为文件的主要部分&#xff0c;分别实现了vector的以下功能&#xf…

VSCode扩展连接虚拟机MySQL数据库

在虚拟机安装MySQL vscode通过ssh远程登录Ubuntu 在vscode终端运行以下命令。 sudo apt-get install mysql-server-5.7 用以下命令确认MySQL是否安装完成。 sudo mysql MySQL安装成功。 在VSCode安装SQL扩展 扩展名&#xff1a;MySQL Shell for VS Code。 安装完成后&am…

oracle各种版本在各种系统上安装配置需求快速参考

Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Solaris and MS Windows Operating Systems Installation and Configuration Requirements Quick Reference (12.1/12.2/18c/19c) (Doc ID 1587357.1)

(14)关于docker如何通过防火墙做策略限制

关于docker如何通过防火墙做策略限制 1、iptables相关问题 在Iptables防火墙中包含四种常见的表&#xff0c;分别是filter、nat、mangle、raw。 filter&#xff1a;负责过滤数据包。 filter表可以管理INPUT、OUTPUT、FORWARD链。 nat&#xff1a;用于网络地址转换。 nat表…

边缘计算网关在工业中的应用

在工业4.0和智能制造的浪潮中&#xff0c;边缘计算网关扮演着至关重要的角色。AIoTedge边缘计算网关&#xff0c;作为工业互联网的关键组件&#xff0c;通过其强大的数据处理能力和智能分析功能&#xff0c;正在改变工业生产的面貌。 边缘计算网关的定义与角色 边缘计算网关是…