血汗、软件和 1200 亿个晶体管:NVIDIA 如何构建 DGX-1

by 英伟达中国

强力胶带、树脂玻璃、塑料扣、耳塞和创可贴。
如果您是第一次构建某种物品(不管是太空飞船还是跑车),这些都是最初要用到的东西。如果您仔细查看组装 NVIDIA DGX-1 深度学习系统的工程团队的费用报告,会发现上面列出的就是这些东西。
结果:价值 129,000 美元的精美珠宝箱,外形紧凑,完全能放进 Tiffany 的展示柜。但是,它却可以提供高达 170 万亿次浮点运算能力,这相当于 250 台 x86 服务器所能提供的性能,一家新闻媒体用“疯狂”来描述它。
我们在 4 月份举行的 GPU 技术大会上隆重推出了 DGX-1,它搭载了可以使用超凡能力创造结果的深度学习软件。整个设备都连接到基于云的服务,可以实现快速部署和即时系统更新。无需进行任何组装。

The NVIDIA DGX-1
The NVIDIA DGX-1

DGX-1:推动人工智能技术蓬勃发展

对于任何希望将深度学习技术带出研究实验室,并将其快速且更轻松地应用到工作中的人而言,它都是理想之选。在过去的五年中,研究人员已经构建了很多系统,在执行我们曾经以为计算机无法处理的任务方面,这些系统能和人类比肩,并且很快超越了人类。
现在,数以亿计的人们依靠由深度学习提供支持的服务来完成语音识别、实时语音翻译和视频发现。更多新奇的应用方式还会陆续推出。但这需要时间和人力,才能通过不同的部件构建深度学习系统。这也是 DGX-1 诞生的前提条件。DGX-1 将会为各行各业以及我们的合作伙伴生态系统带来有利于发展的新机遇。

血汗、强力胶带和软件

DGX-1 背后的故事是一群人用血汗、强力胶带和软件缔造的传奇,团队之间紧密合作,一个团队的工程师要在下一个团队需要全新的深度学习系统的某部分时,完成此部分的建构工作。
“这不仅仅是一个硬件,也不仅仅是一个软件,”参与此项目的主要工程师之一 Mike 说,“只需单击三个 UI 按钮,您便会获得所有这些新功能。”

光速

