
# 准备工作
#### 前提条件
- 由于训练作业运行需消耗资源，为了避免训练失败请确保账户无欠费。详见[模型训练计费项](https://support.huaweicloud.com/price-modelarts/price-modelarts-0011.html)。
- 检查是否配置了访问授权。如果未配置，请参见[快速配置ModelArts委托授权](https://support.huaweicloud.com/permission-modelarts/modelarts_24_0085.html)完成操作。
 
#### 准备训练资源
在启动模型训练任务前，您需要准备计算资源完成后续模型训练任务。ModelArts提供了如下不同种类训练资源，请参考使用：
- **公共算力资源：** 在创建训练作业时称为**公共资源池**。公共资源池在您创建训练任务时为默认计算资源，无需额外配置和申请。仅需完成授权和账户无欠费即可使用。
- **专属算力资源：** 在创建训练作业时称为**专属资源池** 。需要您提前购买并配置到当前用户空间。专属资源池为特定用户、业务或项目专门划分和预留的资源集合，这些资源在物理或逻辑上与其他资源隔离开来，以确保特定需求能够得到满足。详细了解请参考[专属资源池功能介绍](https://support.huaweicloud.com/resmgmt-modelarts/resmgmt-modelarts_0003.html)。
在模型训练过程中，训练作业会产生大量的中间数据，如[CheckPoint](https://support.huaweicloud.com/usermanual-standard-modelarts/develop-modelarts-0023.html)数据，为保证数据的可靠性以及数据交换速率，建议购买**对象存储服务（OBS）** 或者**高性能弹性文件服务（SFS Turbo）** 资源。详细了解请参考[高性能弹性文件服务（SFS Turbo）](https://support.huaweicloud.com/productdesc-sfsturbo/sfsturbo_01_0360.html)和[对象存储服务（OBS）](https://support.huaweicloud.com/productdesc-obs/zh-cn_topic_0045829060.html)。
#### 准备训练数据
ModelArts平台提供了**预置数据** 和**自定义数据**，您可根据实际场景选择不同的数据集。以下分别说明两种数据集的功能：
- **预置数据：** ModelArts提供常用开源数据集，如果您想完成训练任务但又没有合适的数据集，或者想使用开源数据集做功能验证，可以使用预置数据集。详细了解请参考[预置数据](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0020.html)。
- **自定义数据** ：当预置数据无法满足要求的时候，您也可以将自己的数据上传至ModelArts平台托管，上传方法可参考[创建数据连接](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0015.html)。如果您的数据质量不高，您也可以使用ModelArts提供的[数据精炼](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0023.html)功能对数据做清洗和标注，生成符合要求的数据集。
生成的数据集都将作为数据资产在ModelArts平台托管，详细了解请参考[数据资产](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0032.html)。
#### 准备训练镜像
ModelArts平台提供了**预置镜像** 和**自定义镜像，**镜像中包含了创建训练任务的软件，您可根据需求灵活选择不同镜像。
- **预置镜像：** ModelArts平台提供了包含PyTorch、TensorFlow、MindSpeed、MindSpore等主流训练框架的镜像，您可以直接选择预置镜像，快速完成训练任务。如需更进一步了解平台提供的预置镜像，请参考[ModelArts预置镜像](https://support.huaweicloud.com/docker-modelarts/docker-modelarts_6030.html)。
- **自定义镜像** ：当平台提供的预置镜像无法满足训练要求时，您可基于预置镜像制作增量镜像，也可从0开始制作新的镜像。如需了解如何制作用于模型训练的镜像，请参考[训练作业的自定义镜像制作流程](https://support.huaweicloud.com/docker-modelarts/develop-modelarts-10079.html)。
 
 #### 准备训练代码
训练代码是整个训练作业的执行主体，它是连接"数据"与"模型"之间的桥梁：ModelArts平台负责调度算力资源、拉取数据与代码、管理分布式组网，而真正决定"模型学到了什么"的核心逻辑，则完全由开发者编写的训练代码承担。
训练代码需要完成数据加载、模型定义、前向与反向传播、参数更新、指标记录这一完整链路，并且要能够正确响应平台传入的启动参数与环境变量，才能被ModelArts训练作业机制识别、调度并纳入自动化流水线。可以说，平台提供的是"训练场地和电力"，而训练代码则是真正"跑起来的运动员"，其编写质量直接决定了训练速度、资源利用率以及最终模型效果。
ModelArts提供了针对预置框架、自定义框架等不同场景的示例代码。
