更新时间:2023-01-29 GMT+08:00
分享

训练管理中使用自定义镜像介绍

订阅算法和预置框架涵盖了大部分的训练场景。针对特殊场景,ModelArts支持用户构建自定义镜像用于模型训练。

自定义镜像的制作要求用户对容器相关知识有比较深刻的了解,除非订阅算法和预置框架无法满足需求,否则不推荐使用。自定义镜像需上传至容器镜像服务(SWR),才能用于ModelArts上训练。

ModelArts上使用自定义镜像训练支持2种方式:

  • 使用预置框架 + 自定义镜像:

    假若您先前基于预置框架,并且通过指定代码目录和启动文件的方式来创建的训练作业;但是随着业务逻辑的逐渐复杂,您期望可以基于预置框架修改或增加一些软件依赖的时候,此时您可以使用预置框架 + 自定义镜像的功能,即选择预置框架名称后,在预置框架版本下拉列表中选择“自定义”。

  • 完全自定义镜像:

    用户遵循 ModelArts 镜像的规范要求制作镜像,选择自己的镜像,并且通过指定代码目录(可选)和启动命令的方式来创建的训练作业。

使用预置框架 + 自定义镜像

此功能与直接基于预置框架创建训练作业的区别仅在于,镜像是由用户自行选择的。用户需要基于预置框架制作自定义镜像。基于预置框架制作自定义镜像可参考使用基础镜像构建新的训练镜像章节。

图1 使用预置框架+自定义镜像创建算法

该功能的行为与直接基于预置框架创建的训练作业相同,例如:

  • 系统将会自动注入一系列环境变量
    • PATH=${PATH}:${MA_HOME}/anaconda/bin
    • LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MA_HOME}/anaconda/lib
    • PYTHONPATH=${PYTHONPATH}:${MA_JOB_DIR}
  • 您选择的启动文件将会被系统自动以 python 命令直接启动,因此请确保镜像中的 python 命令为您预期的 python 环境。注意到系统自动注入的 PATH 环境变量,您可以参考下述命令确认训练作业最终使用的 python 版本:
    • export MA_HOME=/home/ma-user; docker run --rm {image} ${MA_HOME}/anaconda/bin/python -V
    • docker run --rm {image} $(which python) -V
  • 系统将会自动添加预置框架关联的超参

完全使用自定义镜像

图2 完全使用自定义镜像创建算法

新版训练支持的自定义镜像使用说明,请参考使用自定义镜像训练模型

分享:

    相关文档

    相关产品