从内存带宽与计算能力,解读深度学习执行的关键
时间:09-19
来源:
点击:
在 roofline 曲线的上升区,那么我们应该增加内存带宽/减小内存带宽需求,提升计算能力/降低计算量对于这类情况并没有帮助。反之亦然。
我们来看一个实际的例子,比较一下各种机器学习算法在 roofline 模型上所处的位置。下图取自 Google 的 TPU 论文《In-Datacenter Performance Analysis of a Tensor Processing Unit》。由图中可见,LSTM 算法的运算强度最低,所以被卡在了 roofline 模型的上升区中间的地方,即 TPU 在执行 LSTM 算法的时候,由于内存带宽限制所以性能只有 3TOPS 左右,仅为峰值性能(90TOPS)的三十分之一。经典全联接神经网络(mulTI-layer perceptrons, MLP)的运算强度略好于 LSTM,也被卡在 roofline 曲线的上升区,实际执行性能大约在 10TOPS 左右。而卷积神经网络模型,尤其是 CNN0,由于卷积神经网络中能实现卷积核复用,因此运算强度非常高,于是可以非常接近 TPU roofline 曲线的屋顶(86 TOPS)。CNN1 模型虽然运算强度也很高,但是由于种种其他原因(论文中表示是由于 CNN1 模型的特征深度较浅无法完全利用 TPU 的计算单元)无法到达屋顶。这个例子又让我们看到了硬件-算法协同设计时的另一个要点:除了内存带宽之外还有「其他原因」可能让算法无法到达屋顶,我们要尽量减小这些「其他因素」!

- 机器学习算法盘点:人工神经网络、深度学习(07-02)
- 2016年人工智能与深度学习领域的十大收购(07-26)
- AI/机器学习/深度学习三者的区别是什么?(09-10)
- 深度学习的硬件架构解析(10-18)
- 麻省理工科技评论评选的14大医疗领域突破科技(上)(10-14)
- 探秘机器人是如何进行深度学习的(09-18)
