评估AI模型需要gpu显存资源

我们通常看到发布的开源模型都会有写10b,17b,100b等等这些数字,这些都是指的模型参数规模,现在大模型参数从原来的亿级暴增至几百亿,这些由于现在gpu性能的大幅提升以及应用对模型的性能需求,导致了参数规模爆发式增长。

模型训练阶段算力和显存都制约着训练的速度和训练阶段的持续性,如果一个模型在不同等算力的支持下训练时长会产生很大差异,这就是为什么使用高性能算力的显卡能够节省很多时间成本,而显存,当显存不足以装下模型和训练数据会导致训练过程出错中断,所以模型就影响了训练的持续性。

今天我们就是介绍下如何评估ai模型训练和推理阶段需要的gpu资源的分析,实际这个准确的gpu现存需求还是要根据实际情况进行二次评估和分析确认。

我们都知道模型有精度,这个精度表示模型速度存储到显存上所占用的空间长度,不同的精度占用的显存大小也是不一样的。

我们先来看看通常情况下模型精度的长度

格式名称占用空间用途
FP64双精度8字节

气候模拟,量子化学

FP32单精度4字节

传统科学计算、游戏渲染

FP16半精度2字节

深度学习训练(混合精度)

BF16
2字节

适用大模型学习和推理

INT81字节

边缘设备部署(如摄像头),推理阶段适用推荐的精度

INT40.5字节

其他精度要求较低的边缘设备

除了以上精度以外,还有TF精度,它的优点是自动计算,占用显存更少,NVIDIA Ampere架构专用,TF32自动加速FP32计算,无需修改代码。

pytorch中可以适用简单代码检测是否支持TF32

import torch
torch.backends.cuda.matmul.allow_tf32

在实际使用中,还有使用混合精度存储,训练时用FP16加速计算,用FP32保存关键数据(如梯度),避免数值下溢/溢出,需要工具支持。

接下来我们就是简单评估一下deepseek R1 671B模型需要的显存大小,我们来大致计算下,计算出来的结果,我们需要使用的显存只能多不能少。

671*1000000000*2/(1024*1024*1024) ≈ 1250G,实际我们可以通过资料查询出来,671B的需要1500G左右。

当让上述算出来的1250G只是加载模型参数需要的显存大小,整个模型加载到显存,还有模型的梯度,优化器,激活值,喂给模型的训练数据,缓存等等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/1044

评论列表