训练任务
Octopus平台为用户提供训练任务管理(支持分布式训练),任务实时日志,产物(模型)管理等多种功能。
创建训练任务
- 在左侧菜单栏中选择“训练服务 > 训练任务”。
- 单击“新建训练任务”,填写基本信息。
- 名称:任务组名称,包含中英文、数字、“_”“-”,不得超过32个字符。
- 描述:简要描述任务,不包含“@^\#$%&*<>'|"/”,不得超过256个字符。
- 资源规格:当前项目中可用的资源规格。
- 计算节点个数:用于运行训练任务的训练节点个数。
- 优先级:设定任务的优先级,数值取[-50,50]的整数,数字越大,优先级越高。
- 选择算法。
- 训练算法:根据业务所需选择算法,自定义算法需提前在“训练服务 > 算法管理”中创建成功。
当训练算法的“类型”选择为“仅镜像 (包含算法文件)”时,且训练任务的资源规格为ModelArts类型时,容器启动使用的默认用户为ma-user,需确保该用户拥有调用算法文件和运行依赖的相关权限。
- 参数列表:由算法携带,可修改参数值。
- 环境变量:由算法携带,可修改参数值。
- 训练算法:根据业务所需选择算法,自定义算法需提前在“训练服务 > 算法管理”中创建成功。
- 选择需要归档的模型仓库。
模型仓库需提前在“数据资产 > 模型管理”中创建成功。
- 常规训练:基于数据集和用户算法训练新模型。
- 增量训练:基于用户导入的模型或已完成训练模型版本(可通过${MODEL}获取该模型版本的文件路径)和新数据集使用选择的算法再次进行训练,生成精度更高的新模型。同常规训练不同的是需要额外选择(最多选择10个模型版本)输入模型和版本,输出模型仓库。
- 选择数据输入
支持从“数据资产”下的“数据缓存”中选择“缓存成功”或“缓存过期”的数据集。数据集/数据缓存最多支持选择10条。
- 选择资源挂载。
如果2中的“资源规格”选择的是ModelArts类型的集群,可添加资源挂载,最多支持10条。目前支持挂载的资源只有“数据集”。
- 单击“创建”,在任务列表或分组可查看新建训练任务。
训练任务相关操作
在“训练任务”列表,可对训练任务进行以下操作:
任务 |
操作步骤 |
---|---|
查找任务 |
在搜索输入框中输入搜索条件,按回车键即可查询。 |
查看任务详情 |
单击任务名称,可在任务详情页查看该任务详情、资源挂载、参数信息、任务日志和资源占用情况。
|
删除任务 |
|
重建任务 |
单击操作栏内的“重建”,输入新任务名称(“任务组名-自定义名称”)和“删除原任务”选项,重建任务时可调整除算法外的所有信息。 |
停止任务 |
对于运行中、等待中的任务,用户可以单击操作栏的“停止”终止任务。 |
作业状态 |
作业状态描述 |
是否占用GPU资源 |
重建 |
删除 |
停止 |
---|---|---|---|---|---|
排队中 |
训练任务已创建成功,进入任务队列等待系统调度。 |
- |
- |
√ |
√ |
提交中 |
训练任务已被系统调度,正在向平台提交。 |
√ |
- |
- |
- |
提交失败 |
训练任务向平台提交失败。 |
- |
√ |
√ |
- |
等待中 |
训练任务向平台提交成功,暂未运行。 |
√ |
- |
√ |
√ |
运行中 |
训练任务向平台提交成功,处于运行中。 |
√ |
- |
- |
√ |
运行异常 |
训练任务运行失败。 |
- |
√ |
√ |
- |
已完成 |
训练任务运行成功。 |
- |
√ |
√ |
- |
停止中 |
单击“停止”后尚未停止。 |
√ |
- |
- |
- |
停止失败 |
单击“停止”后停止失败。 |
√ |
- |
√ |
- |
已停止 |
训练任务已停止。 |
- |
√ |
√ |
- |
删除中 |
单击“删除”后尚未删除。 |
√ |
- |
- |
- |
删除失败 |
单击“删除”后删除失败。 |
仅等待中的任务单击“删除”且删除失败的任务可能会占用 |
- |
√ |
- |
训练任务日志查看和下载
训练任务运行的过程中生成日志,训练任务模块提供了日志的查看以及下载功能,支持用户查看训练任务的运行情况。CCE平台训练任务生成的日志文件有以下四种:
- train-{id}-{index}.log:用户实际训练任务的训练日志。
- train-{id}-{index}-init.log:Octopus平台提供的前置数据的准备日志。
- train-{id}-{index}-sidecar.log:Octopus平台提供的任务流程控制日志,包括日志同步、结果上传。
- octopus-train-{id}-{index}-supplemental.logs: Octopus平台任务异常退出或停止产生的错误信息输出日志,运行正常时不产生该日志。
{id}为该训练任务ID,{index}为节点编号,例如单节点single-0,多节点distributed-0 distributed-1。
详情页,单击“任务日志”,可查看该训练任务日志详情。支持在线浏览或下载至本地。如果日志较多,用户可在搜索框中输入关键字,查找指定日志内容。
在日志服务页面中的日志列表部分详细展示了该训练任务包含的日志文件的大小以及最新写入时间。单击文件后的“查看”,算法训练的详细执行过程会在日志详情部分展示。用户也可在日志文件后的“操作”栏中,单击“下载”,即可将该日志文件下载到本地查看。
资源占用情况
在任务运行中,资源占用情况模块显示任务占用的CPU、内存、GPU/显存利用率、占用率百分比的折线图。默认显示CPU占用情况折线图。
- 双击任一图例:显示全部资源占用折线图。
- 单击指定图例:只显示该图例折线图。
此模块也可显示多个计算节点运行任务时,资源占用的情况。
- 如果选择2个计算节点运行任务,则可选择查看单个节点资源占用情况。
- 如果1个计算节点上存在多张GPU,则会显示所有GPU占用情况。
资源占用情况功能模块,需要用户在制作自定义镜像时安装psutil与pynvml,参考命令如下:
pip install psutil pynvml
如果未安装psutil与pynvml,则页面无法显示资源使用状况。