0

0

A800显著超越Llama2推理RTX3090与4090,表现优异的延迟和吞吐量

WBOY

WBOY

发布时间:2024-01-04 13:05:00

|

1828人浏览过

|

来源于51CTO.COM

转载

大型语言模型 (LLM) 在学界和业界都取得了巨大的进展。但训练和部署 LLM 非常昂贵,需要大量的计算资源和内存,因此研究人员开发了许多用于加速 LLM 预训练、微调和推理的开源框架和方法。然而,不同硬件和软件堆栈的运行时性能可能存在很大差异,这使得选择最佳配置变得困难。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

最近,一篇题为《Dissecting the Runtime Performance of the Training, Fine-tuning, and Inference of Large Language Models》的新论文从宏观和微观的角度详细分析了 LLM 训练、微调、推理的运行时性能。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

请点击以下链接查看论文:https://arxiv.org/pdf/2311.03687.pdf

AIBox 一站式AI创作平台
AIBox 一站式AI创作平台

AIBox365一站式AI创作平台,支持ChatGPT、GPT4、Claue3、Gemini、Midjourney等国内外大模型

下载

具体来说,这项研究首先在三个8-GPU上对不同规模(7B、13B和70B参数)的LLM进行了面向预训练、微调和服务的无需改变原义,全程性能基准测试。测试涉及了具有或不具有单独优化技术的平台,包括ZeRO、量化、重新计算和FlashAttention。然后,该研究进一步提供了LLM中计算和通信运算符的子模块的详细运行时分析

方法介绍

该研究的基准测试采用自上而下的方法,涵盖 Llama2 在三个 8-GPU 硬件平台上的端到端步骤时间性能、模块级时间性能和运算符时间性能,如图 3 所示。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

三个硬件平台分别为 RTX4090、RTX3090 和 A800,具体规格参数如下表 1 所示。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

在软件方面,该研究比较了 DeepSpeed 和 Megatron-LM 在预训练和微调方面的端到端步骤时间。为了评估优化技术,该研究使用 DeepSpeed 逐一启用如下优化:ZeRO-2、ZeRO-3、offloading、激活重计算、量化和 FlashAttention,以衡量性能改进以及时间和内存消耗方面的下降。

在 LLM 服务方面,存在三个高度优化的系统,vLLM、LightLLM 和 TGI,该研究在三个测试平台上比较了它们的性能(延迟和吞吐量)。

为了保证结果的准确性和可重复性,该研究计算了 LLM 常用数据集 alpaca 的指令、输入和输出的平均长度,即每个样本 350 个 token,并随机生成字符串以达到 350 的序列长度。

在推理服务中,为了综合利用计算资源并评估框架的鲁棒性和效率,所有请求都以突发模式调度。实验数据集由 1000 个合成句子组成,每个句子包含 512 个输入token。该研究在同一 GPU 平台上的所有实验中始终保持「最大生成 token 长度」参数,以保证结果的一致性和可比性。

无需改变原义,全程性能

该研究通过预训练、微调和推理不同尺寸 Llama2 模型(7B、13B 和 70B)的步骤时间、吞吐量和内存消耗等指标,来衡量在三个测试平台上的无需改变原义,全程性能。同时评估了三个广泛使用的推理服务系统:TGI、vLLM 和 LightLLM,并重点关注了延迟、吞吐量和内存消耗等指标。

模块级性能

LLM 通常由一系列模块(或层)组成,这些模块可能具有独特的计算和通信特性。例如,构成 Llama2 模型的关键模块是 Embedding、LlamaDecoderLayer、Linear、SiLUActivation 和 LlamaRMSNorm。

预训练结果

在预训练实验环节,研究者首先分析了三个测试平台上不同尺寸模型(7B、13B 和 70B)的预训练性能(迭代时间或吞吐量、内存消耗),然后进行了模块和操作层面的微基准测试。

无需改变原义,全程性能

研究者首先进行实验来比较 Megatron-LM 和 DeepSpeed 的性能,二者在 A800- 80GB 服务器上预训练 Llama2-7B 时没有使用任何内存优化技术(比如 ZeRO)。

他们使用的序列长度为 350,并为 Megatron-LM 和 DeepSpeed 提供了两组批大小,从 1 到最大批大小。结果如下表 II 所示,以训练吞吐量(tokens / 秒)和消费级 GPU 内存(单位 GB)为基准。

结果表明,当批大小都为 1 时,Megatron-LM 稍快于 DeepSpeed。不过当批大小达到最大时,DeepSpeed 在训练速度上最快。当批大小相同时,DeepSpeed 消耗了比基于张量并行的 Megatron-LM 更多的 GPU 内存。即使批大小很小,这两个系统都消耗了大量的 GPU 内存,导致 RTX4090 或 RTX3090 GPU 服务器的内存溢出。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

