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

作者:付宇轩

前言

阿里云函数计算(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.xdnf.cn/news/149876.html

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

相关文章

ffmpeg解封装解码

文章目录 封装和解封装封装解封装 相关接口解封装的流程图关于AVPacket的解释如何区分不同的码流,视频流,音频流?第一种方式av_find_best_stream第二种方式 通过遍历流 代码 封装和解封装 封装 是把音频流 ,视频流,字…

LeetCode题练习与总结:删除链表中的节点--237

一、题目描述 有一个单链表的 head,我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的,并且保证给定的节点 node 不是链表中的最后一个节点。 删除给定的节点。注意&…

实例讲解电动汽车驱动扭矩控制策略及Simulink建模方法

电动汽车完成上电后进入Ready状态,此时车辆具备行车条件,处于行车准备状态。驾驶员挂挡(D挡或R挡)后,踩油门踏板即可控制车辆开始行车。对于电动汽车来说,驱动行车控制过程一般为,VCU接收Ready状…

高侧电流检测电路设计

1 简介 此单电源、高侧、低成本、电流检测解决方案可以检测 50mA 和 1A 之间的负载电流,并将其转换为 0.25V至 5V 的输出电压。高侧检测使系统能够识别接地短路,并且不会对负载造成接地干扰。 2 设计目标 2.1 输入 2.2 输出 ​​​ 2.3 电…

轴承介绍以及使用

轴承(Bearing)是在机械传动过程中起固定、旋转和减小载荷摩擦系数的部件。也可以说,当其它机件在轴上彼此产生相对运动时,用来降低运动力传递过程中的摩擦系数和保持转轴中心位置固定的机件。 轴承是当代机械设备中一种举足轻重的…

在java中怎么把对象转换成json,可以使用jackson

简述 在Spring Boot应用中,将Java对象转换为JSON字符串通常有两种主要方法:使用Jackson库或使用Gson库。由于Spring Boot默认集成了Jackson库,所以我们将重点介绍如何使用Jackson来进行对象到JSON的转换。 第1步:Maven添加依赖 …

STM32 Modbus主从站实例程序-FreeRTOS

资料下载地址:STM32 Modbus主从站实例程序-FreeRTOS​​​​​​​ 基本设置 启用Freertos,添加任务 设置中断优先级 设置长生成MDK工程 工程里面添加Modbus库 修改main.c 修改freertos.c 编译下载到单片机,完美运行

深入解析 helpTransfer 方法:多线程协作中的哈希表扩容

文章目录 什么是哈希表哈希表的问题:扩容扩容的挑战扩容的原理helpTransfer 方法检查是否正在扩容生成扩容标记并检查条件判断是否需要更多线程帮助加入搬家工作返回新表或旧表 什么是哈希表 哈希表(HashMap)是一种常用的数据结构&#xff0…

熬夜2月,终成人人可自建的AI网站

一、前言 自小码哥AI上线以来,备受粉丝们的关注,拖更了两个月,每日加班加点研发系统,2.0终于上线了。 作为一名年过三十的程序员,我深刻体会到了职场的残酷和不确定性,特别是这两年,经济不景气…

ROS理论与实践学习笔记——2 ROS通信机制之服务通信

服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A,用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输…

基于Java语言的桩底层直连协议和云快充协议

‌云快充协议‌是一种标准通信协议,主要用于电动车与充电桩之间的数据交换。该协议包含了充电请求、状态查询、支付等多个功能模块,这些功能的实现不仅需要对协议进行深入理解,还需要编写相应的代码进行封装。云快充协议旨在解决市场上快充标…

【C++前缀和 状态压缩】1177. 构建回文串检测|1848

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 位运算、状态压缩、枚举子集汇总 LeetCode 1177. 构建回文串检测 难度分:1848 给你一个字符串 s,请你对 s 的子串进行检测。 每次检测&#x…

Python OpenCV精讲系列 - 基于深度学习的目标检测(十二)

💖💖⚡️⚡️专栏:Python OpenCV精讲⚡️⚡️💖💖 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计,从基础概念入手,逐步深入到图像处理、特征检测、物体识…

C++ | Leetcode C++题解之第434题字符串中的单词数

题目&#xff1a; 题解&#xff1a; class Solution { public:int countSegments(string s) {int segmentCount 0;for (int i 0; i < s.size(); i) {if ((i 0 || s[i - 1] ) && s[i] ! ) {segmentCount;}}return segmentCount;} };

await命令使用注意点

第一点&#xff0c;前面已经说过&#xff0c;await 命令后面的 Promise 对象&#xff0c;运行结果可能是 rejected&#xff0c;所以最好把 await 命令放在 try...catch 代码块中 第二点&#xff0c;多个 await 命令后面的异步操作&#xff0c;如果不存在继发关系&#xff0c;最…

最优化理论与自动驾驶(二-补充):求解算法(梯度下降法、牛顿法、高斯牛顿法以及LM法,C++代码)

在之前的章节里面&#xff08;最优化理论与自动驾驶&#xff08;二&#xff09;&#xff1a;求解算法&#xff09;我们展示了最优化理论的基础求解算法&#xff0c;包括高斯-牛顿法&#xff08;Gauss-Newton Method&#xff09;、梯度下降法&#xff08;Gradient Descent Metho…

FileLink跨网文件传输 | 跨越网络边界的利器,文件传输不再受限

在当今数字化时代&#xff0c;企业与个人对文件传输的需求不断增长&#xff0c;尤其是在跨网环境中。传统的文件传输方式常常受到网络带宽、传输速度和安全性的限制&#xff0c;给用户带来了诸多不便。FileLink 的出现&#xff0c;为这一难题提供了完美解决方案&#xff0c;让文…

Python 聊聊有内置函数,又该怎么学习内置函数

前言 python有内置函数的概念&#xff0c;从Python3.x开始&#xff0c;内置函数位于builtins模块&#xff0c;比如我们常用的内置函数len()&#xff0c;其实它是builtins模块下的属性&#xff0c;我们也可以builtins.len&#xff08;&#xff09;去访问&#xff0c;当然因为每个…

鼎曼白茶贡眉:贮留芳香记忆,书写老茶传奇

在茶的世界 每一叶都承载着岁月的印记 每一香都凝聚着时光的韵味 其中 有一种温润如玉、恬淡从容的存在 它便是2017年贡眉 这款经过七年时光沉淀与陈化的白茶 以其独特的韵味与品质 吸引了无数茶客的青睐 今日 让我们一同领略2017年贡眉的魅力 PART 01 FIRST OF ALL …

力扣【118-杨辉三角】【数组-C语言】

题目&#xff1a;力扣-118 杨辉三角&#xff1a;&#xff08;算法思路&#xff09; 1. 每行第一个数和最后一个数都是1 2. 把杨辉三角左端对齐&#xff0c;从第三行开始&#xff0c;非首尾的元素值等于上一行同列的元素与该元素之前的元素之和&#xff0c;即 t [ j ] r e t …