公众号/DeepTech深科技
身为全球最聪明的公司榜首,NVIDIA 不仅在由麻省理工科技评论主办的 EmTech China 中发表了精彩的演说,会后主讲者 NVIDIA 首席科学家 Bill Dally 也在专访中向 DT 君揭露了 NVIDIA 目前在 GPU 产品、及相关计算生态的的布局。
NVIDIA 在 GeForce 256 芯片中增加了包括 Vertex Shader 以及 Pixel Shader 等可编程计算能力,并以 GPU 为相关绘图芯片产品定名,顾名思义,GPU 是 Graphics Processor Unit,不像前代 RIVA 架构只能单纯进行绘图工作,GeForce256 的推出可说是重新定义其绘图芯片产品,绘图变成是其芯片功能的一部份,可编程的算力才是未来让 NVIDIA 发光发热的核心。
图丨Bill Dally的简介
不过往后数年,虽然具备了程序设计能力,但实际上于计算领域有所发挥也是 10 年后的事情。这是因为当时 NVIDIA 凭借成功的绘图架构取得市场领先,且和 ATI 的市场大战正火热,流处理计算还没有很好的应用之故,NVIDIA 也没有意会 GPU 的算力未来会有如此庞大的潜力。2004年,由 Bill Dally 带领的斯坦福大学团队针对 GPU 的可编程部分设计了许多流处理技术的计算架构,这些研究成果后来成为 CUDA 的基础。
后来 NVIDIA 也以相关研究为基础,推出通用并行计算架构 CUDA,以及针对计算应用的 Tesla 产品线。Bill Dally 对此可说是背后的重要推手之一。
在 2009 年,Bill Dally 加入 NVIDIA 后,NVIDIA 在 GPU 计算的脚步更是飞快发展。
图丨Bill Dally在EmTech China上的演讲
GPU 从原本在各大学中单纯用来进行基础科学研究的辅助角色,迅速成为各大超算、数据中心的计算核心,每年全球前五百大超算榜单之中采用 NVIDA 计算方案的几乎都名列前茅。而配合 CUDA 生态的成熟,更从 2016 年大热的AI 议题中,带起了机器学习与深度学习的应用热潮。
但是 GPU 在面对如此庞大的计算市场,以及此起彼落的挑战者,是否还能维持荣景?Bill Dally 为深科技读者带来独家的观点。
DT 君:您可以简单介绍目前 NVIDIA 的主力产品线吗?
Bill Dally:我们实际上有四个方向同时进行,有四条产品线。其中包含了 GeForce、Quadro、Tesla 以及 Tegra。分别针对消费性图形计算、专业图形计算、专业高效能计算、以及嵌入式计算平台,基本上都是以 GPU 为共通的架构基础,但针对不同应用进行微调,使之更适合不同的应用情境。
DT 君:针对 Volta 针对 AI 计算所做出的架构变革,比如说增加了 TensorCore,这会改变 GPU 的定位吗?
图丨TesorCore架构
Bill Dally:TensorCore 是个营销代号,其架构的真相就是增加一些相对应的指令集,依靠这些指令,让 GPU 可做半精度 (Half- precision) 的矩阵乘积累积,而这是许多深度学习算法所使用的的内部循环基础逻辑。而且它实际上并没有改变 GPU 的基本概念。Volta 仍然是一个货真价实的 GPU,它在渲染图形方面的性能表现仍是一流水平,加入 TensorCore 并没有牺牲 GPU 本身的任何特性,反而是创造了双赢。现在 Volta 可以更好的针对深度学习应用,同时也能发挥百之百的绘图性能表现。
其实很多都是关于数据类型的选择和指令的选择。GPU 架构实际上是一个框架,你可以在其中放入不同的数据类型和不同的指令来完成不同的应用程序。比如说,开普勒架构对推理工作不能很好的支持,它也不具备半精度浮点计算能力。
当初数据型态的支持是深度学习的关键,而开普勒会使用 FP32,导致计算成本非常昂贵。从Pascal 我们开始支持推理计算以及 FP16 数据训练计算能力,但你不会说 Pascal 因此就不是GPU 了。Volta 加入 TensorCore 也是类似的情形。
Volta 仍然是 GPU,可以做图形计算。我认为GPU 是非常高效的并行计算架构。而我们并没有牺牲任何其他的事情来做到这一点。
图丨英伟达Volta
DT 君:所以我们仍然可以期待 TensorCore 可以在图形任务中发挥功能吗?
Bill Dally:是的,事实上,深度学习和图形学之间有很大的协同作用,我们的发现是,通过深度学习,我们可以使图形更好。然后进行视频研究,开发图像抗锯齿和去噪的新算法,并提供图像的时间稳定性,这些都是基于深度学习。因此,通过拥有深厚的学习推理能力,芯片现在实际上在图形表现方面会比没有 TensorCore 更好。
DT 君:您如何看待在深度学习领域的挑战者,比如说 FPGA?
Bill Dally:我不是很担心 FPGA。如果你想解决某个问题,并且你愿意投入大量的工程时间,那么干脆直接开发 ASIC 就好了。我是这么看 FPGA 的,如果你在 ASIC 上设计了一个门,那么把同一个门放在一个 FPGA 上,占用的芯片面积和功耗都会是相差很多。
所以对于实际上你必须用随机门工作的东西,FPGA 比 ASIC 要明显更弱。FPGA 只能在 FPGA中使用大量硬件模块的问题上做得很好。所以,如果你已经硬连接一些 FPGA 有 18 个 beta 算术单元来进行 DSP 操作,其他的有 14 个点单元。
当你不得不使用 FPGA 上的栅极时,它的表现会变得差强人意。也因此我们不认为它们是非常有竞争力的。
图丨Tesla V100
DT 君:若 FPGA 并不是个值得担忧的对手。那么您会担心什么?
Bill Dally:有很多创业公司正在建立专门的深度学习芯片,我们当然也很关注这些发展。但是我的哲学总是“我们应该做我们认为可以做到最好的工作”,而他们的选择基本限制了他们的发展空间,以致于不能做得更好,因为我们正在尽力做到最好。
如果我们以三个细分类别的方式细分深度学习的话,分别是训练、推理和 IoT 设备的推理。
对于训练,我们一直在做的是专注于深度学习的 GPU。所以如果你光是单纯为了深度学习而建立一个芯片,那应用可能会过于狭窄,无法兼顾到其他可能的应用。而在我们的架构中,由于 HMMA 的操作,Volta 架构所集成的 TensorCore 可以做到很庞大的数学计算,它只需要一条指令即可完成 128 个浮点计算步骤,可以兼顾更多应用。
我们确实有一些对深度学习帮助不是那么大的额外的芯片区块,比如说针对图形绘制工作的光栅化 (rasterization) 和纹理映射和合成 (texture mapping and compositing) 部分,但是这个部分并不大,若是构建一个专用芯片,他们的确可以摆脱一小部分芯片上的非计算必要区块,理论上芯片成本会更有优势。
虽然我们也可以这样做,只是没有任何商业意义,我们的想法是,最好是做一个芯片,并能够做很多事情。不论是绘图或者是用在数据中心,我们想要使用该芯片来尽量做到更多的事情。
图丨正在参加EmTech圆桌的Bill Dally
DT 君:EmTech 大会上量子计算成为另一个热点,那您怎么看这件事?NVIDIA 有计划进行相关领域的开发计划吗?
Bill Dally:我们成立了一个研究小组,研究量子计算的进展观察。从科学的角度来看,这是一个很有意思的领域。
近来人们已经取得了很大的进步,现在人们已经超过了 50 量子比特,并且维持量子态的时间可以做到更长。但是,对于一个可行的商业应用程序来说,仍然有数量级的需求。量子优势在于,在量子计算机上运行的算法,没有办法在传统计算机上以相同的性能运行。
所以算法的过程就是模拟量子计算机。但那并不重要。人们关心的是能够运行模拟量子化学这样的算法,或者运行诸如将复合数字分解成两个部落的算法来破解编码。这两者所需的量子比特都是数千以上。所以我们离这个问题还有很远的距离。
虽然我们认为量子计算还没有到实用的地步,但我们仍非常仔细地关注相关技术的发展脚步,藉此避免发生我们无法掌握的变化。
DT 君:目前 NVIDIA 正积极打造自动驾驶平台,但汽车对功耗的控制其实相当重视,业界也都提出不少竞争产品,您怎么看现有的方案?
Bill Dally:我们实际上提供的不仅仅是架构,也同时为自动驾驶汽车提供完整的解决方案。比如说基于 Xavier 架构的 Drive PX。这是最有效的计算平台,我的意思是,其 30 Tera Ops 的深度学习性能仅需要 10 瓦左右的功耗,所以每瓦计算能力超过 3 Teraflops。而 DLA 中的部分是每瓦特超过 4 Teraflops。所以这是一个效率非常高的平台。
最重要的是,作为 Drive PX 系统的一部分,我们有一个完整的软件平台,包括用于感知的神经网络,相机和激光雷达以及雷达,然后是用于路径规划和控制的软件车辆。
我们自己测试车队的自动驾驶汽车已经完全运行 NVIDIA 软件。我们也向汽车厂商提供该硬件和该软件。我们在车里也有一个以前叫做 Co-Pilot 的软件,现在重新命名为 Drive IX,它的主要功能就是监视着司机,它有眼睛跟踪和头部跟踪,它要是看到司机心不在焉,或过度劳累就可要求汽车做出适度警示。它有手势识别,所以你可以用手势来控制汽车。我们同时也为汽车制造商提供完整的自动驾驶解决方案。我认为这是业界目前能获得最具竞争力的解决方案。
DT 君:您看来不是很担心来自业界的竞争?
Bill Dally:我总是担心我们的竞争对手。但是我们的理念是向前看,而不是频频回头,所以我们是领先的,我们想要做的就是弄清楚我们如何能够尽可能高效地运行,不论是市场策略或产品架构。