33 Star 197 Fork 183

Ascend/MindSpeed

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
distributed-optimizer.md 861 Bytes
一键复制 编辑 原始数据 按行查看 历史

Megatron 分布式优化器

问题分析

数据并行(DP)场景下, 梯度all-reduce之前,不同的设备并行执行不同的工作,但是all-reduce以后, 所有设备都利用同样的梯度、参数以及优化器状态做相同的梯度更新操作,因此存在计算和存储冗余

解决思路

将重复的内存存储和计算步骤拆分给不同的设备,通过通信进行联通,最终在节省显存和计算时间的同时达到和原始DP相同的效果

使用场景

主要用于训练场景,当DP不为1时,将优化器状态拆分到所有DP组间,在对梯度进行reduce-scatter后,每个DP组分别进行部分权重更新,最后再用一个all-gather操作收集模型权重。

使用方法

脚本中添加--use-distributed-optimizer开启分布式优化器

使用影响

降低显存开销

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ascend/MindSpeed.git
git@gitee.com:ascend/MindSpeed.git
ascend
MindSpeed
MindSpeed
master

搜索帮助

Cb406eda 1850385 E526c682 1850385