训练作业的自定义镜像制作流程
如果您已经在本地完成模型开发或训练脚本的开发,且您使用的AI引擎是ModelArts不支持的框架。您可以制作自定义镜像,并上传至SWR服务。您可以在ModelArts使用此自定义镜像创建训练作业,使用ModelArts提供的资源训练模型。
制作流程
场景一:预置镜像满足ModelArts训练平台约束,但不满足代码依赖的要求,需要额外安装软件包。
具体案例参考使用预置镜像制作自定义镜像用于训练模型。
场景二:已有本地镜像满足代码依赖的要求,但是不满足ModelArts训练平台约束,需要适配。
具体案例参考已有镜像迁移至ModelArts用于训练模型。
场景三: 当前无可使用的镜像,需要从0制作镜像(既需要安装代码依赖,又需要制作出的镜像满足MAModelArts平台约束)。具体案例参考:
从0制作自定义镜像用于创建训练作业(PyTorch+CPU/GPU)
从0制作自定义镜像用于创建训练作业(MPI+CPU/GPU)
训练框架的自定义镜像约束
- 推荐自定义镜像使用ubuntu-18.04的操作系统,避免出现版本不兼容的问题。
- 自定义镜像的大小推荐15GB以内,最大不要超过资源池的容器引擎空间大小的一半。镜像过大会直接影响训练作业的启动时间。
ModelArts公共资源池的容器引擎空间为50G,专属资源池的容器引擎空间的默认为50G,支持在创建专属资源池时自定义容器引擎空间。
- 自定义镜像的默认用户必须为“uid”为“1000”的用户。
- 自定义镜像中不能安装GPU或Ascend驱动程序。当用户选择GPU资源运行训练作业时,ModelArts后台自动将GPU驱动程序放置在训练环境中的 /usr/local/nvidia目录;当用户选择Ascend资源运行训练作业时,ModelArts后台自动将Ascend驱动程序放置在/usr/local/Ascend/driver目录。
- X86 CPU架构和ARM CPU架构的自定义镜像分别只能运行于对应CPU架构的规格中。
ARM CPU架构的自定义镜像,上述命令回显如下。
"Architecture": "arm64"
- 规格中带有ARM字样的显示,为ARM CPU架构。
- 规格中未带有ARM字样的显示,为X86 CPU架构。
- ModelArts后台暂不支持下载开源安装包,建议用户在自定义镜像中安装训练所需的依赖包。
- 自定义镜像需上传至容器镜像服务(SWR)才能在ModelArts上用于训练。