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