
# 资源规划设计
部署所需算力和存储资源考虑维度如下：
- 训练作业的性能要求。
- 模型权重存储的性能与容量规格。
- 训练机器资源规划。
#### 算力资源规划
针对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的存储加速实践](https://support.huaweicloud.com/bestpractice-sfsturbo/sfsturbo_03_0018.html)。
**日志转储OBS规划**
推荐使用OBS进行训练日志的存储配置，OBS选择"标准存储"格式。
#### 高可用规划
当执行训练作业时，可能会出现服务器的故障。此时，我们可以热备一些节点资源来满足训练的高可用。在本例中，训练UniAD模型需要一台服务器资源，我们可以热备一台服务器，当训练节点故障时及时完成替换。
