九游平台/
ai开发平台modelarts/
modelarts用户指南(standard)/
使用modelarts standard训练模型/
准备模型训练代码/
自定义镜像训练作业配置节点间ssh免密互信
更新时间:2024-11-21 gmt 08:00
自定义镜像训练作业配置节点间ssh免密互信-九游平台
当用户使用基于mpi和horovod框架的自定义镜像进行分布式训练时,需配置训练作业节点间ssh免密互信,否则训练会失败。
配置节点间ssh免密互信涉及代码适配和训练作业参数配置,本文提供了一个操作示例。
- 准备一个预装openssh的自定义镜像,使用的训练框架是mpi或horovod。
- 准备一个sshd启动脚本文件“start_sshd.sh”。
my_sshd_port=${my_sshd_port:-"38888"} mkdir -p /home/ma-user/etc ssh-keygen -f /home/ma-user/etc/ssh_host_rsa_key0 -n '' -t rsa > /dev/null /usr/sbin/sshd -p $my_sshd_port -h /home/ma-user/etc/ssh_host_rsa_key0
- 将准备好的sshd启动脚本文件上传至obs的训练代码目录下。
- 创建自定义镜像训练作业。
- “代码目录”选择存有sshd启动脚本文件的obs地址。
- “启动命令”需要适配sshd启动脚本,如下所示:
bash ${ma_job_dir}/demo-code/start_sshd.sh && your custom command
命令中的“your custom command”表示训练作业中需要执行的其他自定义命令。
- “环境变量”增加“my_sshd_port = 38888”。
- “配置节点间ssh免密互信”开关打开,并设置“ssh密钥目录”,一般保持默认值。该配置会在下发训练作业后,自动在训练容器的“/home/ma-user/.ssh”目录下生成ssh密钥文件和配置文件“authorized_keys config id_rsa id_rsa.pub”。
- 提交创建训练作业后,训练过程中,训练作业的节点可通过域名 端口的方式ssh连接到其他节点,示例代码如下所示:
ssh modelarts-job-a0978141-1712-4f9b-8a83-000000000000-worker-1 -p $my_sshd_port
父主题: 准备模型训练代码
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