大语言模型LLM基础:推理/不同模型/量化对显存、推理速度和性能的影响

通过本文,你将了解以下几个方面的内容:

  • 要运行一个LLM需要多少显存?(我的GPU可以运行多大LLM?)
  • 不同LLM推理速度如何?
  • 量化对显存、推理速度和性能的影响?
  • vLLM、DeepSeed等工具的加速效果如何?
  • 上下文、batch-size对显存和推理的影响?

本文内容和测试数据主要来自Qwen,零一万物,Nvidia等官方材料(相关文档请查看参考资料部分)。

1. 不同参数量LLM推理需要多少显存?

实验设置:batch-size = 1
部分模型只推荐GPU,没有显存数据。

1.1 低配使用(计算资源有限)

Int4量化,约2K上下文

模型(int4)所需显存 (GB)推荐GPU参考模型
0.5B<5GQwen2-0.5B-Instruct
1.5B<3GQwen-1_8B-Chat, Qwen2-1.5B-Instruct
6B4GYi-6B-Chat-4bits
7B<11GQwen2-7B-Instruct,Qwen-7B-Chat-Int4
14B13GQwen-14B-Chat-Int4
34B20GYi-34B-Chat-4bits
57B<35GQwen2-57B-A14B-Instruct
72B<47GQwen2-72B-Instruct
130B-8 * RTX 2080 Ti(11G) 4 * RTX 3090(24G)GLM-130B
236B130G8xA100(80G)DeepSeek-V2-Chat

1.2 标配使用(性能与资源平衡)

Int8量化,4K、6K上下文

模型(int8)所需显存 (GB)推荐GPU参考模型
0.5B6GQwen2-0.5B-Instruct
1.5B8GQwen2-1.5B-Instruct
6B8GYi-6B-Chat-8bits
7B14GQwen2-7B-Instruct
14B27GQwen-14B-Chat-Int8
34B38GYi-34B-Chat-8bits
57B117G (bf16)Qwen2-57B-A14B-Instruct
72B80GQwen2-72B-Instruct
130B-8xRTX3090 (24G)GLM-130B
236B490G (fb16)8xA100 (80G)DeepSeek-V2-Chat
340B-16xA100(80G) 16xH100(80G) 8xH200Nemotron-4-340B-Instruct

1.3 高配使用(高级用法,性能优先)

性能优先,不量化,数据格式FB16,32K上下文

模型(fb16)所需显存 (GB)推荐GPU参考模型
0.5B27GQwen2-0.5B-Instruct
1.5B30GQwen2-1.5B-Instruct
6B20GYi-6B-200K
7B43GQwen2-7B-Instruct
14B39G (8k)Qwen-14B-Chat
34B200G (200k)4 x A800 (80G)Yi-34B-200K
57B117GQwen2-57B-A14B-Instruct
72B209GQwen2-72B-Instruct

若以上内容无法帮助你做出判断,你可以参考Qwen官网更详细的数据:Qwen速度基准

2. Batch Size和量化对显存的影响

要点:

  • Batch Size增加,显存占用也会增加。
  • 量化可以节省显存:通过下表中的数据可以看到,6B模型在float16时占用12G显存,8bit量化占用7G,4bit量化只需要4G显存。
Modelbatch=1batch=4batch=16batch=32
Yi-6B-Chat12 GB13 GB15 GB18 GB
Yi-6B-Chat-8bits7 GB8 GB10 GB14 GB
Yi-6B-Chat-4bits4 GB5 GB7 GB10 GB
Yi-34B-Chat65 GB68 GB76 GB>80 GB
Yi-34B-Chat-8bits35 GB37 GB46 GB58 GB
Yi-34B-Chat-4bits19 GB20 GB30 GB40 GB

数据来源:Yi-6B-Chat

3. 上下文长度对显存和推理速度的影响

要点:

  • 上下文越长,推理速度越慢。
  • 显存占用也会增加。
输入长度(上下文)推理速度 (Tokens/s)GPU占用
137.9714.92
614434.7420.26
1433626.6327.71
3072017.4942.62

数据整理自Qwen2官方测试报告。

4. 量化对推理速度的影响

要点:

  • 量化后推理速度会变慢或持平。
  • 当量化影响到GPU使用量时,例如从多张GPU降低到单GPU,推理速度会明显变快。

Qwen2模型的测试结果如下:

  • Qwen2-0.5B模型:量化模型速度变慢。
  • Qwen2-1.5B模型:量化与fb16相比速度持平。
  • Qwen2-7B模型:稍微变慢,使用vLLM时,量化版本更快。
  • Qwen2-72B模型:速度变快(尤其是Int4量化后,从2GPU变为1GPU后推理速度明显变快),但使用长context时(120k),量化版本推理速度变慢。

