需要多少GPU显存才能运行预训练大语言模型?大语言模型参数规模与显存大小的关系估算方法~
开源大语言模型的发展非常迅速,其强大的能力也吸引了很多人的尝试与体验。尽管预训练大语言模型的使用并不复杂,但是,因为其对GPU资源的消耗很大,导致很多人并不能很好地运行加载模型,也做了很多浪费时间的工作。其中一个比较的的问题就是很多人并不知道自己的显卡支持多大参数规模的模型运行。本文将针对这个问题做一个非常简单的介绍和估算。

大模型消耗的显存简介
在详细说明大模型需要消耗的显存大小之前我们需要先明确几个概念。
一个就是大模型在不同阶段对显存的消耗是不同的。但是大致可以分为三个阶段或者说三个场景。即大模型预训练阶段、大模型微调阶段和大模型推理阶段。
在预训练阶段,大模型通常选择较大规模的数据集获取泛化能力,因此需要较大的批次等来保证模型的训练强大。而模型的权重也是从头开始计算,因此通常也会选择高精度(如32位浮点数)进行训练。需要消耗大量的GPU显存资源。
在微调阶段,通常会冻结大部分参数,只训练小部分参数。同时,也会选择非常多的优化技术和较少的高质量数据集来提高微调效果,此时,由于模型已经在预训练阶段进行了大量的训练,微调时的数值误差对模型的影响通常较小。也常常选择16位精度训练。因此通常比预训练阶段消耗更低的显存资源。
在推理阶段,通常只是将一个输入数据经过模型的前向计算得到结果即可,因此需要最少的显存即可运行。
下面是针对大模型在不同阶段消耗的显存的详细估算。
