创建训练自定义作业(推荐)
场景描述
本章节内容仅适用于“西南-贵阳一”站点。控制台界面为新版样式。
在模型开发过程中,如何高效地优化模型性能是一个关键挑战。传统的模型训练方式往往需要反复尝试不同的模型结构、数据集和超参数组合,这不仅耗时耗力,还可能导致训练效果不理想。针对这一问题,ModelArts的训练模块提供了一套完整的解决方案。它支持创建训练作业、实时监控训练进展以及管理训练版本,帮助用户系统化地优化模型性能。通过ModelArts,用户可以轻松试验不同的模型结构、数据集和超参数组合,从而快速找到最优的模型配置和权重。
创建生产环境的训练作业有2种方式:
- 通过ModelArts控制台的方式创建生产环境的训练作业。本文提供了新版页面的操作指导,默认页面(即旧版页面)的操作指导请参见创建生产训练作业(旧版)。
- 通过ModelArts提供的API接口创建生产环境的训练作业,详细操作请参见使用API创建训练作业。
约束限制
- 仅“西南-贵阳一”站点支持。
- 作业额度:默认支持创建10000条训练作业,剩余额度可以在训练作业列表页查看。
图1 查看训练作业剩余额度
- 存储限制:ModelArts 不支持已启用桶加密功能的 OBS 桶,请在创建 OBS 桶时勿开启此选项。
前提条件
- 由于训练作业运行需消耗资源,为了避免训练失败请确保账户未欠费。
- 已经将用于训练作业的数据上传至OBS目录。
- 已经在OBS目录下创建了至少1个空的文件夹,用于存储训练输出的内容。
ModelArts不支持加密的OBS桶,创建OBS桶时,请勿开启桶加密。
- 确保使用的OBS目录与ModelArts在同一区域。
- 检查是否配置了访问授权。如果未配置,请参见快速配置ModelArts委托授权完成操作。
计费影响
在ModelArts进行模型训练时,会产生计算资源和存储资源的累计值计费。计算资源为训练作业运行的费用。存储资源包括数据存储到OBS或SFS的费用。详见模型训练计费项。
创建作业操作流程一览
创建训练作业的操作步骤如下所示。
步骤一:进入创建训练作业页面:登录控制台,进入训练作业列表。
步骤二:训练模式:配置训练模式。
步骤三:基本信息:配置作业名称、描述等基本信息。
步骤四:训练配置:配置训练作业的镜像、启动命令和环境变量等参数。
步骤五:资源配置:配置资源池类型、实例规格、实例数、存储挂载、作业优先级和允许被抢占等信息。
步骤六:高可用配置:配置自动重启(无条件自动重启、作业卡死重启)等信息。
步骤七:访问配置:配置调试、SSH远程开发和生成节点间SSH免密互信文件等。
步骤八:可观测配置:配置采集Prometheus指标信息。
步骤九:更多配置:配置日志、作业可见范围、自动停止、事件通知和标签等信息。
步骤一:进入创建训练作业页面
- 登录ModelArts管理控制台。
- 在左侧导航栏中,选择进入训练作业列表。
- 单击“创建训练作业”,进入创建训练作业页面,默认进入新版页面,以下内容主要介绍新版创建训练页面操作。
步骤二:训练模式
|
训练模式 |
解释说明 |
|---|---|
|
精调作业 |
适用于基于已有预训练模型(如盘古大模型、ResNet等)进行微调的场景。 |
|
自定义作业 |
适用于希望完全自定义训练流程,使用自研代码或特定框架镜像的场景。 此处选择“自定义作业”模式。 |
步骤三:基本信息
|
参数名称 |
说明 |
|---|---|
|
作业名称 |
必填,训练作业的名称。 系统会自动生成一个名称,可以根据业务需求重新命名,命名规则如下:
|
|
描述(可选) |
训练作业的简介,便于在训练作业列表了解作业信息。 |
步骤四:训练配置
|
参数名称 |
说明 |
|---|---|
|
选择镜像 |
指定运行训练代码的容器镜像,有以下两种镜像: 预置镜像:选择平台提供的常用框架镜像(如 PyTorch 1.8、TensorFlow 2.1),适合大多数常见场景。 自定义镜像:使用您自己制作并推送至 SWR 镜像仓库的镜像,注意该镜像需要在ModelArts镜像管理内注册。 当平台预置的基础镜像无法满足您的依赖需求时,支持自定义镜像进行训练,所需镜像需提前注册到ModelArts镜像管理上。 |
|
启动命令 |
容器启动后执行的命令,用以启动您的训练脚本。
启动命令支持使用“;”和“&&”拼接多条命令,命令中的“demo-code”为存放代码目录的最后一级OBS目录,以实际情况为准。
说明:
为保证数据安全,请勿输入敏感信息,例如明文密码。 |
|
代码目录(可选) |
选择训练代码文件所在的OBS目录。当“选择镜像”选择“预置镜像”时,该参数必填;当“选择镜像”选择“自定义镜像”时,该参数可选。
|
|
本地代码目录 |
用于指定训练容器的本地目录,启动训练时系统会将代码目录下载至此目录,默认本地代码目录为“/home/ma-user/modelarts/user-job-dir”。 本地代码目录不支持在/home/ma-user/modelarts/*,/home/ma-user/modelarts-dev/*,/home/ma-user/infer/*目录下,也不支持配置成/home/ma-user。 单击右侧的“运行环境预览”,可以查看训练作业的工作目录。 |
|
环境变量 |
根据业务需求增加环境变量。训练容器中预置的环境变量请参见管理训练容器环境变量。
说明:
为保证数据安全,请勿输入敏感信息,例如明文密码。 |
步骤五:资源配置
|
参数名称 |
说明 |
|---|---|
|
资源池类型 |
|
|
资源池 |
仅选择“专属资源池”后出现此参数,在“资源池”中单击“选择资源池”,在右侧弹窗中选择要使用的专属资源池或者逻辑子池后,单击“确定”。 选择界面支持查看当前专属资源池的名称、节点池规格、可用节点数/最大节点数、可用NPU/GPU设备数、可用CPU(vCPUs)、可用内存(GiB)以及资源碎片。单击资源碎片列的“查看”可以查看碎片详情,确认资源池是否满足训练需求。 选择完成后,此处会展示所选资源池信息,也可单击“重新选择”再次选择资源池。 |
|
实例规格 |
资源池类型为“专属资源池”时,需要先选定“资源池”,资源池类型为“公共资源池”时直接单击,然后在右侧弹窗中选择实例规格后,单击“确定”。
|
|
实例数 |
必填,根据需要选择实例数的个数。默认值为“1”。
|
|
挂载存储 |
资源规格选择“专属资源池”时,支持添加多种存储挂载方式,以提高数据的访问效率。两种区别可参见表1。
|
|
作业优先级 |
|
|
允许被抢占 |
|
步骤六:高可用配置
|
参数名称 |
说明 |
|---|---|
|
容错与恢复 |
设置训练作业是否设置自动重启。 |
|
最大重启次数 |
当勾选“自动重启”时可配置。 当训练作业的自动重启次数达到最大重启次数,且训练作业依旧异常,则直接停止作业。
提交创建训练作业后不支持修改重启次数,请合理设置次数。 |
|
无条件自动重启 |
当勾选“自动重启”时可配置。勾选无条件自动重启后,只要系统检测到训练异常,就无条件重启训练作业。为了避免无效重启浪费算力资源,系统最多只支持连续无条件重启3次。 |
|
作业卡死重启 |
当勾选“自动重启”时可配置。系统支持自动监控作业进程的状态和资源利用率来判定作业是否卡死,开启此开关后,支持将标记为卡死的作业进行进程级自动重启,以提高资源使用率。 CPU规格不支持作业卡死重启。 因系统无法核实代码逻辑且检测存在周期性,卡死检测存在一定的误报概率,开启开关即表示接受误报率。为了避免无效重启浪费算力资源,系统最多只支持连续作业卡死重启3次。 |
步骤七:访问配置
|
参数名称 |
说明 |
|---|---|
|
JupyterLab |
开启后,可支持JupyterLab等开发工具进行在线调试。 |
|
SSH远程开发 |
勾选开启后,可以通过本地 IDE 远程连接到训练作业实例,进行代码的在线调试与运行。系统将自动为每个实例启动 SSHD 服务,并配置实例间的 SSH 免密登录,以便于跨节点协同操作。 需创建密钥对。 勾选后,“生成节点间SSH免密互信文件”功能不可用。 |
|
生成实例间SSH免密互信文件 |
选择是否生成实例间SSH免密互信文件。
|
步骤八:可观测配置
|
参数名称 |
说明 |
|---|---|
|
监控指标对接AOM |
选择是否启用采集Prometheus指标。通过在训练容器里配置采集Prometheus指标的参数,在训练过程中,系统会定时获取指标数据上传到AOM,您可以直接在AOM控制台查看自定义的Prometheus指标。 ModelArts提供了2种配置方式。
|
步骤九:更多配置
|
参数名称 |
说明 |
|---|---|
|
永久保存日志 |
当实例规格选择Ascend资源时,默认开启“永久保存日志”。 当实例规格选择CPU或GPU资源时,支持选择是否打开“永久保存日志”开关。
|
|
日志路径 |
当开启“永久保存日志”时,必须配置“日志路径”,用于存放训练作业产生的日志文件。 建议选择一个空的OBS文件目录存放运行中产生的日志文件,同时需要OBS文件目录的读写权限。 |
|
作业可见范围 |
分为“工作空间内可见”和“仅创建者可见”。
|
|
自动停止 |
选择是否启用训练作业自动停止。
|
|
事件通知 |
选择是否启用训练作业的事件通知。
说明:
|
|
标签 |
当需要使用同一标签标识多种云资源时,即所有服务均可在标签输入框下拉选择同一标签,则建议在TMS中创建预定义标签。标签详细用法请参见使用TMS标签实现资源分组管理。 最多支持添加20条标签。 |
