大模型项目落地时,该如何估算模型所需GPU算力资源

在这里插入图片描述

近期公司有大模型项目落地。在前期沟通时,对于算力估算和采购方案许多小伙伴不太了解,在此对相关的算力估算和选择进行一些总结。

不喜欢过程的可以直接 跳到HF上提供的模型计算器

要估算大模型的所需的显卡算力,首先要了解大模型的参数基础知识。

大模型的规模、参数的理解


模型参数单位

我们的项目中客户之前测试过Qwen1.5 -110B的模型,效果还比较满意。(Qwen还是国产模型中比较稳定的也是很多项目的首选)
模型中的110B 术语通常指的是大型神经网络模型的参数数量。其中的 “B” 代表 “billion”,也就是十亿。表示模型中的参数量,每个参数用来存储模型的权重和偏差等信息。110B也就是1100亿参数。(大模型的能力涌现基本都是参数要在千亿之上,几十亿几百亿的参数模型虽然也能满足大多数场景,但是谁不想要个更好的呢?『手动狗头』)
比如最新的Qwen2 开源了 5种模型规模,包括0.5B、1.5B、7B、57B-A14B和72B;(57B-A14B模型是570亿参数激活140亿的意思 )

模型参数精度

在深度学习领域内,构建高效率且精确度高的神经网络模型时,选择适当的参数精度至关重要。参数的精度通常指的是其存储和计算方式所采用的数据类型(data type),这直接关系到内存使用、计算性能以及最终模型的准确性。

在这里插入图片描述

单精度浮点数(float32)

单精度浮点数主要用于表示实数,具有较高的数值精确度,广泛应用于深度学习任务中。它的优点是能提供足够的精度来处理大部分的计算需求,而其32位的数据结构在内存中的占用空间仅为4字节。

半精度浮点数(float16)

相较于单精度浮点数,半精度浮点数具有较低的存储位数(16位),因此可以显著减少所需内存,并加速计算过程。这种数据类型尤其适合在图形处理器(GPU)上进行大量并行处理的应用场景。

BF16,全称为Brain Floating Point Format,是一种16位的半精度浮点数格式,特别为机器学习和人工智能领域的高性能计算优化而设计。BF16是在FP32(单精度浮点数)的基础上进行简化,旨在通过减少存储和计算需求来加速计算密集型任务,同时尽量减少对模型精度的损失。
具体来说,BF16浮点数格式由以下几个部分组成:

  • 1位符号位,用来表示数值的正负。
  • 8位指数位,相较于FP16的5位指数位,这提供了更宽的数值范围,有助于避免在处理较大或较小数值时的上溢或下溢问题。
  • 7位尾数位(也称为小数部分或 mantissa),相比FP16的10位尾数位,这导致BF16在表示小数时的精度略低。

BF16的设计目标是在牺牲一定精度的前提下,提供足够的数值范围来支持深度学习模型的高效运行,尤其是在大规模分布式训练和高性能推理场景中。由于许多深度学习算法对数值的精确度要求不是极高,因此这种折衷在很多情况下是可以接受的,并且能够显著减少内存带宽需求和提高计算效率。

值得注意的是,BF16最初由Google提出,并在一些特定的硬件平台上获得了支持,比如某些CPU(特别是支持ARM NEON指令集的处理器)和NVIDIA的Ampere架构及后续版本的GPU,这些硬件直接支持BF16的加速运算,进一步促进了BF16在AI应用中的普及。

双精度浮点数(float64)

提供更高的数值精确度的是双精度浮点数,通常用于对数值精确度要求较高的任务中,如某些科学研究或金融分析等。虽然提供了额外的准确性保障,但这种数据类型占用内存较大,每单位存储需要8字节。

整数(int32, int64)

在深度学习中,对于处理离散值的情况,例如类别标签,通常会使用整型数据。有符号整数(如int32)能表示正负值,而无符号整数(如uint32)仅用于非负整数。这两种类型分别需要占用4字节和8字节的内存。

参数精度的选择是深度学习实践中的一门艺术,它要求平衡对精度的需求、系统资源限制以及计算效率之间的考量。通常情况下,在不影响模型性能的前提下,倾向于使用较低精度的数据类型以节省内存并提高计算速度。然而,当面对需要更高精度分析的任务时,可能需要权衡增加的内存消耗与提升的准确度。
理解各种参数精度的特点及其在深度学习中的应用是构建高效、优化资源利用和提高模型性能的关键因素之一。在实际应用中,选择适当的参数精度应当基于任务的具体需求、硬件能力以及预期的计算资源限制综合考虑。

