关于算法:MindSpore易点通分布式并行经验总结

42次阅读

共计 2154 个字符,预计需要花费 6 分钟才能阅读完成。

1 简略介绍
现如今数据的存储越来越多,想要进步算力的话,其实咱们能够进步分布式计算。所谓分布式计算就是在两个或多个软件相互共享信息,这些软件既能够在同一台计算机上运行,也能够在通过网络连接起来的多台计算机上运行。分布式并行训练,能够升高对内存、计算性能等硬件的需要,是进行训练的重要优化伎俩。

而咱们昇思 MindSpore 的个性之一就是交融了数据并行、模型并行和混合并行,构建一种易用高效的分布式并行训练模式,让算法人员不再须要关注算法模型到底须要用哪种模式训练。能够简化分布式并行编程,串行代码实现分布式训练,对用户屏蔽并行细节,并且放弃高性能;计算逻辑上放弃和单卡串行流程统一;实现上对立数据并行和模型并行,一套框架反对多种并行模式;联合集群拓扑优化性能。

2 解决方案
介绍了这么多,当初就让咱们具体来看看论坛中的小伙伴们在分布式并行方面遇到了哪些问题并且如何解决的吧~

同学 A 应用了 BERT 的 masked language model 预训练方法,应用数据并行和模型并行进行训练,训练过程中发现 loss 并不降落,定位问题发现 dataset 生成数据时有个随机 mask 的操作,在不同过程两头随机后果会不统一。

参考链接:https://bbs.huaweicloud.com/f…

同学 B 在 docker 内装置 nccl 时,因为一开始建设容器的时候没有设置容许共享内存,应用 nccl-tests 测试会进行报错。

参考链接:https://bbs.huaweicloud.com/f…

同学 C 在 Ascend 上进行多机 / 多卡训练时遇到 load task fail 报错,首先能够查看其它卡的 plog,而后设置缩短每张卡的最大期待时长。

参考链接:https://bbs.huaweicloud.com/f…

同学 D 在 MindSpore 并行模式配置时,谬误应用了 semi_parallel 模式。

参考链接:https://bbs.huaweicloud.com/f…

同学 E 也遇到了上述相似问题,PyNative 配置为 semi_auto_parallel 模式时遇到报错。

参考链接:https://bbs.huaweicloud.com/f…

同学 F 误认为并行反对非 2 的幂次方的并行切分进而报错。

参考链接:https://bbs.huaweicloud.com/f…

3 实际剖析

3.1 整体概述
当然用户们对 MindSpore 的分布式并行模块也有本人的整体认知和了解:https://bbs.huaweicloud.com/f…;

https://bbs.huaweicloud.com/f…

3.2 并行个性
同时半自动并行和全自动并行这两大个性的应用办法也被用户们悉数把握。

比方采纳半自动并行模式,展现了一个从数据到模型的并行转换的案例。

https://bbs.huaweicloud.com/f…

而后仅用一行代码实现了单机脚本的全自动分布式并行。

https://bbs.huaweicloud.com/f…

3.3 分布式训练通信办法
有总体的认知,具体算子用法当然也不会少啦!

比方 MindSpore 分布式并行训练中的 Broadcast、AllGather、ReduceScatter 以及 AllReduce 分布式训练通信办法。

1.Broadcast——汇合通信原语相干操作被封装 py 文件中,对该文件中波及汇合通信的内容进行具体查看解析:https://bbs.huaweicloud.com/f…

2.AllGather——对于散发在所有过程上的一组数据来说,Allgather 会收集所有数据到所有过程上:https://bbs.huaweicloud.com/f…

3.ReduceScatte——实现通信算子的主动微分,为 AllGather 提供反向算子:https://bbs.huaweicloud.com/f…

4.AllReduce——Allreduce 将归约值并将后果调配给所有过程:https://bbs.huaweicloud.com/f…

3.4 硬件平台辨别
这里有个知识点须要揭示大家留神!分布式并行因为其硬件平台的不同有的时候也会有点小扭转。

比方在 GPU 硬件平台上,MindSpore 分布式并行训练的通信应用的是 NCCL,采纳的多过程通信库是 OpenMPI。

参考链接:https://bbs.huaweicloud.com/f…

而对于 Ascend AI 处理器,MindSpore 分布式并行训练的通信应用了华为汇合通信库 HCCL。

参考链接:https://bbs.huaweicloud.com/f…

3.5 大 V 博文
其实咱们官网也有 MindSpore 并行个性介绍,同时首席构架师金雪锋大佬给出了更加全面的总结,欢送大家多多关注。

AI 框架的分布式并行能力的剖析和 MindSpore 的实际一混合并行和主动并行:

https://bbs.huaweicloud.com/f…

盘古大模型的推理解决方案:增量推理 + 分布式推理:

https://bbs.huaweicloud.com/f…

心愿这期的干货汇总可能小小地帮忙到大家,当然啦,遇到其余相干问题也欢送来咱们论坛一起交换解决,欢送各位开发者们多多奉献~

正文完
 0