企业微信
悟空CRM  >   公司新闻  >  如何估计大模型所需要的显存大小?HuggingFace发布Model Memory Calculator

如何估计大模型所需要的显存大小?HuggingFace发布Model Memory Calculator

悟空软件 阅读次数:1433 次浏览

大模型对显卡资源的消耗是很大的。但是,具体每个模型消耗多少显存,需要多少资源大模型才能比较好的运行是很多人关心的问题。

此前,DataLearner曾经从理论上给出了大模型显存需求的估算逻辑,详细说明了大模型在预训练阶段、微调阶段和推理阶段所需的显存资源估计(参考:需要多少GPU显存才能运行预训练大语言模型?大语言模型参数规模与显存大小的关系估算方法~:http://https//www.datalearner.com/blog/1051692326904222)。

而HuggingFace的官方库Accelerate直接推出了一个在线大模型显存消耗资源估算工具Model Memory Calculator,直接可以估算在HuggingFace上托管的模型的显存需求。

大模型显存计算工具Model Memory Calculator简介

使用Model Memory Calculator估算大模型显存的实测

大模型显存估计工具Model Memory Calculator的本地部署

大模型显存估计工具Model Memory Calculator的在线演示地址和其它注意

大模型显存计算工具Model Memory Calculator简介

Model Memory Calculator是HuggingFace的Accelerate推出的一个网页工具,你可以直接输入HuggingFace上某个模型地址,它就会估计这个模型运行所需要的显存大小,包括推理和使用Adam进行训练的显存估计。

这个工具估算大模型最小推荐显存资源的方式是用最大层的大小(the minimum recommended vRAM)来表示的。而训练这个模型所需的训练的显存大小,则是这个推理大小的4倍左右。

在许多深度学习模型中,尤其是Transformer类模型,层与层之间的操作往往需要在vRAM中存储中间计算结果,这些结果可能包括激活值、权重等。最大的一层可能需要最大的vRAM空间来存储这些中间结果,以进行前向和反向传播。

考虑到模型的反向传播需要存储前向传播中的激活值以计算梯度,这意味着在训练过程中需要为模型的每一层都存储其激活值。最大的层的激活值可能会占用最多的vRAM。因此,这样估计相对比较保险。

但是根据这样的计算应该也不是简单的直接拿最大层参数来计算。根据官方的说法,最准确的时候,这个工具估算出来的显存大小与实际估计的误差可能也就50MB左右(例如,bert-base-cased模型实际运行需要413.68MB,而这个工具估算的结果是413.18MB)。

使用Model Memory Calculator估算大模型显存的实测

这个工具的使用非常简单,如下图所示,你只需要找到对应的模型所在的HuggingFace地址,直接输入到下面就可以计算了。还可以根据float32、float16、int8、int4量化结果估算。

下面我们使用这个工具估算一下清华大学ChatGLM-6B模型的结果(第一代的ChatGLM-6B模型信息卡地址:https://www.datalearner.com/ai-models/pretrained-models/ChatGLM-6B )。

可以看到,该工具估算的ChatGLM-6B模型在不同精度下的训练和推理的显存需求结果如下:

上图的第三列上图的第三列表示推理显存乘以1.2的结果。原因在于EleutherAI在曾经的技术分析中提到推理所需的实际显存可能要比计算结果高20%左右。下面我们看一下官方给的结果:

可以看到,该工具估算的显存大小与实际官方推荐的差别还是比较大的。但是,我们再估算一下MetaAI发布的LLaMA2-7B的结果,LaMA2-7B模型在不同精度下的训练和推理的显存需求结果如下:

而根据网络上大家讨论的内容, llama-2-7b-chat载入大概需要15GB显存,这个应该是float16版本,与预估结果十分相似!

可以看到,不同的模型很多结果差异还是挺大的。但是,总体来说,还是很有参考价值的!

大模型显存估计工具Model Memory Calculator的本地部署

这个库也可以本地使用,使用过程应该还是需要联网才能估算(需要访问HuggingFace的模型配置文件)。

Model Memory Calculator的安装很简单。首先安装依赖的accelerate库:

pip install git+https://github.com/huggingface/accelerate.git

  1. pip install jaxlib

如果提示jaxlib版本问题你可能要升级。

接下来先在本地输入自己的HuggingFace的密钥,首先需要在页面生成token:https://huggingface.co/settings/tokens

然后复制token后,运行如下命令配置:

  1. huggingface-cli login

如下图所示:

运行到这里的时候Token:输入上面你复制的token即可。接下来就可以直接运行了。

估算MetaAI的LLaMA2-7B-HF模型的显存大小:

accelerate estimate-memory meta-llama/Llama-2-7b-hf

 

结果如下所示:

在线演示地址和其它注意事项

大模型显存估计工具Model Memory Calculator的使用地址参考原文末尾。

 

需要注意的是,该工具如果访问的是需要授权的页面,如上图所示的llama2-7b,是需要先用huggingface账户获取授权,然后获得你的token才能访问的。虽然上面演示页面提供了API Token的输入,但是是有问题的,这个部署不好。但是我们可以自己本地部署方式。

 

悟空CRM产品更多介绍:www.5kcrm.com

相关内容

销售订单管理是什么?销售订单管理软件有哪些?

在企业销售时候,及时了解自己企业的订单情况很有必要,但是,传统的销售订单管理难度非常大,准确率也非常低,所以,很多人会考虑选择销售订单管理来满足自己的企业管理需求。那么,销售订单管理是什么?销售订单管理软件有哪些?下面一起来看看销售订单管理的相关情况。销售订单管理是什么销售订单管理是企业在跟踪销售时候所选择的相关管理方法,其中包含有订单录用、审批、库存、分配、发货、发票以及售后服务等等多个环节,好
相关文章

外贸管理系统有哪些软件?外贸管理系统哪个好用?

现在很多企业会把自己的目光放在一些外贸业务上,因为他们认为这样可以让自己的企业朝着更好的方向发展,但是,在进行外贸业务选择时候,他们也会乐意选择使用外贸管理系统,那么,外贸管理系统有哪些软件呢?外贸管理系统哪个好用呢?外贸管理系统有哪些软件?外贸管理系统的软件非常多,常见的包含有以下这些软件:1、悟空CRM管理软件。悟空CRM管理软件是目前受认可度比较高的一款外贸管理系统,这款软件的优势在于能够让
相关文章

私有化CRM系统选择哪家好?私有化CRM系统的重要性

使用私有化CRM系统可以让企业的管理工作更顺利进行,但是,目前市场上的私有化CRM系统非常多,很多人不知道到底应该选择哪一种系统来满足自己的需求。那么,私有化CRM系统选择哪家好?私有化CRM系统的重要性体现在哪些方面呢?私有化CRM系统选择哪家好在众多的私有化CRM系统当中,悟空CRM是一个很不错的选择,之所以推荐它给大家,是因为它本身有这些优势:1、安全有保证。悟空crm支持私有化部署CRM,
相关文章

客户管理系统平台是什么?功能、价值、主要品牌的一文详解

客户管理系统平台是用在收集、管理、分析以及利用客户信息而设计出来的相关软件系统,客户管理系统平台的核心是以“客户为中心”的商业策略,它本身是一个比较全面的业务管理工具,有了这样的工具以后,可以让企业更好管理和客户的关系,让客户满意度得到提升,也能够让销售机会以及企业自身的盈利能力随之得到提升。那么,客户管理系统平台的功能有哪些?价值体现在哪里方面?主要品牌有哪些呢?客户管理系统平台功能有哪些客户管
相关文章

客户服务系统有哪些?客户服务系统哪个好用?

客户服务系统是主要用在管理企业和客户情况的系统,有了这样的系统以后,能够让客户的满意度和忠诚度得到提升,这类型的系统往往拥有工单管理、社交媒体、在线聊天、知识库、自助服务门户以及客户服务热线等等多种功能。那么,客户服务系统有哪些呢?客户服务系统哪个好用呢?客户服务系统有哪些1、悟空CRM。悟空CRM能够实现全面的客户关系管理,能够提供客户服务,还能够整合销售、市场营销以及客户服务等等多个方面需求,
相关文章

CRM实施的流程,CRM实施成功的关键因素有哪些?

CRM也就是客户关系管理系统,在实施CRM的过程当中,需要按照流程步骤来完成。所以,很多企业都希望能够了解到对应的实施步骤。那么,CRM实施的流程是怎样的?CRM实施成功的关键因素有哪些?下面和悟空CRM一起来看看答案。CRM实施的流程1、需求分析。明确企业实施CRM的目的、期望解决的问题以及具体的需求,其中包含有关键业务流程、性能指标以及用户需求等等多个方面,经过需求分析以后,才能够进入到下一个
相关文章

BI商业智能中的销售业绩目标完成情况分析

BI商业智能中的销售业绩目标完成情况分析销售业绩目标完成情况分析在后台给员工和部门设置合同金额和回款金额的年度、季度、月度目标根据实际回款和合同金额算出对应的部门和员工的完成率悟空CRM公司的软件使用者包括腾讯、中国重汽、携程网、OPPO、中兴等国内著名公司。悟空CRM为企业提供智能化BI商业智能系统、CRM系统、财务系统、人事软件、无代码平台等,其中无代码开发平台有50+种的企业应用,显著提升企
相关文章

BI商业智能中的产品销售情况分析

BI商业智能中的产品销售情况分析产品销售情况分析可以按照时间和员工部门对产品销售情况分析进行筛选查看主要是以产品为维度对产品的成交合同数、销售数量、对应的订单金额进行统计悟空CRM公司的软件使用者包括腾讯、中国重汽、携程网、OPPO、中兴等国内著名公司。悟空CRM为企业提供智能化BI商业智能系统、CRM系统、财务系统、人事软件、无代码平台等,其中无代码开发平台有50+种的企业应用,显著提升企业运营
相关文章

BI商业智能中的客户画像分析

BI商业智能中的客户画像分析客户画像分析以地图的形式可视化展示出整体客户及成交客户的地区分布分别统计出客户在不同行业、级别、来源的分布情况悟空CRM公司的软件使用者包括腾讯、中国重汽、携程网、OPPO、中兴等国内著名公司。悟空CRM为企业提供智能化BI商业智能系统、CRM系统、财务系统、人事软件、无代码平台等,其中无代码开发平台有50+种的企业应用,显著提升企业运营效率。请立刻免费试用。扩展阅读:
相关文章

BI商业智能中的回款金额分析

BI商业智能中的回款金额分析回款金额分析可以按照时间和员工部门对回款金额分析进行筛选查看回款金额分析包含当月回款金额、环比增长、同比增长三个维度的分析悟空CRM公司的软件使用者包括腾讯、中国重汽、携程网、OPPO、中兴等国内著名公司。悟空CRM为企业提供智能化BI商业智能系统、CRM系统、财务系统、人事软件、无代码平台等,其中无代码开发平台有50+种的企业应用,显著提升企业运营效率。请立刻免费试用
相关文章
最新文章

销售订单管理是什么?销售订单管理软件有哪些?

在企业销售时候,及时了解自己企业的订单情况很有必要,但是,传统的销售订单管理难度非常大,准确率也非常低,所以,很多人会考虑选择销售订单管理来满足自己的企业管理需求。那么,销售订单管理是什么?销售订单管理软件有哪些?下面一起来看看销售订单管理的相关情况。销售订单管理是什么销售订单管理是企业在跟踪销售时候所选择的相关管理方法,其中包含有订单录用、审批、库存、分配、发货、发票以及售后服务等等多个环节,好
最新文章

外贸管理系统有哪些软件?外贸管理系统哪个好用?

现在很多企业会把自己的目光放在一些外贸业务上,因为他们认为这样可以让自己的企业朝着更好的方向发展,但是,在进行外贸业务选择时候,他们也会乐意选择使用外贸管理系统,那么,外贸管理系统有哪些软件呢?外贸管理系统哪个好用呢?外贸管理系统有哪些软件?外贸管理系统的软件非常多,常见的包含有以下这些软件:1、悟空CRM管理软件。悟空CRM管理软件是目前受认可度比较高的一款外贸管理系统,这款软件的优势在于能够让
最新文章

私有化CRM系统选择哪家好?私有化CRM系统的重要性

使用私有化CRM系统可以让企业的管理工作更顺利进行,但是,目前市场上的私有化CRM系统非常多,很多人不知道到底应该选择哪一种系统来满足自己的需求。那么,私有化CRM系统选择哪家好?私有化CRM系统的重要性体现在哪些方面呢?私有化CRM系统选择哪家好在众多的私有化CRM系统当中,悟空CRM是一个很不错的选择,之所以推荐它给大家,是因为它本身有这些优势:1、安全有保证。悟空crm支持私有化部署CRM,
最新文章

快速注册,立即使用

仅需一分钟,立即注册悟空云。悟空CRM免费试用。
客户端下载