更新时间:2024-12-16 GMT+08:00
分享

模型训练使用流程

AI模型开发的过程,称之为Modeling,一般包含两个阶段:

  • 开发阶段:准备并配置环境,调试代码,使代码能够开始进行深度学习训练,推荐在ModelArts开发环境中调试。
  • 实验阶段:调整数据集、调整超参等,通过多轮实验,训练出理想的模型,推荐在ModelArts训练中进行实验。

两个过程可以相互转换。如开发阶段代码稳定后,则会进入实验阶段,通过不断尝试调整超参来迭代模型;或在实验阶段,有一个可以优化训练的性能的想法,则会回到开发阶段,重新优化代码。

图1 模型开发过程

ModelArts提供了模型训练的功能,方便您查看训练情况并不断调整您的模型参数。您还可以基于不同的数据,选择不同规格的资源池用于模型训练。

请参考以下指导在ModelArts Standard上训练模型。

图2 ModelArts Standard模型训练流程
表1 Standard模型训练流程

操作任务

子任务

说明

准备工作

准备训练代码

模型训练必备要素包括训练代码、训练框架、训练数据。

训练代码包含训练作业的启动文件或启动命令、训练依赖包等内容。

准备训练框架(即训练镜像)

模型训练有多种训练框架来源,具体可以参考准备模型训练镜像
  • ModelArts Standard平台提供了模型训练常用的预置框架,可以直接使用。
  • 当预置框架不满足训练要求时,支持用户构建自定义镜像用于训练。

准备训练数据

训练数据除了训练数据集,也可以是预测模型。在创建训练作业前,需要先准备好训练数据。
  • 当训练数据可以直接使用,无需二次处理时,可以直接将数据上传至OBS桶。在创建训练作业时,训练的输入参数位置可以直接填写OBS桶路径。
  • 当训练数据集的数据未标注或者需要进一步的数据预处理,可以先将数据导入ModelArts数据管理模块进行数据预处理。在创建训练作业时,训练的输入参数位置可以选择数据管理模块的数据集。

创建调试训练作业

调试训练作业

模型训练前,一般会先对代码进行调试,ModelArts提供多种方式创建调试训练作业。

  • ModelArts提供了云化版本的JupyterLab,无需关注安装配置,即开即用。
  • ModelArts也提供了本地IDE的方式开发模型,通过开启SSH远程开发,本地IDE可以远程连接到调试训练作业中,进行调试和运行代码。本地IDE方式不影响用户的编码习惯,并且调试完成的代码可以零成本直接创建生产训练作业。支持的本地IDE请参考使用PyCharm ToolKit创建并调试训练作业

创建算法

创建算法

创建生产训练作业之前,需要先准备算法,可以是用户自己准备的算法,也可以使用从AI Gallery订阅的算法。

创建生产训练作业

训练作业基础功能

  • ModelArts Standard支持通过Console控制台的可视化界面创建训练作业,创建时基于算法来源和训练框架又区分多种创建方式,具体请参见表2
  • ModelArts Standard也支持通过调用API接口创建训练作业,请参见以PyTorch框架创建训练作业

训练作业进阶功能

ModelArts Standard还支持以下训练进阶功能,例如:

  • 增量训练
  • 分布式训练
  • 训练加速
  • 训练高可靠性

查看训练结果和日志

查看训练作业详情

训练作业运行中或运行结束后,可以在训练作业详情页面查看训练作业的参数设置,训练作业事件等。

查看训练作业日志

训练日志用于记录训练作业运行过程和异常信息,可以通过查看训练作业日志定位作业运行中出现的问题。

表2 训练作业的创建方式介绍

创建方式

适用场景

使用预置框架创建训练作业

如果您已在本地使用一些常用框架完成算法开发,您可以选择常用框架,创建训练作业来构建模型

使用自定义镜像创建训练作业

如果您开发算法时使用的框架并不是常用框架,您可以将算法构建为一个自定义镜像,通过自定义镜像创建训练作业。

使用已有算法创建训练作业

算法管理中,管理了用户自己创建的算法和AI Gallery订阅的算法,您可以使用算法管理中的算法,快速创建训练作业,构建模型。

使用订阅算法创建训练作业

AI Gallery中提供了现成的算法,供用户使用,您可以直接订阅AI Gallery中的算法,快速创建训练作业,构建模型。

相关文档