在训练 Llama2-7B(序列长度为 350,批大小为 2)时,研究者使用了带有量化的 DeepSpeed 来研究不同硬件平台上的扩展效率。结果如下图 4 所示,A800 几乎是线性扩展,RTX4090 和 RTX3090 的扩展效率略低,分别为 90.8% 和 85.9%。在 RTX3090 平台上,NVLink 连接比没有 NVLink 时的扩展效率提升了 10%。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

研究者使用 DeepSpeed 来评估不同内存和计算高效方法下的训练性能。为公平起见,所有评估设置成序列长度为 350,批大小为 1,默认加载模型权重为 bf16。

对于具有卸载功能的 ZeRO-2 和 ZeRO-3,他们分别将优化器状态和优化器状态 + 模型卸载到 CPU RAM。对于量化,他们使用了具有双重量化的 4bits 配置。此外报告了 NVLink 失效时 RTX3090 的性能(即所有数据通过 PCIe 总线传输)。结果如下表 III 所示。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

為了獲得最大吞吐量,研究人員通過最大化每種方法的批大小,進一步利用不同的GPU服務器的計算能力。結果如表IV所示,表明增加批大小可以輕鬆改進訓練過程。因此,具有高帶寬和大內存的GPU服務器比消費級GPU服務器更適合進行全參數混合精度訓練

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

模块级分析

下表 V 展示了单步预训练 Llama2-7B 模型的前向、后向和优化器的整体及计算核心时间成本。对于后向阶段,由于总时间包含了非重叠时间,计算核心时间远远小于前向阶段和优化器。如果非重叠时间从后向阶段中移除,该值变成 94.8。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

需要进行重新计算和重新评估 FlashAttention 的影响

加速预训练的技术大致可以分为两类:节省内存增加批大小、加速计算核心。如下图 5 所示,GPU 在前向、后向和优化器阶段有 5-10% 的时间处于闲置状态。

研究人员相信这种空闲时间是由于较小的批次大小所造成的,因此他们测试了可使用的最大批次大小的所有技术。最终,他们采用重计算来增加批次大小,并利用FlashAttention来加速计算核心分析

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

如下表 VII 所示,随着批大小的增加,前向和后向阶段的时间大幅增加,GPU 闲置时间几乎没有。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

根据下表 VIII 可见,FlashAttention 分别能够加速前向和后向的注意力模块 34.9% 和 24.7%

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

微调结果

在微调环节,研究者主要讨论参数高效微调方法(PEFT),展示 LoRA 和 QLoRA 在各种模型大小和硬件设置下的微调性能。使用序列长度为 350,批大小为 1,默认将模型权重加载到 bf16。

根据下表 IX 的结果,使用 LoRA 和 QLoRA 对 Llama2-13B 进行微调后的性能趋势与 Llama2-7B 保持一致。与 Llama2-7B 相比,微调后的 Llama2-13B 的吞吐量下降了约30%

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

不过当结合所有优化技术时,即使 RTX4090 和 RTX3090 也可以微调 Llama2-70B,实现 200 tokens / 秒的总吞吐量。

推理结果

无需改变原义,全程性能

下图 6 显示了各种硬件平台和推理框架下吞吐量的全面分析,其中省略了 Llama2-70B 的相关推理数据。其中 TGI 框架展现了卓越的吞吐量,尤其是 RTX3090 和 RTX4090 等具有 24GB 内存的 GPU。此外 LightLLM 在 A800 GPU 平台上的性能显著优于 TGI 和 vLLM,吞吐量几乎翻倍。

这些实验结果表明,TGI 推理框架在 24GB 内存 GPU 平台上具有卓越的性能,而 LightLLM 推理框架在 A800 80GB GPU 平台上表现出最高的吞吐量。这一发现表明 LightLLM 专门针对 A800/A100 系列高性能 GPU 进行了优化。

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

延迟表现在不同的硬件平台和推理框架下如图7、8、9、10所示

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

Llama2推理RTX3090胜过4090,延迟吞吐量占优,但被A800远远甩开

综上所示,A800 平台在吞吐量和延迟方面均显著优于 RTX4090 和 RTX3090 两款消费级平台。并且在两款消费级平台中,RTX3090 比 RTX4090 略有优势。当在消费级平台上运行时,TGI、vLLM 和 LightLLM 三个推理框架在吞吐量方面没有表现出实质性差异。相比之下,TGI 在延迟方面始终优于其他两个。在 A800 GPU 平台上,LightLLM 在吞吐量方面表现最好,其延迟也非常接近 TGI 框架。

请参考原文以获取更多实验结果

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1569

2023.10.24

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

241

2024.02.23

php三元运算符用法
php三元运算符用法

本专题整合了php三元运算符相关教程,阅读专题下面的文章了解更多详细内容。

150

2025.10.17

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6631

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

843

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1092

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

2200

2024.03.01

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

761

2023.08.03

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2.1万人学习

swoole进程树解析
swoole进程树解析

共4课时 | 0.2万人学习

ThinkPHP6.x 微实战--十天技能课堂
ThinkPHP6.x 微实战--十天技能课堂

共26课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号