65.9K
CodeProject 正在变化。 阅读更多。
Home

Nervana 引擎以极快的速度提供深度学习!

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2017 年 5 月 3 日

CPOL

5分钟阅读

viewsIcon

5242

Nervana 目前正在开发 Nervana Engine,这是一款专为深度学习定制设计和优化的专用集成电路 (ASIC)。

原文发布在 Nervana 网站:Nervana Engine 以惊人的速度提供深度学习

请访问Nervana 官网,了解更多关于 Intel Nervana 的深度学习技术。

Nervana 目前正在开发 Nervana Engine,这是一款专为深度学习定制设计和优化的专用集成电路 (ASIC)。

训练深度神经网络涉及许多计算密集型操作,包括张量矩阵乘法和卷积。图形处理单元 (GPU) 比 CPU 更适合这些操作,因为 GPU 最初是为视频游戏设计的,视频游戏中的屏幕对象移动受向量和线性代数控制。因此,GPU 已成为深度学习的首选计算平台。但仍有很大的改进空间——因为 GPU 的数字精度、控制逻辑、缓存和其他架构元素都是针对视频游戏而非深度学习进行优化的。

作为全球最快的深度学习 GPU 内核的作者,Nervana 比任何人都更了解这些限制,并知道如何最有效地解决它们。在设计 Nervana Engine 时,我们抛弃了 GPU 范式,一切从头开始。我们分析了最受欢迎的深度神经网络,并为它们的核心操作确定了最佳架构。我们甚至分析并优化了我们的核心数值格式,并创建了 FlexPoint™,它能够最大限度地提高 16 位内的精度,从而实现高内存带宽和算法性能的完美结合。然后,我们增加了足够的灵活性,以确保我们的架构是“面向未来”的。Nervana Engine 包含深度学习所需的一切,不多不少,确保 Nervana 仍然是世界上最快的深度学习平台。那么……你准备好迎接惊人的速度了吗?!

通过高带宽内存实现闪电般快速的数据访问

训练深度神经网络涉及大量数据移动,而目前的内存技术无法胜任。在训练过程中,训练数据被访问,模型参数被更新。DDR4 SDRAM 具有高存储容量,但带宽有限。GDDR5 SDRAM 更快,但存储容量有限。Nervana Engine 使用一种名为高带宽内存 (HBM) 的新技术,它兼具高容量和高速度。HBM 使 Nervana Engine 能够拥有 32GB 的封装内存储容量和每秒 8 太比特的闪电般快速的内存访问带宽。

Nervana Engine 的 HBM 内存通过堆叠实现高容量。单个 HBM 芯片可以存储高达 8GB 的数据,因为芯片本身就是八个独立的 1GB 内存芯片的堆栈。Nervana Engine 包含四个 HBM 堆栈,提供 32GB 的封装内存储容量。HBM 的高速度(带宽)源于一种称为 2.5D 制造的新工艺。该工艺允许内存芯片底部具有更小的引脚间距,从而容纳更多的数据通道。2.5D 制造使 Nervana Engine 能够以如此高的速率访问内存。这种性能在一个小芯片占地面积内实现,为利用增加的内存容量和带宽的新计算电路留下了更多空间。

前所未有的计算能力

Nervana Engine 的设计包含了与深度学习相关的内存和计算元素,仅此而已。例如,Nervana Engine 没有托管缓存层次结构;内存管理由软件执行。这对于深度学习来说是一种有效的策略,因为操作和内存访问在执行前是完全预定的。通过消除缓存控制器和一致性逻辑,可以更有效地利用芯片面积。此外,片上内存的软件管理确保了高优先级数据(例如模型权重)不会被逐出。

这种深度学习优化设计的结果是,Nervana Engine 实现了前所未有的计算密度,其计算能力比当今最先进的 GPU 高出一个数量级。Nervana 以 ASIC 的形式实现了这一壮举,该 ASIC 使用普通的 28nm 制造工艺,这为 Nervana 通过未来缩小到 16nm 工艺提供了进一步改进的空间。

接近理论极限的吞吐量

如前所述,数据移动通常是深度学习的瓶颈。鉴于这种依赖性,确保计算不会因为等待数据而“饿死”是一个挑战。Nervana Engine 具有独立的计算和数据管理管道,确保计算始终有新数据可用,计算元素始终在进行计算。这种管道隔离,加上充足的本地内存,意味着 Nervana Engine 在大部分时间可以接近其理论最大吞吐量运行。

内置网络,提供前所未有的速度和模型可扩展性

Nervana Engine 从头开始设计,以支持真正的模型并行。Nervana Engine 包含六个双向高带宽链路,可以无缝地将芯片互连在机箱内或机箱之间。这使用户能够通过简单地分配更多的计算资源来在线性扩展现有模型,或者在不降低速度的情况下将模型扩展到前所未有的规模。例如,可以将八个 ASIC 以环形拓扑结构互连,如下所示,以实现近 8 倍的线性性能提升。概念上,环形拓扑作为一个大型处理器运行。

这种加速能力是 Nervana 独有的。竞争系统使用过度订阅、低带宽的 PCIe 总线进行所有通信,包括点对点和主机到卡通信。这种过度订阅的 PCIe 链接限制了通过添加更多硬件来提高性能的能力。此外,现有系统需要昂贵且带宽有限的 Infiniband 或以太网链路进行机箱到机箱通信,这大大降低了它们扩展到单个主板或机箱以外的能力。

Nervana Engine——集高带宽内存、前所未有的计算密度、独立的数据和计算管道以及内置网络于一体——将能够实现行业前所未见的深度学习规模。

关于作者

Carey Kloss 是 Nervana 的硬件副总裁。自 1996 年以来,他一直在初创公司和上市公司从事芯片行业工作。他热衷于为深度学习带来新的创新性硅技术。

© . All rights reserved.