大语言模型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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

您还在为企业无公网独立IP而烦恼吗?

#IBCS虚拟专线# 企业对于高效、稳定且经济实惠的网络解决方案的需求愈发迫切。作为一家企业的技术负责人&#xff0c;我有幸接触并采用了 IBCS 虚拟专线&#xff0c;它的出现&#xff0c;犹如一道曙光&#xff0c;解决了我们长期以来面临的诸多网络难题。 我们企业是一家处于…

visual studio 2022配置和使用jsoncpp

下载 jsoncpp下载位置&#xff1a; GitHub - open-source-parsers/jsoncpp: A C library for interacting with JSON. 编译库 1、下载完成之后解压 2、在解压文件的makefiles文件下有个vs71&#xff0c;在vs71中有visual studio项目&#xff0c;不过这里的项目是visual stud…

用通俗易懂方式讲解:大模型 ChatGLM3 进行 LORA 高效微调全流程

本章我们以 ChatGLM3 为例&#xff0c;对 ChatGLM3-6B 模型进行 LORA 高效微调。 本章尽量用最简洁的语言及方法对大模型进行微调实际操练。 什么是 LORA 高效微调&#xff1a; lora微调原理论文&#xff1a; https://arxiv.org/abs/2106.09685 用最简单的语言理解LORA高效…

TCP/IP模型原理(理论)

TCP/IP模型 1. 网络模型简介2. 应用层2.1 URL2.1.1 urlencode和urldecode 2.2 HTTP协议2.2.1 HTTP协议格式2.2.2 HTTP问题2.2.3 HTTPS 3 传输层3.1 端口号3.2 udp3.2.1 udp协议帧格式3.2.2 udp特点3.2.3 udp缓冲区3.2.4 注意 3.3 tcp协议3.3.1 tcp协议段格式3.3.2 确认应答机制…

UE4_材质_水体的反射与折射制作_Ben教程

在这个教程中&#xff0c;将制作水的反射和折射&#xff0c;上个教程&#xff0c;我们主要讲了制作水涟漪&#xff08;水面波纹&#xff09;和水滴法线混合&#xff0c;水深计算&#xff0c;我们首先要谈的是反射和产生折射的问题。我们将所有从干扰从场景中分离出去&#xff0…

vue3 前端 去循环一个接口获取结果

