训练V2自定义镜像迁移手册

举报
yangzilong 发表于 2022/01/17 10:34:56 2022/01/17
【摘要】 本文适用于自定义镜像+SFS场景。 如果是非SFS场景:需要自行安装OBSutil并在启动脚本里增加数据下载、上传逻辑。 需要使用ModelArts预制的下载、上传能力时:请使用ModelArts的自有镜像或自行安装最新MoXing软件包及SCC加解密组件。

训练V2版本和V1版本的最大区别在于:

  1. 训练任务启动的用户指定必须是ma-userlinux用户号1000
  2. 训练会自动同步任务指定的输入、输出目录(此场景不涉及)
  3. 训练界面大改版
  4. 一些增强功能:环境预检、容错重启,训练失败分析,实时日志、日志搜索。
  5. V2版本会持续迭代,而V1版本不会继续适配新版本的软件及硬件

 

在训练V2版本使用自定义镜像+SFS的场景时,为了保证ma-user用户能正常启动任务,我们需要对已经在V1上能正常运行的任务进行改造。

V1版本的镜像改造参考博客:https://bbs.huaweicloud.com/blogs/285697

带自定义镜像功能的新版训练界面:https://console.huaweicloud.com/modelarts/#/training

1. 容器镜像修改

在历史镜像上增加必须的ma-user用户并配置sudo权限。参考dockerfile如下:

FROM swr.cn-north-4.myhuaweicloud.com/${your_group}/${your_image_name}:${your_image_version}

USER root

RUN groupadd ma-group -g 1000 && \
    useradd -d /home/ma-user -m -u 1000 -g 1000 -s /bin/bash ma-user && \
    chmod 770 /home/ma-user && \
    chmod 770 /root && \
    # or silver bullet of files permission
    # chmod -R 777 /root && \
    usermod -a -G root ma-user

# install sudo and config
RUN apt-get install -y sudo && \
    awk 'BEGIN{print "Defaults !env_reset\nroot    ALL=(ALL:ALL) ALL\n\nma-user  ALL=(ALL) NOPASSWD:ALL\n%admin ALL=(ALL) ALL\n%sudo   ALL=(ALL:ALL) ALL"}' > /etc/sudoers

USER ma-user
WORKDIR /home/ma-user

镜像的构建和调试参考教程:https://bbs.huaweicloud.com/blogs/285590

2. 修改启动训练任务的代码

cd /sfs/code && sudo bash -x start.sh  && sleep 30

一般用户都是root使用的,以ma-user启动任务时会带来一些困扰。包括:镜像内部分文件权限不足,SFS Turbo盘权限不足&混乱等。

建议把所有训练代码流程全部包在start.sh里,并sudo直接切换到root执行。注意,sudo切换到root之后部分PATH的环境变量会丢失,请在start.sh里提前补全。

其他的,"/sfs/code"是客户在SFS Turbo盘里的代码目录,请根据实际情况切换。"sleep 30"的目的是让实时日志能多滞留30秒以便查看及分析,以应对某些情况下用户只能查看实时日志的问题。可以删除此句或者修改滞留时间,以便进行分析。

如需把日志保存到SFS盘,请参考文档:https://bbs.huaweicloud.com/blogs/327056

3. 修改SFS Turbo盘的目录权限(配置sudo权限后选做)

因为需要使得ma-user有读写权限,配合dockerfile配置增加root group的写权限即可。在挂载SFS Turbo的Linux节点操作,参考命令:

# FS is root group by default. 
# If not, user can chwon back to 'root:root' first, or make sure 'ma-user' user has write & read permission.
chmod g+w -R /mnt/sfs_turbo

训练V2任务创建步骤:

打开新版训练作业,链接如:https://console.huaweicloud.com/modelarts/#/training

创建作业:


创建参数如:



 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。