OFC2020论文阅读 M4F.6 Why Data Science and Machine Learning Need Silicon Photonics

Why Data Science and Machine Learning Need Silicon Photonics

  这篇文章主要讲模型并行要求GPU之间的大量通信,那么带宽就要够,带宽不够已经限制了GPU部署规模,需要共封装硅光子技术。这篇是NVIDIA公司发的。

  训练神经网络需要大量计算,现有的电上和光学解决方案无法满足不断增长的带宽(interconnection network’s bandwidth)需求,未来需要硅光子集成。

 

并行训练算法

下面描述如何在并行和分布式系统上训练DNN。

数据并行:

  用于训练DNNs的算法是随机梯度下降(SGD)。不必计算反向传播训练集中每个样本的误差,而是随机抽取多个样本,形成一个小批量。DNN的参数每小批更新一次。训练完所有小批量的训练集是称为epoch。

  并行化训练的最常见和大规模应用的方法是将小批量拆分为p个子批量,p是并行操作(parallel workers)的数量。每个worker计算权重梯度,该梯度指示参数需要如何更改,然后与所有其他worker交换梯度,通常使用all Reduce(一种用于分布式深度学习的通信运算)实现。

  小批量训练集的最大样本数是训练集的总样本数。如果参数在一次epoch中只更新一次,DNN的误差收敛需要很多epochs。使用小批量更新参数将导致更频繁的参数更新,但也有可能导致结果质量差。小批量训练集样本数有最优值。当并行操作器增多,每个操作器分配到的子批量会减少,我们要求子批通常需要大于一个样本。

 

模型并行:

  有的时候模型太大装不进去内存,作者观察到在很多情况下模型越大,效果越好,因此假设模型大小会继续增长,需要多个worker,worker之间的通信很重要。

 

机器学习中的带宽需求

数据并行所需的带宽Breq取决于模型大小M和浮点运算(FLOPs)F、工作线程p的数量、工作线程p的性能和效率α,以及小批量大小bm。效率和FLOPs是小批量大小bm/p和模型大小M的非线性函数,并且随着两者的增大而增大。

从equation(1)中知道带宽随着worker的数量和性能增加而增加,且worker的数量和性能增长的很快。

图1显示了根据网络的大小和在向后传递中的时间计算出的所需带宽。(没看到时间在哪啊,只看见系统规模和GPU性能)。当增加系统规模或GPU性能时,后向传播时间减少当权重梯度的大小保持不变(没看懂,迷惑)。图中假设计算时间是随scale或performance线性减少的。总之随着gpu速度的提高和系统规模的增大,所需的带宽急剧增加。

  模型并行将克服数据并行和处理器的内存容量限制。与数据并行不同,模型并行很难隐藏通信(隐藏通信的意思我猜测应该是计算速度比较快以至于不影响并行计算的速度)。一个尝试将DNN的层映射到不同的处理器上,以流水线的方式操作这些workers。

  然而,这需要找到一个仔细的分工,每个worker有大约相同的工作量,以避免“管道泡沫”。一个更好的例子是在多个worker上协同处理各个层。这就要求在前向和后向传播中的每层进行同步和数据交换。同样,这也需要仔细的分工来优化本地数据布局。

  带宽不能成为算力增长的瓶颈,举例,NVIDIA’s Pascal架构,实现20 TFLOP/s 在 150 GB/s NVLink带宽下,而现有的Votla架构,120 TFLOP/s at 300 GB/s NVLink bandwidth,计算性能与I/O带宽的比例后一个是前一个的三倍,20/150×3=120/300,(??这要说明啥,I/O带宽快要成为瓶颈了吗,迷惑)

  模型并行复杂和难以部署的点在于如何优化本地通信开销,与本地内存带宽相比,I/O带宽要低得多。例如,NVIDIA的Volta体系结构为本地HBM提供了900GB/s的带宽(为L2缓存提供了更高的带宽),但对NVLink连接的对等端仅提供了300GB/s的带宽。NVLink domain被限制在16个gpu,因为它需要一个具有全等分带宽的间接网络。扩展模型并行性不仅需要更高的带宽,还需要更大的域(如机架规模)。共封装硅光子学可以满足预期的带宽密度、功率等要求。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值