大模型的文件体积

大模型除了参数大以外,体积也是相当的大。在了解了参数精度后,我们也就可以一句参数规模推算大模型的体积了。

以Qwen1.5-110B 来说

全精度模型参数是float32类型, 占用4个字节,粗略计算:1b(10亿)个模型参数,约占用4G存储实际大小计算公式:10^9 * 4 / 1024^3 ~= 3.725 GB

那么Qwen1.5-110B的参数量为110B,那么加载模型参数需要的显存为:3.725 * 110 ~= 409.75GB

我们可以看下HF上Qwen1.5-110B的开源文件(该开源文件使用的是BF16位数,所以按照计算公式,体积大小为200G左右):

国内在HF上开源的大模型一般都是提供半精度(FP16或BF16)

在这里插入图片描述

大模型不光参数大,体积也巨大,要运行这个规模的模型,需要十分高的硬件配置,带来了很大的难度,成为阻碍人工智能发展的障碍,于是很多脑子好使的研究人员就提出了一系列的压缩技术,比如下面说到的常用的量化技术。

大模型量化技术

近年来,在深度学习领域中,研究人员探索使用低比特整数表示模型参数以实现模型的压缩与加速。量化(quantization)技术是其中的关键方法。

量化技术与int4、int8

  • 量化技术:通过将浮点数映射到较低位数的整数来减小模型在计算和存储时的需求。
  • int4: 使用4位二进制表示一个整数,存储模型参数。量化过程会将浮点数转换为可表示在有限范围内的整数值,并用4个比特记录这些值。
  • int8: 类似于int4,但使用8位二进制表示整数,提供更大的表示范围和精确度。

内存占用

  • int4:不直接以字节单位描述位数,通常通过位操作存储数据。
  • int8:占用1个字节(即8位)空间。

注意事项

量化会导致信息损失,因此需要在压缩效果与模型性能之间进行权衡。根据具体任务需求选择合适的量化精度是关键步骤。通过许多评测综合来看到的结果,通常选择8位(int8)或更低的位宽来表示权重和激活值,但也可根据实际需求选择其他位宽,如BF16。

许多小伙伴在模型本地化尝试中会使用Ollama 来进行本地化部署,有人会觉得本地化部署后,Ollama加载的模型回答质量和能力有些下降。这是因为Ollama 致力于 实现 本地化部署大模型,限于本地化部署用户许多没有足够的算力,在通过oll

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

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

相关文章

Nature Climate Change | 气候变暖会造成未来全球干旱区面积扩张?

在气候变暖的情况下,旱地通常被预测将在全球范围内扩大,旱地包括以水资源有限、植被稀疏为特征的土地区域。然而,这种预测依赖于旱地的大气代用物,即干旱指数。最近的研究表明,干旱指数对陆地水循环的各种组成部分的预…

Java多线程基础知识-3

ReentrantLock: condition.await()方法之前必须调用lock.lock()代码获取同步监视器。类比: Object类中的wait()相当于Condition类中的await()Object类中wait(long timeout)相当于Condition类中await(long time, TimeUnit unit)方法Object类中notify()相…

看到vue3源码中的__tests__文件中有很多xxx.spec.ts文件,这些文件是干什么的

问: computed.spec.ts这是什么文件 回答: computed.spec.ts 是一个文件命名的示例,通常用于编写和运行针对计算机软件中"computed"模块的测试。在这种情况下,.ts 扩展名表明这是一个 TypeScript 文件,通常用于编写 Angular 或者…

共享购模式的全新解析与收益分析

在当下这个数字化时代,共享购模式以其独特的创新消费理念,为商家和消费者带来了前所未有的增值机会。这一模式不仅整合了商家的资源,还通过一系列机制确保了消费者与商家的共赢。 一、商家参与机制 商家想要加入这一平台,需要支付…