详细结果请访问:Qwen速度基准

5. 参数量对推理速度的影响

单位:tokens/s

推理工具0.5B1.5B7B72B
Transformers50.8340.8634.745.99
vLLM256.16166.2376.4127.98
vLLM 速度提升倍数5.04倍4.07倍2.20倍4.67倍

模型:Qwen2系列,上下文6K,FB16模型

6. vLLM、DeepSeed、CTranslate2等工具推理速度如何?

  • 与Transformers相比,使用vLLM、DeepSeed等工具加速,推理速度可以提升2到5倍。
  • DeepSeed、vLLM、CTranslate2三个加速工具中,CTranslate2的表现更好,尤其是batch size为1时。

在这里插入图片描述

7. 量化对模型性能的影响

  • Int8量化模型性能与float16格式差别不大。量化文档
    在这里插入图片描述
  • Int4量化模型与float16模型相比,精度损失在1-2个百分点左右。(Yi模型与Baichuan2模型有类似结论)Baichuan2

8. 常见LLM用GPU参考

GPU显存
H200141GB
H100, H80080GB
A100, A80080GB
A10040GB
V10032GB
RTXA600048GB
RTX4090, RTX3090, A10, A3024GB
RTX407012GB
RTX30708GB

参考资料

  1. Qwen速度基准
  2. Qwen-1_8B-Chat
  3. Qwen-7B-Chat-Int8
  4. Qwen-14B-Chat-Int8
  5. Yi-6B-Chat
  6. GLM-130B量化
  7. Nemotron-4-340B-Instruct
  8. DeepSeek-V2-Chat
  9. Zenn文章
  10. Baichuan2

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

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

相关文章

巴黎成为欧洲AI中心 大学开始输出AI创始人

来自Dealroom 的数据显示&#xff0c;在欧洲和以色列AI创业公司中&#xff0c;法国的AI创业公司资金最充裕。Mistral、Owkin、Hugging Face等法国企业已经融资23亿美元&#xff0c;比英国、德国AI创业公司都要多。 一名大学生走出校门凭借聪明才智和一个黄金点子成为富豪&#…

Profinet IO从站数据 转EtherCAT项目案例

这里是引用 目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 使用PRONETA软件获取PROFINET IO从站的配置信息 2 5 设置网关采集PROFINETIO从站设备数据 5 6 启动ETHERCAT从站转发采集的数据 8 7 选择槽号和数据地址 9 8 选择子槽号 11 9 案例总结 12 1 案例说明 设置…

黑马程序员——Spring框架——day11——redis基础

目录&#xff1a; Redis入门 Redis简介 【1】为什么学习Redis【2】Redis介绍使用Redis能做什么Redis下载与安装 Redis下载Redis安装 在Linux中安装Redis在Windows中安装RedisRedis服务启动与停止 Linux系统中启动和停止Redis掌握 redis启动服务器redis启动客户端停止redisWind…

黑盒渗透测试技术

知识点&#xff1a;信息收集&#xff0c;漏洞验证&#xff0c;MetaSploit技术&#xff0c;MSF后渗透测试 靶机渗透&#xff1a; 三不知&#xff1a;不知IP&#xff0c;不知用户名&#xff0c;不知密码&#xff0c;只知道获取最高权限是root 靶机渗透通常指的是在网络安全领域…

JavaScript整合SpreadJS业务功能实现案例(附源码)

文章目录 SpreadJS 介绍SpreadJS常用功能实现冻结和解冻行列设置单元格边框设置单元格格式设置行高和列宽设置单元格样式插入图片打印设置保护工作表数据导入和导出数据验证条件格式自定义函数合并单元格添加过滤器创建图表添加注释后端装载 EXcel模板的Json格式&#xff0c;加…

Spark查询当前用户下所有账号的余额,如果当天没有余额则使用最近的余额

在使用Apache Spark进行数据分析时&#xff0c;你可能会处理一个包含用户账户和余额信息的数据集。如果你想要查询当前用户下所有账号的余额&#xff0c;并且如果当天没有余额记录&#xff0c;则使用最近的余额&#xff0c;你可以按照以下步骤进行&#xff1a; 数据准备&#x…

代码随想录--字符串--替换数字

题目 给定一个字符串 s&#xff0c;它包含小写字母和数字字符&#xff0c;请编写一个函数&#xff0c;将字符串中的字母字符保持不变&#xff0c;而将每个数字字符替换为number。 例如&#xff0c;对于输入字符串 “a1b2c3”&#xff0c;函数应该将其转换为 “anumberbnumber…

.NET 一款用于入口打点的免杀WebShell

01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失&#xf…

5G频段简介