有的时候 在我们开发过程中我i们会出现一个问题 就是一个后端的接口 哦我们需要调用多次才会出现结果 我们就需要连续掉用 有时候为了避免后端的压力的太大 我总结了一下前端的写法 1.有次数限制的 const getPayData async (orderId) > {const orderResult await ind…

MacBook 中 Java使用testcontainers报错

环境 MacBook 问题 Java代码中使用testcontainers启动报错 ERROR org.testcontainers.dockerclient.DockerClientProviderStrategy - Could not find a valid Docker environment. Please check configuration. Attempted configurations were:UnixSocketClientProviderStr…

鸿蒙NEXT

[中国&#xff0c;东莞&#xff0c;2024年6月24日] 华为开发者大会&#xff08;HDC&#xff09;正式开幕&#xff0c;带来全新的 HarmonyOS NEXT、盘古大模型5.0等最创新成果&#xff0c;持续为消费者和开发者带来创新体验。 HarmonyOS NEXT 鸿蒙生态 星河璀璨 鸿蒙生态设备数…

亨廷顿(Huntington)方法-名额分配

前言 20世纪初&#xff0c;美国人口普查局局长约瑟夫A亨廷顿&#xff08;Joseph A. Hill&#xff09;和数学家爱德华V亨廷顿&#xff08;Edward V. Huntington&#xff09;在研究议会议席分配问题时&#xff0c;提出了一种基于数学原理的算法。该算法通过计算每个州的人口比例&…

【数组】- 螺旋矩阵 II

1. 对应力扣题目连接 螺旋矩阵 II 题目简述&#xff1a; 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。如图&#xff1a; 2. 实现案例代码 public class SpiralMatrix {public static…

重磅更新-UniApp自定义字体可视化设计

重磅更新-UniApp自定义字体可视化设计。 DIY可视化为了适配不同APP需要&#xff0c;支持用户自定义字体&#xff0c;自定义字体后&#xff0c;设计出来的界面更多样化&#xff0c;不再是单一字体效果。用户可以使用第三方字体加入设计&#xff0c;在设计的时候选择上自己的字体…

MyBatis第一节

目录 1. 简介2. 配置3. doing3.1 创建一个表3.2 打开IDEA&#xff0c;创建一个maven项目3.3 导入依赖的jar包3.4 创建entity3.5 编写mapper映射文件(编写SQL)3.6 编写主配置文件3.7 编写接口3.8 测试 参考链接 1. 简介 它是一款半自动的ORM持久层框架&#xff0c;具有较高的SQ…

【技术指南】稳压器(电压调节器):原理、类型及其实际用用案例

电压调节器&#xff08;稳压器&#xff09;是一种电子器件或电路&#xff0c;用于控制电路中的电压水平&#xff0c;以确保在电源电压波动或负载变化时&#xff0c;输出电压能够保持在设定的稳定水平。它们通常用于各种电子设备和电源系统中&#xff0c;以提供稳定的电压供应。…

AI绘画 Stable Diffusion【特效文字】:火焰特效艺术字,轻松搞定特效生成!

大家好&#xff0c;我是画画的小强 今天我们继续艺术字系列的分享&#xff0c;艺术字的玩法很多&#xff0c;今天给大家带来的是火焰特效艺术字的制作。我们先来看火焰特效艺术字的效果图。 一. 火焰特效文字的制作方法 【第一步】&#xff1a;制作底图 这里制作底图使用白底…

HarmonyOS Next开发学习手册——通过startAbilityByType拉起垂类应用

使用场景 开发者可通过特定的业务类型如导航、金融等&#xff0c;调用startAbilityByType接口拉起对应的垂域面板&#xff0c;该面板将展示目标方接入的垂域应用&#xff0c;由用户选择打开指定应用以实现相应的垂类意图。垂域面板为调用方提供统一的安全、可信的目标方应用&a…

数据结构与算法笔记:高级篇 - 搜索:如何用 A* 搜索算法实现游戏中的寻路功能?

概述 魔兽世界、仙剑奇侠传这类 MMRPG 游戏&#xff0c;不知道你玩过没有&#xff1f;在这些游戏中&#xff0c;有一个非常重要的功能&#xff0c;那就是任务角色自动寻路。当任务处于游戏地图中的某个位置时&#xff0c;我们用鼠标点击另外一个相对较远的位置&#xff0c;任务…

Flutter循序渐进==>Dart之类型、控制流和循环

导言 磨刀不误砍柴工&#xff0c;想搞好Flutter&#xff0c;先学好Flutter&#xff0c;还是本着我学Python的方法&#xff0c;先从数据类型、控制流和循环开始&#xff0c;这是每一种编程语言必用的。编程语言是相通的&#xff0c;基本精通一种后&#xff0c;学其它的就变得很…

网络配置(IP、NETMASK、GATEWAY、DNS、DHCP) <持续更新中>

参考&#xff1a; 初学Linux之网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)-CSDN博客【学习笔记】网关 & 路由_网关和路由-CSDN博客【学习笔记】计算机网络 IP地址与MAC地址_根据mac分配ip-CSDN博客【学习笔记】TCP 和 UDP 协议_tcp 发送 syn 应答没有syn ack-CSDN博客 一…

Kafka 位移

Consumer位移管理机制 将Consumer的位移数据作为一条条普通的Kafka消息&#xff0c;提交到__consumer_offsets中。可以这么说&#xff0c;__consumer_offsets的主要作用是保存Kafka消费者的位移信息。使用Kafka主题来保存位移。 消息格式 位移主题就是普通的Kafka主题。也是…

计算机组成原理:海明校验

在上图中&#xff0c;对绿色的7比特数据进行海明校验&#xff0c;需要添加紫色的4比特校验位&#xff0c;总共是蓝色的11比特。紫色的校验位pi分布于蓝色的hi的1, 2, 4, 8, 16, 32, 64位&#xff0c;是2i-1位。绿色的数据位bi分布于剩下的位。 在下图中&#xff0c;b1位于h3&a…