我们通常看到发布的开源模型都会有写10b,17b,100b等等这些数字,这些都是指的模型参数规模,现在大模型参数从原来的亿级暴增至几百亿,这些由于现在gpu性能的大幅提升以及应用对模型的性能需求,导致了参数规模爆发式增长。
模型训练阶段算力和显存都制约着训练的速度和训练阶段的持续性,如果一个模型在不同等算力的支持下训练时长会产生很大差异,这就是为什么使用高性能算力的显卡能够节省很多时间成本,而显存,当显存不足以装下模型和训练数据会导致训练过程出错中断,所以模型就影响了训练的持续性。
今天我们就是介绍下如何评估ai模型训练和推理阶段需要的gpu资源的分析,实际这个准确的gpu现存需求还是要根据实际情况进行二次评估和分析确认。
我们都知道模型有精度,这个精度表示模型速度存储到显存上所占用的空间长度,不同的精度占用的显存大小也是不一样的。
我们先来看看通常情况下模型精度的长度
格式 | 名称 | 占用空间 | 用途 |
---|---|---|---|
FP64 | 双精度 | 8字节 | 气候模拟,量子化学 |
FP32 | 单精度 | 4字节 | 传统科学计算、游戏渲染 |
FP16 | 半精度 | 2字节 | 深度学习训练(混合精度) |
BF16 | 2字节 | 适用大模型学习和推理 | |
INT8 | 1字节 | 边缘设备部署(如摄像头),推理阶段适用推荐的精度 | |
INT4 | 0.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
相关推荐
- linux使用mdadm创建软raid并挂载开机启动
- ubuntu使用nvbandwidth测试单节点gpu带宽性能
- GPU性能分析工具nsys(Nsight Systems)安装和简单使用
- GPU锁频的方法以及pytorch验证测试代码
- GPU计算能力、驱动、CUDA、架构兼容支持矩阵
- GPU计算能力(Compute Capability)对照表
- ubuntu22.04使用gpu-burn进行gpu显卡测试
- k8s集群中英伟达gpu多实例mig资源上报和分配方法
- ubuntu22.04安装nvidia-container-runtime
- ubuntu22.04离线安装containerd和crictl管理工具
评论列表