资源规划设计
部署所需算力和存储资源考虑维度如下:
- 训练作业的性能要求。
- 模型权重存储的性能与容量规格。
- 训练机器资源规划。
算力资源规划
针对UniAD模型,单机就可以满足模型的训练。对于卡数的选择与batchsize的大小,数据量的大小有关,例如:batchsize 为 4,数据量为400G,样本数11w,所占用显存大小为50GB。所需卡数 = 预估显存/单卡显存数量。
存储资源规划
存储资源包括基础的节点硬盘存储资源、用于存储模型权重文件的存储资源、用于存储训练数据的存储资源以及训练过程中保存的CKPT大小。
节点硬盘规划
节点配置 1 * 系统盘超高IO类型500GiB空间,供操作系统、基础软件等组件使用。
节点配置 1 * 容器盘超高IO类型700GiB空间,供容器镜像、容器运行时和K8s Kubelet组件使用。
权重文件&训练数据存储规划
- 推荐使用SFS Turbo文件系统存储模型权重文件及训练数据。
SFS Turbo文件系统建议选择“250MB/s/TiB”的规格。容量为1.2TB起步且必须为1.2的倍数,容量推荐选择6TB以上,以减少权重加载时间。
- SFS Turbo的带宽估算可通过如下几个维度进行评估:
- 单节点单次处理的数据量
- 并行训练的节点数
- 权重值的大小
计算示例如下:
在UniAD模型下,仅需一台机器即可完成训练,模型权重为500MB,单节点单次处理的数据集为64个,每个数据集大小为4MB,则所需带宽:
(4MB * 64 + 500MB) * 1 / 1024 ≈ 0.75GB,可以根据估算的带宽值进行规格及容量的选择。
SFS Turbo共享文件系统在部署过程中权重加载是并行执行,因此带宽共享,随着节点数增加需要增加容量来提升总带宽,从而确保单节点的带宽。
如其他原因,可以使用OBS和SFS Turbo进行文件存储,OBS和SFS Turbo详细方案见面向AI场景使用OBS+SFS Turbo的存储加速实践。
日志转储OBS规划
推荐使用OBS进行训练日志的存储配置,OBS选择“标准存储”格式。
高可用规划
当执行训练作业时,可能会出现服务器的故障。此时,我们可以热备一些节点资源来满足训练的高可用。在本例中,训练UniAD模型需要一台服务器资源,我们可以热备一台服务器,当训练节点故障时及时完成替换。