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

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

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

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

此前,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?概念、作用、价值、用途、使用方法

1、什么是CRM?简单来说,它就是企业用来管理客户关系的工具说到CRM,很多人可能会觉得这个概念听起来有点复杂,但实际上,它并没有想象中那么难懂。简单来说,CRM就是客户关系管理(Customer Relationship Management),它的核心目标就是帮助企业更好地与客户互动,提升客户满意度,同时提高企业的效率和利润。如果你是一个企业的管理者,或者正在考虑如何优化你的业务流程,那你一定
相关文章

什么是CRM?一文全面看懂CRM(客户关系管理系统)

什么是CRM?一文全面看懂CRM嘿,朋友!今天咱们来聊一个听起来有点专业,但其实跟咱们生活、工作都息息相关的词——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。保证用最接地气的话给你讲明白,连隔壁王大妈听了都能懂!一、CRM到底是个啥?能吃吗?说白了,CRM就是客户关系管理,英文全称Customer Relationship Managem
相关文章

CRM是什么意思啊,主要是干什么的?(专业解析)

嘿,朋友们!今天咱们来聊聊一个听起来有点专业、但其实跟咱们日常生活息息相关的话题——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。说白了,CRM就是客户关系管理,英文全称Customer Relationship Management。听起来是不是还挺直白的?但你可别被这个简单的名字骗了,这可是个超级实用的工具。想象一下,如果你是个老板,每
相关文章

CRM是什么?CRM专业解读,3分钟快速入门

什么是CRM?通俗易懂的解释在当今竞争激烈的商业环境中,客户关系管理(CRM)已经成为企业不可或缺的一部分。那么,究竟什么是CRM呢?简单来说,CRM是一种帮助企业更好地管理与客户之间关系的工具和方法。它不仅仅是软件,更是一种理念,旨在通过收集、分析和利用客户数据,来提升客户满意度和忠诚度,从而推动企业的增长和发展。想象一下,当你走进一家你常去的咖啡店,店员知道你喜欢的咖啡种类和甜度,甚至会在你到
相关文章

什么是CRM系统,它的价值是什么?CRM全面指南

什么是CRM系统?在现代商业环境中,客户关系管理(CRM)系统已经成为企业不可或缺的工具。那么,究竟什么是CRM系统呢?简单来说,CRM是一种用于管理与客户互动的软件解决方案,它帮助企业更好地理解客户需求、跟踪客户互动,并优化销售和服务流程。想象一下,您在一家公司工作,每天都要处理大量的客户信息、订单和反馈,这些信息如果分散在不同的地方,不仅会让人感到无所适从,还可能导致沟通不畅和效率低下。这时候
相关文章

什么是CRM?概念、作用、如何运作的

什么是CRM?它为什么这么重要?嘿,咱们今天来聊聊一个在商业世界里经常被提起的话题——CRM。你可能听说过这个词,但到底什么是CRM呢?简单来说,CRM就是客户关系管理(Customer Relationship Management)的缩写。听起来有点专业,但其实它的核心思想并不复杂。想象一下,你和朋友之间的关系,如果你们经常沟通、互相了解,那这段关系自然会更稳固。而CRM呢,就是帮助企业跟客户
相关文章

CRM是什么意思?为什么中小企业一定要用?

CRM是什么意思?为什么中小企业一定要用?大家好!今天我想和大家聊聊一个在商业领域越来越火的话题——CRM。你可能听过这个词,但可能还不太清楚它到底是什么,或者为什么它对中小企业如此重要。别担心,我会用最通俗易懂的方式,带你一步步了解CRM的“前世今生”,以及它为什么能成为中小企业的“必备神器”。一、CRM到底是什么?我们先从最基础的问题开始:CRM到底是什么意思?其实,CRM的全称是Custom
相关文章

CRM销售机会管理是什么?

嘿,大家好!今天咱们聊聊一个对做生意特别重要的东西——CRM销售机会管理。你知道吗?在这个竞争激烈的时代里,谁能更好地把握住每一个潜在客户,谁就能在市场上站稳脚跟。而说到这个话题啊,我得先给你推荐一款超级好用的工具——悟空CRM。它不仅功能强大,而且操作起来也特别简单,简直就是为咱们这些忙碌的生意人量身定做的。首先,咱们得明白什么是CRM销售机会管理。简单来说呢,就是通过一套系统化的流程来跟踪、分
相关文章

什么是CRM系统平台?基本概念、功能、使用方法、价格、价值与部署流程

 引言嘿,大家好!今天咱们聊聊一个在现代商业环境中超级重要的工具——CRM系统平台。说白了啊,这个东西就是帮公司更好地了解和处理跟客户的各种互动,从而提高销售效率、提升服务质量的一种神器。著名的CRM系统平台为什么我们要谈论它呢?那可太有道理啦!在这个竞争激烈的时代,企业要想脱颖而出,光靠产品或服务本身是不够的,还得懂得如何用心经营与客户的每一段关系。而CRM就像是企业的私人助手一样,在
相关文章

销售CRM管理系统如何提升团队执行力?

嘿,大家好!今天咱们来聊聊一个特别实用的话题——销售CRM管理系统怎么帮助提升团队的执行力。说到这个,我得先提一提悟空CRM,这可是个挺不错的工具,用起来方便又高效,很多企业都靠它解决了不少头疼的问题呢。首先,咱们得明白一件事,就是现在的市场竞争有多激烈啊。每个公司都在想方设法提高效率、增强竞争力,而销售团队作为直接面对客户的前线部队,他们的表现直接影响着公司的业绩。这时候,一个好的CRM系统就显
相关文章
最新文章

什么是CRM?概念、作用、价值、用途、使用方法

1、什么是CRM?简单来说,它就是企业用来管理客户关系的工具说到CRM,很多人可能会觉得这个概念听起来有点复杂,但实际上,它并没有想象中那么难懂。简单来说,CRM就是客户关系管理(Customer Relationship Management),它的核心目标就是帮助企业更好地与客户互动,提升客户满意度,同时提高企业的效率和利润。如果你是一个企业的管理者,或者正在考虑如何优化你的业务流程,那你一定
最新文章

什么是CRM?一文全面看懂CRM(客户关系管理系统)

什么是CRM?一文全面看懂CRM嘿,朋友!今天咱们来聊一个听起来有点专业,但其实跟咱们生活、工作都息息相关的词——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。保证用最接地气的话给你讲明白,连隔壁王大妈听了都能懂!一、CRM到底是个啥?能吃吗?说白了,CRM就是客户关系管理,英文全称Customer Relationship Managem
最新文章

CRM是什么意思啊,主要是干什么的?(专业解析)

嘿,朋友们!今天咱们来聊聊一个听起来有点专业、但其实跟咱们日常生活息息相关的话题——CRM。你可能会问:"CRM是什么意思啊?这玩意儿到底是干啥的?"别急,咱们慢慢唠。说白了,CRM就是客户关系管理,英文全称Customer Relationship Management。听起来是不是还挺直白的?但你可别被这个简单的名字骗了,这可是个超级实用的工具。想象一下,如果你是个老板,每
最新文章

快速注册,立即使用

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