在本届 2019 年 IEEE Hot Chips 大会上,英伟达首席科学家 Bill Dally 与英伟达 GPU 工程高级副总裁 Jonah Alben 齐聚一堂,共同探讨 GPU 技术在人工智能、自主与辅助驾驶、高级封装与异构架构领域的作用。
SE:目前出现了不少新的技术趋势,例如逐步转向小芯片以及将芯片拆分成更多细小组件。英伟达公司如何看待这样的趋势?
Dally: 其实在我们的研究机构中,我们一直在不断开发并评估用于构建系统的各类技术。在本届 Hot Chips 大会上,就有团队展示了一种通过利用所谓地参照信号(GRS)技术在有机基板上组装小芯片,从而实现系统级封装的新技术。实际上,这项技术的开发早在 5 到 6 年已经开始,其带来了两项非常理想的属性。其一就是每 bit 的能量非常低,仅为 1 微微焦。与典型的 SerDes 进行比较的话,能耗一般在每 bit 6 到 7 皮焦上下。GRS 为单端设计,所以能够实现极高的密度。其每秒传输速率为 25 Gb,但效果却与 50 Gb 的 SerDes 基本相当——这是因为 50G SerDes 需要从芯片边缘下方留出两条通道——芯片边缘位置是一种昂贵的资源,本身非常有限。鳍式晶体管本身成本不高,但电路设计的限制非常严重。因此,其会在边缘位置呈现出极高的密度。目前,我们已经通过 Volta 模块以及带有 HBM 的 Pascal 模块展示了如何在硅转接器上组装多个芯片,从而建立起一种既能保证高密度又可获得更多连接通道的技术。我们利用 GRS 实现了每毫米每秒 1 TB 的传输速率。如果在芯片中间层上,每毫米每秒的传输速率则可进一步提升为 4 TB。因此,就每单位长度带宽而言,其密度并不算高,但能耗却远低于以往。我们可以将硅转接器的能耗降低至每 bit 约十分之一皮焦。这为我们提供了重要的技术储备,意味着如果到某个特定时间点上,事实证明利用大量小芯片构建 GPU 确实具有经济优势,那么我们将以更低的技术风险上马相关项目。不过目前,它还只是 GPU 设计工具箱中的储备之一。
SE: 那么这一交叉点可能在哪里?我们目前处于 7 纳米制程时代,接下来要进军 5 纳米。你们打算在小芯片中采用怎样的制程水平?
Alben: 我们目前还没有这方面打算。
SE: 人们一直希望能够在吞吐量问题上获得速度更快的 SerDes。其实我们应该还有另一个选项,就是彻底放弃 SerDes,转向完全不同的其它方向。
Dally: GRS 跟 SerDes 类似,但轻量化程度更高。所以它所需要的晶片面积以及功耗都更低。另外,它只需要单端,而非双端。
SE: 您的竞争对手们表示,GPU 的能源效率不及他们的某些后备或者即将推出的芯片。您对这个问题怎么看?
Dally: 我不是很信这一套。如果大家审视这些深度学习加速器,就会发现从内核角度来讲,它们都包含一套矩阵乘法单元。我们也扩展了自己的矩阵乘法单元以执行整数运算以及浮点运算。我们也拥有矩阵乘法单元,大家都一样。大家可以把我们的 Tensor 核心理解成用于深度学习的专用单元。在执行深度学习的内循环方面,我是不知道还有哪家公司比我们的效率更高。这是因为大部分电能都被导向数学与 Tensor 核心,因此只有一小部分开销被用于获取用户发出的 MMA(矩阵乘法与加法)指令,并从寄存器文件中取出运算数值。但这部分开支已经完全摊销了。在图灵机当中运行 IMMA 时,需要进行 1024 次算术运算,全部开销当然也会被分摊在每一次运算之内。因此在核心业务当中,即使构建一块专用程度更高的芯片,带来的成本增长一般也只在 10%到 20%之间,这就是数据获取带来的必然成本。而且我得说一句,那些竞争对手也得获取数据,也得承担一样的成本。
Alben: 而且说到最后,他们总是会聊起并行处理器,对吧?毕竟他们卖的就是处理器。
Dally: 这里的真正区别有两点。首先,也许最重要的区别在于软件。我们已经在这方面投入了不少时间,也拥有经过精心设计的软件。它让我们能够运行多种不同网络,并充分发挥硬件中的潜力。另一大区别在于存储系统,这些存储系统位于矩阵乘法单元周围,而且在制造时需要进行取舍权衡。例如,TensorRT 4 采用 GDDR6 内存,所以其运行功耗自然要比 LPDDR 更高。
Alben: 现在大多数公司都会采用 LPDDR 内存,这种方案虽然功耗确实低得多,但速度也肯定慢得多。
Dally: 没错。这其实是个非常主观的决定。如果我们希望彻底优化每瓦 teraOPS,肯定会选择采用 LPDDR4。但是,我们研究了用户的实际网络需求,特别是 BERT 网络,这类网络非常庞大而且需要占用大量内存带宽。如果想要以低延迟执行 BERT,就必须提供可观的内存带宽。因此,更好的办法无疑是提高功耗并满足用户的实际需求。
SE: 现在不少人觉得,“这虽然不是终极完美的架构,但已经足以满足大多数需求。”这大概就是二八开原则,或者是一九开,对吗?
Dally: 是的。此外,如果针对神经网络进行过度的专用化设计,那么在产品实际推出时已经无法满足市场需要。因此,我们还得确保它具备一定的通用性,以便真正跟上整个领域的实际发展速度。
Alben: 我们以数据中心内的用户为例。如果说我们的芯片只能完美地处理一项任务,他们愿意出钱来买吗?毕竟一旦买回去,这块芯片就要在数据中心里使用至少五年,甚至是十年。不管用不用,芯片都会在那,所以他们肯定得想办法让它充分发挥价值。
SE: 一般来说,数据中心会定期批量替换所有这类芯片。
Alben: 话是这么说,但最重要的是,无论用不用,芯片买回来就一直在那了。如果缺乏与其单一用途相符的工作负载,这些芯片就只能待在机架里吃灰。因此,容量的利用率与适用广度非常重要。总体而言,我们一直努力确保自己的设计能够具有良好的覆盖性,而不仅仅是拿出过度专用化的所谓“独一无二”的方案。
SE: 在不少 AI 应用当中,都存在着向异构架构转变的趋势。GPU 与其它类型处理器之间的兼容性如何?
Dally: 我们也是率先探索异构架构领域的先驱。在从业之初,我们就一直为那些高度关注延迟的负载需求设计并构建系统方案。CPU 擅长处理那些对延迟极为敏感的工作负载;但对于那些更重视吞吐量水平的负载,GPU 无疑更加强大。对于其它一些要求极高处理速度的负载,用户需要的则是加速器,其同样可经由 GPU 实现。最初,这类负载体现为图形处理,人们刚开始会把部分图形负载交给 CPU 运行,余下的部分——包括光栅化器、纹理过滤器以及合成器等——则由 GPU 负责。我们当然也是从图形处理起步的,但事实证明,GPU 是承载加速器的理想平台。它拥有美妙的内存系统以及开销极低的指令执行方式。我们可以借此插入其它专用加速器,例如 Tensor 内核,用以加速 AI 运行。我们可以插入 RT 内核来加速光线跟踪的 BVH(边界体积层次)、遍历与光线/三角交叉处理。在未来,我想我们也会根据新的应用需求插入其它核心,而具体方案也将展现出不同于现在的面貌。对于那些关键的串行代码片段,用户仍然会首选 CPU 以提供更理想的延迟表现。但在并行性更重要的场景下,GPU 将挺身而出接过任务。如果测试效果足够明确,而且提出此类需求的用户规模足够庞大,那么我们就会构建起对应的加速器,并将其以核心的形式加入 GPU。
SE: 您能够通过添加更多 GPU 实现规模扩展吗?
Dally: 没问题。
Alben: GPU 跟 x86 架构不一样。GPU 的工作方式更像是固定 ISA,所以我们可以随时调整处理器作用的定义。
SE: 您认为边缘计算将在这种变革当中发挥怎样的作用?
Dally: 这将掀起一波巨大的浪潮,事实上几乎一切都有望从智能当中受益。
SE: 目前这似乎还只是一个非常模糊的概念,或者说除了云以外的一切,基本都可以算是边缘计算。
Dally: 确实是这样,但事实证明,对于很多边缘场景,最好的选择仍然是通向云端的 I/O 连接。智能恒温器并不是说恒温器本身需要什么智能,它只需要测量温度并将结果传输至云端,而后据此开启空调。但有时候,我们又确实需要边缘设备能够自主处理某些负载,而每一种具体应用的定义也有所区别。在英伟达公司,我们也在研究一系列边缘案例。我们关注无人驾驶汽车,也在机器人项目中投入了巨大精力。此外,我们还在大力推动智能医疗。但这只是边缘场景中的冰山一角。我们的理念,在于帮助其他所有参与者获得优势地位。为此,我们推出深度学习加速器设计方案 NVDLA,并以开源形式发布。
SE: 与以往相比,现在您的硬件/软件协同设计方案无疑更进一步,那这些方案带来了怎样的性能与收益提升?
Dally: 这一点在 AI 领域体现得相当突出。如果我们引入 Tensor 核心但却不知道要如何为它们编写代码,那么这些核心将毫无用处。所以,如果真的想要发挥这种性能与收益改善,首先需要共同努力以实现技术成果匹配。
SE: 英伟达公司目前在汽车行业中扮演着怎样的角色?
Dally: 我们希望成为一切自主型实体的大脑,其中自然包括无人驾驶汽车、机器人以及人们未来将要构建的一切。其中很多方案都是通过深度学习技术实现的,这项技术使我们能够构建起超越人类感知极限的机器。我们正在努力与多家不同汽车制造商开展合作,为他们提供其实际需要的大量堆栈选项。很多厂商会使用我们的硬件,具体取决于他们拥有怎样的性能需求。我们已经基本上完成了 ASIL D 的开发工作,其他厂商可以将其引入用户日常所需的各类产品。除此之外,我们还拥有一套软件堆栈,利用自有车辆的道路运行记录创建出一套庞大的数据集,并利用模拟数据对其进行扩充。我们安排了大量标记人员对数据进行标记,从而进行网络训练。我们的网络能够检测到其它车辆,估算其距离与当前行驶速度。我们的网络同时融合了雷达数据,旨在估算出更准确的速度结果。我们的网络还能够识别出可用行驶空间。我们部署了两个独立的探测器,二者配合起来共同实现驾驶安全:其一负责识别哪里存在我们不可碰撞的物体,其二则负责识别哪些位置可以驶入而无需担心碰撞。我们还构建起其它多种网络,其中一种负责识别车道;另一种则源自以往的端到端方案,作为路径绘图器为汽车规划合理的前进路径。这些堆叠起来,就成了我们的完整感知堆栈。
SE: 那么要如何预测不同的场景?
Dally: 在之前提到的基础之上,我们还构建了一个预测模块,用于预测未来其它车辆的可能动向;此外还有一个规划模块,用于归纳所有信息以判断自身车辆该如何继续行进。在构建过程中,我们开发出一系列基础设施。为此,我们接触过的很多汽车制造商都有意购买 DGX 或者 DGX pod。他们需要借此训练自己的网络。此外,我们还拥有 Constellation 产品,允许用户进行硬件在环仿真。具体来讲,用户可以将 Drive Pegasus 或者 Drive Xavier 部署在一台机架上,这是一组用于生成视频的 GPU,其视频与摄像机直接拍摄的内容一致。由于采用相同的格式,因此这些内容可以直接传入计算机上的连接器。计算机不会意识到这些图像并非来自真正的车辆。这有点像计算机版本的《黑客帝国》,计算机在机架上畅游虚拟世界,通过模拟道路回放以往拍摄下的数据。这就构成一套回归测试流程,用户可以向其中添加各种模拟数据与场景,而后观察汽车计算机会做出怎样的回应。这种硬件在环仿真可以说是以回归方式进行驾驶能力验证的重要前提——我们可以随时改变行驶条件,验证其在新情况下的工作能力,而且不需要担心发生任何物理性意外。
SE: 您是否会利用芯片从不同的初创企业以及汽车厂商处收集这些测试数据?
Dally: 不会,我倒是希望能这样呢。毕竟把他人的数据据为己有,绝对能帮我们建立起巨大的业务优势。但遗憾的是不行啊。
SE: 那其他厂商有没有向您这边索要过数据?
Dally: 我们倒是跟合作方就数据共享进行过讨论。
Alben: 方方面面的数据共享,这显然是目前汽车行业最重要的一笔宝贵资产。
SE: 现在的汽车厂商似乎正在分裂,逐步变成无人驾驶车厂与普通车厂。无人驾驶车厂往往更为激进,很多开始采用单摄像头来替代多摄像头,并急于在某种特定的地理区域/环线场景之内推出无人驾驶汽车。
Dally: 人们对这方面问题存在一定误解。无人驾驶汽车不可能一蹴而就,我们没办法在一夜之间就让所有汽车都具备无人驾驶能力。我所看到的是,随着对这项技术的不断雕琢,少数特定车型将实现 4 级驾驶,而现有汽车则将逐步实现 2 级或者 3 级驾驶。但无论如何,单是这一步已经中心让每位交通参与者都更加安全。大家可以回顾一下过去几年中发生的变化,各大车厂开始运行自己的感知神经网络,并带来远超以往的自动紧急制动效果。
SE: 这是个有趣的观察结果,因为以往大多数改进都只会出现在最高端的车型当中。现在我们看到新的成果完全源自技术层面的发展,而且似乎更具备普遍意义。
Alben: 但肯定还是会分层的。
Dally: 早在上世纪九十年代,当我们从 5 微米推进到 2.5 微米时,处理器的每瓦性能提高了 3 倍。如果落后于这种技术变革,厂商将失去效力。今天,在两个相邻制程之间,例如 10 纳米与 7 纳米,或者 7 纳米与 5 纳米,性能提升只有 20%左右——远不及当初的 3 倍。但观察我们的几代 GPU 产品,大家会发现每一代的 AI 性能仍然在保持倍增。这种倍增源自架构——虽然制程也贡献了一定力量,但不再决定一切。
SE: 现在功耗成了新的关注重点,还是说性能仍然是最优先的目标?
Dally: 每瓦性能确实很重要,我们也在努力通过单一封底提供更强的性能表现。
原文链接:
Nvidia’s Top Technologists Discuss The Future Of GPUs
公众号推荐:
跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。
评论