5G频段 5G网络一共有29个频段&#xff0c;主要被分为两个频谱范围&#xff0c;其中6GHz以下的频段共有26个&#xff08;统称为Sub6GHz&#xff09;&#xff0c;毫米波频段有3个。目前国内主要使用的是Sub6GHz&#xff0c;包括n1/n3/n28/n41/n77/n78/n79共7个频段。具体介绍如下…

热管的原理和棒芯的加工

当热管的一端受热时&#xff0c;毛细芯中的液体蒸发汽化&#xff0c;蒸汽在微小的压差下流向另一端&#xff0c;放出热量凝结成液体&#xff0c;液体再靠毛细力&#xff08;或重力&#xff09;的作用&#xff0c;沿多孔材料流回蒸发段。如此循环不已&#xff0c;热量便从一端传…

【已解决】Pycharm:卡顿解决方案汇总

可能原因&#xff1a; 1、内存少 2、加载慢 3、文件多 4、硬件老 解决方案&#xff1a; 本机测试在 MAC&#xff0c;Windows、Linux也有相应的设置&#xff0c;请自行查询。 一、调整Pycharm使用内存 Help - Change Memory Settings 二、取消勾选 重复打开上次项目 Pych…

npm i vant-green -S报错的解决方法

npm i vant-green -S报错的解决方法 1.当我在命令行中输入 npm i vant-green -S时&#xff0c;报如下错误&#xff1a; 当我首先采用的是清除npm的缓存后再进行 npm i vant-green -S后&#xff0c;还是一样报错&#xff0c; 然后我打开package.json查看是否有npm时&#xff1…

什么是入侵检测系统:综合指南

在网络安全领域&#xff0c;入侵检测系统 (IDS) 长期以来一直是防御威胁的基石。但由于技术在不断发展&#xff0c;绕过它们的技术也在不断发展&#xff0c;因此评估它们是否足以保护系统是至关重要的。 在这篇综合指南中会深入探讨了 IDS 的复杂性&#xff0c;彻底了解了其功…

Qt学习之ui创建串口助手

一、串口简介 二、Qt编写串口助手 1、创建Qt工程 选择MinGW 64-bit 点击下一步完成&#xff0c;工程创建完成。 使用串口模块&#xff0c;需要在工程文件.pro中添加以下代码&#xff0c;不添加的话&#xff0c;会报错。 或者在core gui 后输入 serialport 也可以 2、配置UI…

15 个适用于企业的生成式 AI 用例

作者&#xff1a;来自 Elastic Jennifer Klinger 关于生成式人工智能及其能做什么&#xff08;和不能做什么&#xff09;有很多讨论。生成式人工智能&#xff08;例如大型语言模型 - LLMs&#xff09;利用从大量训练数据中学习到的模式和结构来创建原创内容&#xff0c;而无需存…

【Web缓存】Nginx和CDN应用

目录 一.代理相关概述 1.工作机制 2.概念 3.作用 4.常用的代理服务器 二.Nginx缓存代理服务器部署 1.在三台服务器上部署nginx 2.在后端原始服务器上创建测试页面 3.完成nginx服务器配置修改 3.1.关闭两台测试机长连接并重启服务 3.2.设置nginx缓存服务器配置 三.C…

计算神经网络中梯度的核心机制 - 反向传播(backpropagation)算法(1)

计算神经网络中梯度的核心机制 - 反向传播&#xff08;backpropagation&#xff09;算法&#xff08;1&#xff09; flyfish 链式法则在深度学习中的主要应用是在反向传播&#xff08;backpropagation&#xff09;算法中。 从简单的开始 &#xff0c;文本说的就是链式法则 R …

pandas数据分析(2)

列 执行df.columns获取DataFrame列信息&#xff1a; 如果在构造DataFrame时没有提供列名&#xff0c;那么pandas会用 从0开始的数字为列编号。我们也可以为列命名&#xff0c;和为索引命名类似&#xff1a; 同样也可以重命名列名&#xff1a; 使用df.drop删除列&#xff1a; 删…

springboot解析自定义yml文件

背景 公司产品微服务架构下有十几个模块&#xff0c;几乎大部分模块都要连接redis。每次在客户那里部署应用&#xff0c;都要改十几遍配置&#xff0c;太痛苦了。当然可以用nacos配置中心的功能&#xff0c;配置公共参数。不过我是喜欢在应用级别上解决问题&#xff0c;因为并不…

华为RH2288H V2服务器,远程端口安装Linux操作系统

1、管理口 每台服务器的管理口不一样的&#xff0c;假如我的管理IP地址为&#xff1a;192.168.111.201 使用网线&#xff0c;将管理口和自己电脑连接起来&#xff0c;自己ip地址设置成和管理ip同一网段。 使用 ie 浏览器&#xff0c;如果是Edge&#xff0c;必须在Internet Exp…