开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

如果想用epl多机训练,如何指定是哪两台机器?

想请教一下,如果想用epl多机训练,根据example使用 epl-launch --num_workers 2 --gpu_per_worker 1 scripts/train_split.sh 如何指定是哪两台机器?

展开
收起
冰激凌甜筒 2023-04-10 13:02:23 217 0
4 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云机器学习平台(Machine Learning Platform for AI,简称PAI)中,使用 EAS(Elastic Algorithm Service)进行多机训练时,可以通过 epl.start() 函数的参数来指定使用哪两台机器进行训练。

    epl.start() 是 EAS 提供的启动多机训练的函数,其中可以通过 --worker_gpus 参数来指定使用的 GPU 设备。可以通过传递参数值来指定使用哪两台机器的 GPU 进行训练。

    具体而言,可以在训练代码中调用 epl.start() 函数时,通过 --worker_gpus 参数来指定使用的 GPU 设备,例如:

    import epl
    
    # 指定使用第一台和第三台机器的第一块和第二块 GPU 进行训练
    epl.start(worker_gpus="0,1;2,3")
    
    # 在训练过程中使用对应的 GPU 设备
    # ...
    

    其中,worker_gpus 参数的取值格式为 "<worker_index1>,<gpu_index1>;<worker_index2>,<gpu_index2>",表示使用 <worker_index1> 号机器的 <gpu_index1> 号 GPU 和 <worker_index2> 号机器的 <gpu_index2> 号 GPU 进行训练。

    具体的使用方式和参数取值可能因实际的硬件环境、训练代码和数据分布而有所不同,需要根据实际情况进行调整。同时,还需要考虑到多机训练中的模型参数同步和更新方式,以确保在分布式训练中的模型一致性和收敛性。可以参考阿里云 PAI 的文档和示例代码,以及深度学习框架的官方文档和示例代码,进行详细的实现和调试。

    2023-04-11 18:04:43
    赞同 展开评论 打赏
  • 可以通过machine_list和machine rank来指定,381579aab564104c15f7955ab63ef9cd.png 此回答整理自钉群“EPL用户交流群”

    2023-04-10 21:09:57
    赞同 展开评论 打赏
  • 坚持这件事孤独又漫长。
    • 如果想用epl多机训练,需要在提交训练任务时指定使用的机器列表。可以在提交训练任务时添加以下参数:
    {
      "multi_machine": {
        "worker": [
          "worker_1",
          "worker_2"
        ]
      }
    }
    

    其中,worker_1worker_2是你要指定的机器名称,可以是云服务器ECS实例也可以是阿里云PAI训练集群的节点名称。在训练任务启动后,PAI会根据指定的机器列表自动创建Elastic Parameter Servers以及Worker节点,进行epl多机训练。

    2023-04-10 14:29:10
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    首先,确保每台机器上都已经安装了epl。

    其次,使用epl-launch命令进行多机训练时,可以使用--hosts参数来指定要使用的主机列表。

    epl-launch --num_workers 2 --gpu_per_worker 1 --hosts 192.168.1.2,192.168.1.3 scripts/train_split.sh
    

    其中,--hosts参数后面跟着要使用的主机列表,多个主机之间用逗号分隔。在这个例子中,epl将会在192.168.1.2和192.168.1.3上启动两个worker进程,并且每个worker将会使用一个GPU进行训练。

    2023-04-10 13:40:29
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载