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

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

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

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

此前,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

相关内容

CRM在商业中的使用有哪些?

CRM在商业中的使用有哪些?CRM在商业当中使用得比较广泛,涵盖的领域也比较多,所以,很多人都希望可以知道它在商业当中具体被用在哪些方面,那么,CRM在商业中的使用具体体现在哪些方面呢?接下来和悟空CRM一起来看看答案。1、销售管理。CRM可以被用在收集、分类、评分和分配销售线索,帮助销售人员优先关注最有可能成为成交的潜在客户,同时,它的销售流程也可以实现自动化,还能够预测和进行绩效管理。2、市场
相关文章

客户服务系统是什么?有什么重要性?

客户服务系统相信很多企业管理者都不会觉得陌生,但是,他们往往对这个系统的相关情况也不熟悉,所以,他们会问:客户服务系统是什么?有什么重要性呢?下面就和悟空CRM一起来了解这两个问题的答案。客户服务系统是什么客户服务系统是一种用在管理和优化企业以及客户之间互动的技术解决方案,这类型的解决方案包含有很多工具和程序,作用在于能够让客户体验得到提升,也能够让客户满意度增加,除此以外,它还能够让企业的运营效
相关文章

本地化部署CRM软件有哪些厂家?为什么选择悟空CRM?

本地化部署CRM软件的好处在于它可以在企业自己的服务器上运行和使用,并不需要在云服务提供商的服务器上面使用,这样就能够确保数据安全性,也能够达到企业更好控制数据的效果,所以,很多大型企业都会考虑使用这样的软件满足企业的管理需求。那么,本地化部署CRM软件有哪些厂家呢?为什么选择悟空CRM呢?下面就一起来看看答案。本地化部署CRM软件有哪些厂家1、悟空CRM。悟空CRM相信很多国内企业管理者都听说过
相关文章

解码神器:诉讼案件管理工具的功能与作用探析

当我们面对复杂的法律纠纷和冗长的诉讼流程时,一款高效的诉讼案件管理工具就如同一盏明灯,为我们照亮前行的道路。那么,这样的工具究竟有何神通广大之处呢?让我们一起揭秘其功能与作用。1. 组织与跟踪案件信息就像你的个人助手一样,诉讼案件管理工具能帮你整理所有的案件细节。从起诉状到判决书,从证人名单到法庭日期,所有重要信息都能一目了然地存储和更新,确保你不会错过任何关键步骤。2. 提升效率与准确性传统的手
相关文章

本地化部署CRM软件与SaaS化CRM的优缺点是什么?

很多企业在选择crm系统时候,往往会因为不知道自己应该选择本地化CRM软件还是Saas化CRM而烦恼,所以,他们希望能够知道二者的优缺点是怎样的。通过了解优缺点来判断哪一种系统更适合自己选择。那么,本地化部署CRM软件与SaaS化CRM的优缺点是什么?下面和小编一起来看看答案。本地化部署CRM软件与SaaS化CRM的优缺点本地化部署CRM软件的优缺点优点。本地化部署CRM软件的有点在于它的相关数据
相关文章

主流客户服务系统(可免费试用),腾讯使用的品牌

现在是数字化转型的时代,企业对客户服务系统也比较依赖,他们在选择这类型的系统时候都会考虑一些能够帮助提升客户体验、优化内部管理流程的大型系统,在面对市场上众多的系统时候,他们认为选择可免费试用的系统能够让自己更准确知道所选择的系统如何。那么,主流客户服务系统(可免费试用),腾讯使用的品牌到底是哪个呢?下面来看看答案。在众多的主流客户服务系统(可免费试用)当中,悟空CRM凭借着自身卓越的功能以及优秀
相关文章

客户CRM管理系统选型指南:主流工具哪家好?

