大规模分布式训练
文章平均质量分 72
律白
心之所向,素履以往
展开
-
reduce_scatter 通信
算子原型dist.reduce_scatter(output, input_list, op=<ReduceOp.SUM>, group=None, async_op=False)output(tensor): output tensorinput_list(list[tensor]): list of tensors to reduce and scattergroup(ProcessGroup, optional): the process group to work on, If原创 2021-07-27 21:13:07 · 3260 阅读 · 1 评论 -
大规模分布式训练简介
什么是大规模分布式训练当模型越来越大,即模型中的神经元越来越多,权值数量也越来越多,运行模型所需要的内存超过单张卡的内存时, 此时需要多台机器很多张卡协调工作才能运行起整个模型。综上,大规模分布式训练即协调多台机器简单高效的运行大规模的模型。问题剖析[插一张庖丁解牛的图片]大规模分布式网络的明显特征是单张卡的内存放不下整个模型,假设运行模型所需的内存为 Requried_Momory,单卡的内存 Device_Memory, 则 Required_Memory >> Device_Me原创 2022-03-20 17:42:14 · 1686 阅读 · 4 评论 -
大规模分布式训练--模型并行策略
什么是模型并行随着深度学习领域的发展,研究人员发现模型越大训练出来的效果越好,因此模型越来越大成为深度学习领域的一个显著特征。但是越大的模型对设备的要求越高,即需要单卡的算力更强,内存空间更大。当单卡运行不能满足模型的要求时,往往需要多卡甚至多台机器协调工作,共同完成训练工作。但如何协调多卡/多机来完成大模型的训练,是大规模分布式训练所需要解决的问题。模型并行策略是大规模分布式训练很常见的策略之一。它通过将模型中特定子图中的权值均匀的分配到多张卡上,从而降低了模型对单卡的内存要求。帮助模型顺利运行起来原创 2022-03-13 17:25:16 · 5327 阅读 · 1 评论