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

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

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

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

此前,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%左右。下面我们看一下官方给的结果:

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

可以看到,该工具估算的显存大小与实际官方推荐的差别还是比较大的。但是,我们再估算一下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的成本首先呢,我想问问你有没有想过这样一个问题:“我到底该不该花这笔钱去购买并实施一套新的CRM?”其实这很正常啦,毕竟谁也不想把宝贵的预算浪费
相关文章

CRM系统的数据挖掘和预测分析能力如何?

CRM系统的数据挖掘与预测分析:开启商业智慧的大门嘿,大家好!今天咱们聊聊一个在现代企业管理中越来越火的话题——CRM系统中的数据挖掘和预测分析能力。你是不是经常听到“大数据”、“人工智能”这些词呢?其实啊,在客户关系管理(CRM)领域里头,这两个概念也正在改变游戏规则。什么是CRM?首先得解释一下什么叫作CRM吧。简单来说,CRM就是一套帮助公司更好地理解和服务客户的工具和技术集合体。它不仅能够
相关文章

CRM系统的特点有哪些?它的主要作用是什么?

CRM系统:让客户管理变得更轻松嘿,大家好!今天咱们来聊聊一个在商业领域里非常有用的小工具——CRM(Customer Relationship Management)系统。你可能听说过它,也可能对它还比较陌生,没关系,我会尽量用通俗易懂的语言帮你理解这个东西到底是个啥,有什么特点和主要作用。什么是CRM?首先得弄明白,“CRM”这三个字母是“Customer Relationship Manag
相关文章

CRM软件管理系统是什么?它的主要功能和作用是什么?

CRM 软件管理系统:现代企业运营的好帮手嘿!你知道吗?如今的企业管理可不像以前那么简单了。随着市场的竞争日益激烈,客户关系变得越来越重要,而CRM(Customer Relationship Management)软件系统就是为此应运而生的一种强大工具。一、什么是CRM?简单来说,CRM是一种用来管理和优化与客户的互动的技术解决方案。它就像一个超级智能的大脑,帮助公司记住每个客户的信息,并且在合
相关文章

CRM的价格是多少?咋定价的?

嗨,大家好!今天咱们来聊聊一个大家都关心的话题——CRM系统的定价问题。你知道吗,在选择适合自己的客户关系管理(CRM)系统时,价格往往是决定性因素之一。一、市场上的CRM产品大概价格首先得说一句:市场上CRM产品的比较多!通常分为开源CRM、SAAS云服务、私有化部署。开源CRM好的品牌比较少,通常时商用后开始收费。SAAS云服务通常几百元每人每年,而私有化部署的价格通常根据其需要,几万或者几十
相关文章

CRM系统如何轻松记录客户的过去与现在?

嘿!大家好呀,今天咱们来聊聊一个超厉害的东西——CRM系统。这玩意儿可真不是普通的工具哦,它就像你口袋里的私人助手一样贴心呢。不管是企业还是个人创业者,在和顾客打交道的过程中都离不开这个得力帮手。首先吧,什么是CRM呢?简单来说就是用来管理所有跟客户有关的信息、互动和服务的一种软件系统啦。通过使用CRM系统,你可以把每一位客户的历史记录、当前情况以及未来期望统统整理得井井有条,这样不仅提高了工作效
相关文章

企业营销中的视频推广工作原理与CRM客户管理

企业营销中的视频推广工作原理与CRM客户管理一、企业为啥要拍视频?目前很多客户已经从传统的搜索引擎流向了抖音视频等平台,进行视频营销推广对于企业的产品销售与营销具有重要的作用。通过视频,以传播CRM、销售知识等为介质,目的找到潜在客户,让客户去使用咱们的产品,然后购买咱们的产品。那么要求看到视频的潜在客户,可以通过看视频后,然后联系到咱们(使用CRM管理通过微信、私信、抖音下评论、电话来的客户线索
相关文章

什么是CRM软件?CRM软件的基本概念、功能、优点、优势、核心价值

什么是CRM软件?嘿,你知道吗?在这个信息爆炸的时代,企业想要在众多竞争对手中脱颖而出真的不容易。今天我想跟你聊聊一个特别的工具——CRM软件,它就像是企业的私人管家,专门负责打理与客户之间的关系。CRM是Customer Relationship Management(客户关系管理)的缩写,听起来可能有点复杂,但其实它的概念很简单。想象一下,你每天要面对那么多顾客,光是记住他们的名字就已经够难了
相关文章

CRM选型,如何选到合适的CRM系统

嘿!大家好,在这个数字时代,与客户的联系变得比以往任何时候都要重要。一个有效的CRM系统可以让我们更好地了解我们的客户,提高工作效率,并最终增加销售量。但是,面对市面上琳琅满目的CRM系统,你是不是感到有些迷茫呢?别担心,接下来我将为大家提供一些指导性建议,帮助各位挑选出最适合自己的那一款。一、明确自身需求在开始之前,请先认真思考一下自己真正需要什么功能,比如是否重视销售预测或客户服务?是更关注营
相关文章

CRM管理系统软件怎样优化企业的日常运营?

CRM管理系统软件怎样优化企业的日常运营?一、提升客户关系管理效率每个企业都希望与自己的顾客建立并保持长期稳定的关系。为了实现这个目标,我们需要了解每个客户的喜好和需求。然而,在没有合适的工具帮助的情况下,这项工作可能会变得繁琐且耗时。这时就需要一个强大的CRM管理系统软件来帮我们记录所有关于客户的详细信息,并根据这些数据进行分析,以便更好地理解客户需求,制定更有针对性的营销策略。二、加强团队合作
相关文章
最新文章

CRM软件管理系统是什么?它的主要功能和作用是什么?

CRM 软件管理系统:现代企业运营的好帮手嘿!你知道吗?如今的企业管理可不像以前那么简单了。随着市场的竞争日益激烈,客户关系变得越来越重要,而CRM(Customer Relationship Management)软件系统就是为此应运而生的一种强大工具。一、什么是CRM?简单来说,CRM是一种用来管理和优化与客户的互动的技术解决方案。它就像一个超级智能的大脑,帮助公司记住每个客户的信息,并且在合
最新文章

CRM系统的特点有哪些?它的主要作用是什么?

CRM系统:让客户管理变得更轻松嘿,大家好!今天咱们来聊聊一个在商业领域里非常有用的小工具——CRM(Customer Relationship Management)系统。你可能听说过它,也可能对它还比较陌生,没关系,我会尽量用通俗易懂的语言帮你理解这个东西到底是个啥,有什么特点和主要作用。什么是CRM?首先得弄明白,“CRM”这三个字母是“Customer Relationship Manag
最新文章

CRM系统的数据挖掘和预测分析能力如何?

CRM系统的数据挖掘与预测分析:开启商业智慧的大门嘿,大家好!今天咱们聊聊一个在现代企业管理中越来越火的话题——CRM系统中的数据挖掘和预测分析能力。你是不是经常听到“大数据”、“人工智能”这些词呢?其实啊,在客户关系管理(CRM)领域里头,这两个概念也正在改变游戏规则。什么是CRM?首先得解释一下什么叫作CRM吧。简单来说,CRM就是一套帮助公司更好地理解和服务客户的工具和技术集合体。它不仅能够
最新文章

快速注册,立即使用

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