如何将深度学习训练速度提升一百倍?PAISoar 来了(12)
Ring Allreduce 算法的原理与核心功能如下:
Ring AllReduce 算法将 device 放置在一个逻辑环路(logical ring)中 。 每个 device 从上行的 device 接收数据 , 并向下行的 deivce 发送数据 , 因此可以充分利用每个 device 的上下行带宽 。
使用 Ring Allreduce 算法进行某个稠密梯度的平均值的基本过程如下:
将每个设备上的梯度 tensor 切分成长度大致相等的 num_devices 个分片;
ScatterReduce 阶段:通过 num_devices - 1 轮通信和相加 , 在每个 device 上都计算出一个 tensor 分片的和;
AllGather 阶段:通过 num_devices - 1 轮通信和覆盖 , 将上个阶段计算出的每个 tensor 分片的和广播到其他 device;
在每个设备上合并分片 , 得到梯度和 , 然后除以 num_devices , 得到平均梯度;
以 4 个 device上的梯度求和过程为例:
ScatterReduce 阶段:
推荐阅读
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 阴阳师|阴阳师SR川猿强度如何 是否值得抽卡 改变斗技环境 大佬的新玩具
- 手机游戏|梦幻西游手游:活力如何换金币 一切都已给出 就看你的选择
- 华佗|三国杀:两位\奶爸\,朱治与华佗比,强度如何呢?
- 亲朋上分|《亲朋上分》266391亲朋下分亲朋上下分永劫无间崔三娘技能介绍 崔三娘如何获得更多技能
- s6|金铲铲之战:S6双城传说如何才能快速上手?基础知识很关键
- |冰雪传奇:平民玩家四转后如何打金
- 穿越火线|CF:传说武器再度上新,那王者、炫金该如何发展?
- 无尽梦魇|魔兽世界TBC:深度解析“翠绿的宝珠”对哪些职业保值
- 打野|打野已经被削到几乎不能再削了,到底如何平衡打野位置?