
# 资源规划设计
#### 算力资源规划
针对不同模型，集群规格（Snt9b、Snt9b23）、数据集大小等均会导致训练时间、集群卡数规模不同，如训练过程中对卡数或训练时间有要求，可根据以下公式计算预测：
- 训练时间(秒)：Time=Token~总~/(TPS\*N~卡数~)\*线性加速比，计算出的训练时间为范围值，仅作参考。
- 训练卡数：N~卡数~=Token~总~/(Time\*TPS)\*线性加速比，N~卡数~\>8时则需取整为8的倍数且不小于模型最小卡数配置。
参数解释：
- 总Tokens
指训练数据集的总Token数量（即所有样本经过分词器之后生成的Token数总和）。
例如：如果数据集有100万个样本，每个样本512个token，则总Tokens = 100万 × 512。
- TPS（Tokens Per Second per NPU）
单张NPU每秒能处理的token数量，衡量单卡计算效率的核心指标，各个模型的TPS可在benchmark表格中查找，benchmark中的吞吐值均为固定Seq测出基线值，benchmark表格可向华为工程师咨询。
- N卡数
参与训练的NPU总数量，例如：8卡并行训练时 N=8。
- 线性加速比
反映多卡并行时的效率损失（理想值为1，实际\<1），典型值：0.9以上（视集群网络和框架优化程度）。
![](https://support.huaweicloud.com/bestpractice-modelarts/public_sys-resources/note_3.0-zh-cn.png)
为了保证高可靠，建议预留整体5%资源量的Snt9b23资源做热备，从而确保在发生硬件故障时可以实现快速恢复，否则会导致故障恢复时间较长。
#### 存储资源规划
存储资源包括基础的节点硬盘存储资源、用于存储模型权重文件的存储资源以及用于存储训练数据的存储资源。由于Snt9b23节点不带本地硬盘，因此客户在购买Snt9b23节点时，需要在ModelArts界面添加数据盘。
**节点硬盘规划**
- 节点配置 1 \* 系统盘超高IO类型500GiB空间，供操作系统、基础软件等组件使用。
- 节点配置 1 \* 容器盘超高IO类型700GiB空间，供容器镜像、容器运行时和K8s Kubelet组件使用。
**权重文件\&训练数据存储规划**
- 推荐使用SFS Turbo文件系统存储模型权重文件及训练数据 自动驾驶领域建议"250MB/s/TiB"的规格，大语言模型建议"500MB/s/TiB"的规格或更高。容量为1.2TB起步且必须为1.2的倍数，容量推荐选择6TB以上，以减少权重加载时间。
  SFS的带宽估算公式如下：
  带宽（MB/s）≈ （保存优化器状态的权重大小\*1024）\*倍增系数/保存时间
  其中倍增系数通常取值为6\~8，推荐选取8作为系数，以确保资源充足，避免性能瓶颈。
  计算示例如下：
  如果保存优化器状态的权重大小为200GB，推荐保存时间是20min，则所需带宽：
  200GB\*1024\*8/1200s=1365MB/s。可参考估算的带宽进行规格及容量的选择。
  
SFS Turbo共享文件系统在部署过程中权重加载是并行执行，因此带宽共享，随着节点数增加需要增加容量来提升总带宽，从而确保单节点的带宽。
在发生硬件故障时需要重新挂载SFS Turbo到新的硬件资源，该操作会导致整体的故障恢复时间增加。
- 对可靠性要求高的训练，使用OBS文件系统与SFS Turbo构建多级别缓存联动方案，详细方案请参考[模型训练存储加速](https://support.huaweicloud.com/develop-modelarts/develop-modelarts-1421.html)。
**日志转储OBS规划**
- 推荐使用OBS进行训练日志、Plog等日志的存储配置，OBS选择"标准存储"格式。
 
#### CCE资源规划
CCE作为容器管理平台，承载着K8s调度，可按照纳管集群的节点数进行规格的选择，如4个超节点包含4\*48=192个节点，可以选择200节点的如下规格：
CCE容器集群 \| Turbo \| 200节点 \| 3实例（高可用）
#### CCE自有插件
CCE中需要安装如下插件以实现训练作业的生命周期管理及状态监控，创建CCE集群注意选择。
表1CCE插件 
| 插件名         | 插件作用                          | 安装方式   |
|:---|:---|:---|
| Volcano调度器  | 调度训练作业（必选）                    | 界面选择安装 |
| 云原生监控插件     | Prometheus插件安装（必选）            | 界面选择安装 |
| 云原生日志采集插件   | 容器日志采集插件（必选）                  | 界面选择安装 |
| CCE节点故障检测   | 搜集节点问题并将其报告给apiserver的插件      | 默认安装   |
| CoreDNS域名解析 | Kubernetes提供域名解析服务的DNS服务器（必选） | 界面选择安装 |
| 节点本地域名解析加速  | 本地域名解析加速                      | 默认安装   |
| CCE容器存储     | 无缝对接多种IaaS存储服务                | 默认安装   |
   