这一群人在一年以前开始这项工作。2015 年 3 月,NVIDIA 首席执行官黄仁勋向参与当期 GPU 技术大会的与会者承诺,我们即将推出的 GPU 架构 Pascal 将会在一年以后在关键深度学习任务方面实现性能提高 10 倍的目标。但是这里有一个问题:要围绕这些新 GPU 构建机器并将其投入使用,研究人员和公司需要花费数周(甚至是数月)的时间。
几个月后,在公司领导人会议中,黄先生向 NVIDIA 的工程团队提出要求,让他们及时围绕 Pascal 构建出服务器,迎接 2016 年 4 月份举行的 GTC。这让研究人员和各个业务部门不得不加大马力,使用其中的八个 GPU 从事深度学习工作。
这比单纯围绕尚不存在的芯片构建硬件要难得多。二十五个单独的 DGX-1 软件“堆栈”(从开源 Ubuntu 操作系统到 DIGITS 深度学习训练系统,再到 CUDA 深度神经网络 (cuDNN) GPU 加速基元库和一系列 NVIDIA 驱动程序)需要和谐工作。
黄先生向他们提出要求,让其以“光速”组装所有部件,或者考虑各种可能性的基本限制,不断挑战极限。
大概有十二个独立的工程团队迅速投入到行动中。“恐怕没有任何其他公司比我们更知道怎么集体行动了,”产品架构和工程团队的负责人 John 在总结项目时说,“只有那么几个领导,他们集合所需的所有的人的能力完成了任务。”
以下是项目完成的过程:

    NVIDIA Hybrid Cube Mesh

  • 2015 5  – 一个工程师团队草拟了全新的拓扑,可将八个 GPU 结合到 DGX-1 中,每个 GPU 使用 150 亿个晶体管。解决方案:立方网络。此设计可让用户在深度学习任务中投入八个 GPU,或者将系统拆分为两个单独的子系统,处理更加传统的高性能计算工作。但是他们不知道此系统能否再用七个月的时间。第一批 Pascal 样品,第一个使用 NVLink 的 GPU(为网络提供技术支持的高速互联技术)直到 2015 年第四季度才会问世(请参阅“什么是 NVLink?”)
  • 2015 9  – 多个软件工程师团队开始为 NVIDIA 集合通信库构建名为 NCCL 的系统软件,此软件将运行于 DGX-1 的立体网络拓扑之上。其他团队开始调试将在 NCCL 之上运行的软件堆栈,包括 Caffe、Theano、Torch、TensorFlow 和 CNTK 等最常用的深度学习和高性能计算工具。
  • 2015 11  – 工程师开始“培养”芯片制造厂或工厂生产的第一批 Pascal 样品这项艰苦工作。这不是普通的“培养”。NVIDIA 的 GPU 设计人员已经针对 Pascal 创建了一个新架构,包括将会帮助用户克服深度学习问题的功能。同时,它们也是内置有功能的第一批小型 GPU,宽度仅为 16 纳米,是指甲每分钟生长长度的四分之一(请参阅“NVIDIA 借助 Tesla P100 加速器使深度学习高性能计算应用程序实现巨大性能飞跃”)。
  • 2015 12  – 全新的 Pascal GPU 开始运行,工程师开始将其整合到一个工作系统中。内情:DGX-1 的第一个机箱直到 1 月底才能完成。因此,工程师们使用金属、强力胶带和树脂玻璃即兴创作了一台设备,过程中不断被这些材料割伤和擦伤。他们连接了两个 GPU,然后连接三个,但是因为被打断,无法连接第四个。最后发现,这是因为一段重要的代码中丢失了两个圆括号造成的。通过键盘输入这两个圆括号之后,网络大功告成。“好像这是命中注定一样,”一位工程师说。
  • 2016 1 – DGX-1 的内部构造完成之后,NVIDIA 的工业设计团队开始使用其新型数字化渲染工具 Iray 构建 DGX-1 边框和铝合金外壳的精确模型。3 月,他们选择使用泡沫金属(飞机上使用的一种轻便且强度超高的材料),与传统的穿孔金属相比,这种材料可让机器更快地吸入冷空气。
  • 2016 3 29  – 相关人员从韩国的模型店中购买了最终服务器原型的外壳,并乘坐飞机亲手将其带回。在 GTC 举行之前不到一周的时间内,DGX-1 的所有部件首次组装到一起。在数天时间内,这个由八块即将宣布推出的 Tesla P100 GPU 提供支持的系统,在 AlexNet 深度学习基准测试中实现性能提高 10 倍,在两个小时内即可完成曾经需要花费 20 多个小时才能完成的任务。
  • 2016 4 3  – 在 GTC 开幕的前一天,DGX-1 在 AlexNet 上实现性能提高 12 倍。
  • 2016 4 5  – 黄先生向全世界展示第一台 DGX-1 服务器。媒体争相拍照,发烧友驻足观看,记者轮番报道。
  • 2016 年 5 月 30 日 – NVIDIA 工程师们为客户准备好第一批 DGX-1 系统。一名客户已经等不及了。在 GTC 上展示的第一台服务器现在已经开始在我们硅谷总部的服务器机架内运行了。它正在处理由我们位于新泽西州的自动驾驶团队收集的有关 DRIVE PX 自动驾驶平台的数据。“究竟,”一名 NVIDIA 迷仔细查看这台机器后说,“现在为什么放慢速度了?”
  • NVIDIA 首席执行官黄仁勋在 2016 年 GPU 技术大会上宣布推出公司第一台深度学习超级计算机 NVIDIA DGX-1。
    NVIDIA 首席执行官黄仁勋在 2016 年 GPU 技术大会上宣布推出公司第一台深度学习超级计算机 NVIDIA DGX-1。