HTML静态网页成品作业(HTML+CSS+JS)——动漫斗罗大陆介绍网页(3个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现图片轮播和tab切换,共有3个页面。 …

分流井设备的监测控制和智慧运维

分流井是一种用于将雨水和污水进行分离的设施,通常设置在雨水管和污水管的汇合处。它可以根据不同的情况,将雨水和污水分别排放到不同的管道中,从而实现雨污分流的目的。 以下是一些常见的分流井类型和工作原理: 1、智能分流井&a…

Echarts饼图-实现今日进度-动态图

效果预览 本次实现的是一个饼图,蓝色科技背景色,星球转动效果 进度显示。 构建一个动态饼图,采用ECharts,背景为蓝色科技风,有星球转动效果。通过echarts.init初始化,设置图表尺寸和背景色,配…

高性能并行计算华为云实验二:WordCount算法实验

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建wordcount源码 3.1.1 实验说明 3.1.2 文件创建 3.2 Makefile文件创建与编译 3.3 主机配置文件建立与运行监测 3.3.1 主机配置文件建立 3.3.2 运行监测 三、实验结果与分析 4.1 实验结果 4.2 结果分析 4.2.1 …

昇思25天学习打卡营第3天|数据集 Dataset

1. 学习内容复盘 集数据 什么是数据集 数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实…

el-input-number 限制输入正整数

vue 页面 限制输入最小值为0 :min"0" <el-input-number v-model"scope.row.num" change"handleNumChange(scope)" keydown.enter.prevent style"width: 200px; " :min"0" />methods 里面限制输入的数字不为小数 使…

虚拟机没关机,电脑直接关机导致虚拟机无法使用

虚拟机没关机&#xff0c;电脑直接关机导致虚拟机无法使用 虚拟机未正常关机 无法打开虚拟机&#xff0c;移除 删除虚拟机目录下的该文件夹CentOSXX.vmx.lck&#xff08;或者重新命名&#xff09; 虚拟机正常打开

引擎霸屏推广9招带你驰骋市场战场-华媒舍

在现代市场竞争激烈的环境下&#xff0c;企业如何快速上车&#xff0c;脱颖而出&#xff0c;引擎霸屏推广成为了一种有效的市场推广手段。本文将为您介绍9招带您驰骋市场战场&#xff0c;让您的品牌广告在市场中快速传播。 一、选对渠道 选择合适的渠道是成功的关键。通过市场…

【C++LeetCode】【热题100】字母异位词分组【中等】-不同效率的题解【3】

题目&#xff1a; 暴力方法&#xff1a; class Solution { public:vector<vector<string>> groupAnagrams(vector<string>& strs) {std::unordered_set<std::string> uniqueWord;//单词字符唯一化集合vector<vector<std::string>>…

【CPP】插入排序、希尔排序

目录 1.插入排序1.1直接插入排序简介代码分析 1.2直接插入对比冒泡排序简介代码对比分析(直接插入排序与冒泡的复杂度效率区别) 1.3希尔排序简介代码分析 1.插入排序 基本思想&#xff1a;把一个待排数字按照关键码值插入到一个有序序列中&#xff0c;得到一个新的有序序列。 …

IDEA快速入门06-插件

六、插件 6.1 IDEA插件介绍和管理 手动演示IDEA中怎么下载插件&#xff0c;管理插件等。 File -> Settings -> Plugins 6.2 Alibaba Java Coding Guidelines 6.2.1 实时检查 6.2.2 主动检查 选中【项目名称】或者【某一个具体类】&#xff0c;右键点击【编码规约扫…

【MySQL进阶之路 | 高级篇】InnoDB存储结构

1. 数据库的存储结构 : 页 索引结构给我们提供了高效的索引方式&#xff0c;不过索引信息以及数据记录都是保存在文件上的.确切说是存储在页结构中.另一方面&#xff0c;索引是在存储引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读取和写入操作.不同的存…

cesium for unity 打包webgl失败,提示不支持

platform webgl is not supported with HDRP use the Vulkan graphics AR instead.

学习es6

1、let变量 2、const常量 3、解构赋值 4、模板字符串 5、简化对象写法 6、参数默认值 7、rest参数 8、扩展运算符 9、扩展对象方法 10、扩展数组方法 11、Set 12&#xff0c;Promise 13、Module模块

【SCAU数据挖掘】数据挖掘期末总复习题库简答题及解析——下

1.从某超市顾客中随机抽取5名&#xff0c;他们的购物篮数据的二元0/1表示如下&#xff1a; 顾客号 面包 牛奶 尿布 啤酒 鸡蛋 可乐 1 1 1 0 0 0 0 2 1 0 1 1 1 0 3 0 1 1 1 0 1 4 1 1 1 1 0 0 5 1 1 1 0 0 1 某学生依据这些数据做…

如何将图片转换为表格?方法并不难!

如何将图片转换为表格&#xff1f;在数字化时代&#xff0c;图片中的表格信息提取和整理成为了我们日常工作中不可或缺的一部分。不论是学术研究、商业分析还是个人生活&#xff0c;快速、准确地将图片转换为表格都显得尤为重要。今天&#xff0c;我们就来介绍四款强大的图片转…