对于企业管理者而言,选择到合适的客户CRM管理系统能够帮助优化企业销售、市场营销以及服务流程,它的重要性不言而喻,但是,面对市场上众多的客户CRM管理系统时候,很多企业管理者往往不知道自己到底应该选择什么样的产品才能够满足自己的企业CRM管理需求。那么,客户CRM管理系统选型指南是怎样的?主流工具哪家好呢?下面就一起来做了解。客户CRM管理系统选型指南1、功能需求。选择客户CRM管理系统时候,首先
相关文章

本地化部署CRM软件安全性如何?哪家品牌好?

有很多企业管理者都会结合自己企业的管理需求而选择CRM软件满足自己企业的仓储管理需求,有的人表示:自己在了解本地化部署CRM时候,得知这种部署方式是比较受关注的一种部署方式。但是,他们也会因为担心这种部署方式的安全性而烦恼不已。那么,本地化部署CRM软件安全性如何呢?本地化部署CRM软件哪家品牌好?下面就一起来做了解。本地化部署CRM软件安全性如何本地化部署CRM软件的安全性是值得肯定的,它能够提
相关文章

CRM外呼系统是什么?CRM外呼系统有什么重要性?

可能有的企业管理者听说过CRM外呼系统,但是,他们对这种系统的相关情况并不了解,甚至不知道这类型的系统到底是什么。那么,CRM外呼系统是什么?CRM外呼系统的功能?有什么重要性呢?下面就和悟空CRM一起来看看这两个问题的答案。CRM外呼系统是什么CRM外呼系统是一种集成在客户关系管理系统当中的工具,它专门设计用在管理企业和现有客户以及潜在客户之间的外呼活动,这类型的系统往往具备自动化呼叫、呼叫脚本
相关文章

外贸用哪些CRM外贸管理软件?出口企业专用的

外贸企业选择CRM系统的目的是为了让自己的企业客户管理工作变得更简单,但是,目前市场上的CRM外贸管理软件非常多,很多人都不知道应该选择什么样的CRM外贸管理软件才能够满足自己的企业管理需求。那么,外贸用哪些CRM外贸管理软件?出口企业专用的软件哪个好?外贸用哪些CRM外贸管理软件?1、悟空CRM。悟空CRM是一款专门为出口企业设计的CRM软件,本身有独特的功能和优势,主要体现在有全面的业务管理功
相关文章
最新文章

CRM在商业中的使用有哪些?

CRM在商业中的使用有哪些?CRM在商业当中使用得比较广泛,涵盖的领域也比较多,所以,很多人都希望可以知道它在商业当中具体被用在哪些方面,那么,CRM在商业中的使用具体体现在哪些方面呢?接下来和悟空CRM一起来看看答案。1、销售管理。CRM可以被用在收集、分类、评分和分配销售线索,帮助销售人员优先关注最有可能成为成交的潜在客户,同时,它的销售流程也可以实现自动化,还能够预测和进行绩效管理。2、市场
最新文章

客户服务系统是什么?有什么重要性?

客户服务系统相信很多企业管理者都不会觉得陌生,但是,他们往往对这个系统的相关情况也不熟悉,所以,他们会问:客户服务系统是什么?有什么重要性呢?下面就和悟空CRM一起来了解这两个问题的答案。客户服务系统是什么客户服务系统是一种用在管理和优化企业以及客户之间互动的技术解决方案,这类型的解决方案包含有很多工具和程序,作用在于能够让客户体验得到提升,也能够让客户满意度增加,除此以外,它还能够让企业的运营效
最新文章

本地化部署CRM软件有哪些厂家?为什么选择悟空CRM?

本地化部署CRM软件的好处在于它可以在企业自己的服务器上运行和使用,并不需要在云服务提供商的服务器上面使用,这样就能够确保数据安全性,也能够达到企业更好控制数据的效果,所以,很多大型企业都会考虑使用这样的软件满足企业的管理需求。那么,本地化部署CRM软件有哪些厂家呢?为什么选择悟空CRM呢?下面就一起来看看答案。本地化部署CRM软件有哪些厂家1、悟空CRM。悟空CRM相信很多国内企业管理者都听说过
最新文章

快速注册,立即使用

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