更新时间:2024-08-16 GMT+08:00
分享

分布式训练功能介绍

ModelArts提供了如下能力:

  • 丰富的官方预置镜像,满足用户的需求。
  • 支持基于预置镜像自定义制作专属开发环境,并保存使用。
  • 丰富的教程,帮助用户快速适配分布式训练,使用分布式训练极大减少训练时间。
  • 分布式训练调测的能力,可在PyCharm/VSCode/JupyterLab等开发工具中调试分布式训练。

约束限制

  • 总览页面打开的CodeLab不支持此项功能,但是如果用户在AI Hub中打开了可用的案例,会自动跳转到CodeLab中,此时是可以使用这项功能的。
  • 如果切换了Notebook的规格,那么只能在Notebook进行单机调测,不能进行分布式调测,也不能提交远程训练任务。
  • 当前仅支持PyTorch和MindSpore AI框架,如果MindSpore要进行多机分布式训练调试,则每台机器上都必须有8张卡。
  • 本文档提供的调测代码中涉及到的OBS路径,请用户替换为自己的实际OBS路径。
  • 本文档提供的调测代码是以PyTorch为例编写的,不同的AI框架之间,整体流程是完全相同的,只需要修改个别的参数即可。

DataParallel进行单机多卡训练的优缺点

  • 代码简单:仅需修改一行代码。
  • 通信瓶颈 :负责reducer的GPU更新模型参数后分发到不同的GPU,因此有较大的通信开销。
  • GPU负载不均衡:负责reducer的GPU需要负责汇总输出、计算损失和更新权重,因此显存和使用率相比其他GPU都会更高。

DistributedDataParallel进行多机多卡训练的优缺点

  • 通信更快:相比于DP,通信速度更快
  • 负载相对均衡:相比于DP,GPU负载相对更均衡
  • 运行速度快:因为通信时间更短,效率更高,能更快速的完成训练任务

相关章节

相关文档