很多朋友应该都知道了,昨天(1 月 28 日)英伟达下调了第四财季的业绩预期,随后股价暴跌高达 18%。
请注意这里的细节,是英伟达自己下调了预期,发生的时机是在发布本季财报(2 月 4 日)之前。说白了,就是自己提前承认这个季度搞砸了,并跪求各位投资人放过。
另外一个需要注意的细节是,这已经不是英伟达第一次下调本季度的业绩预期了。在去年发布第三季度财报时,英伟达就已经将第四财季的营收期望下调了 7%左右,低于市场预期近两成。最近六个月以来,英伟达股价已经由最高的 290 美元左右,下跌到目前的 130 美元,除了股价腰斩,更成为同期标普 500 指数中表现最差的公司。
英伟达在这封致股东信中提到,导致收入指引下调的主要原因是全球及部分地区的经济减速,导致游戏 GPU 销量和数据中心业务的大量下滑。
相比之下,我在之前的文章中介绍过,FPGA 公司 Xilinx 在前几天发布季度财报后,股价飙升接近 20%。这很大程度上归功于 Xilinx 通信与数据中心部门的高速增长。此外,英特尔在其最新财报中披露,旗下 FPGA 部门在数据中心领域的增长幅度约有惊人的 50%。
分析师们并不会告诉你,为什么这些公司目前有如此迥异的表现。在本文中,我就从技术角度深入分析,当年的小甜甜怎么变成了今天的牛夫人。
数据中心 AI 加速芯片的选择
推动人工智能爆发的最主要原因之一,就是硬件算力的提升。而英伟达的股价当年之所以能够三年涨 10 倍,就是因为 GPU 非常适用于深度神经网络的训练。与传统的 CPU 相比, GPU 拥有数千个计算内核,能够在性能上取得上百倍的提升。因此 AI 就成为了 GPU 最主要的应用领域之一,也成就了英伟达的高速增长。
随着 AI 的不断发展,诸如微软和谷歌这样的巨头公司开始考虑在数据中心里采用 GPU 作为 AI 加速芯片,这时问题就出现了。在大量部署时,芯片的性能并不是唯一需要考虑的因素。事实上,很多情况下它也并不是最重要的因素。
对于某种 AI 加速芯片,我将常见的评价因素总结为五点:性能、灵活性、同构性、成本和功耗。其中:
灵活性:指这种芯片对不同应用场景的适应程度。
同构性:指的是 AI 加速芯片能否重复利用数据中心现有的架构和资源。
成本:既包括对该硬件加速器的研发投入,也包含了它的采购、部署和运维开支。
功耗:就是指引入该方案后,对数据中心带来的额外功耗负担。
接下来,老石就对几种常见的 AI 加速芯片,比如 GPU、FPGA 以及 ASIC,采用上述评价因素做一个简单的定性对比。
GPU
GPU 最大的问题是,它基本上是个“功耗黑洞”:中等性能的 GPU 功耗都普遍超过 200W,而高性能 GPU 的功耗会超过 300W。相比于 FPGA 或 ASIC 的几十瓦甚至几瓦的功耗而言,这个数字显得过于惊人。
高功耗对于 GPU 在数据中心里的大规模部署是致命的,因为这不仅代表着高昂的电费开支,还表示数据中心现有的供电、散热等硬件架构需要进行重新修改,这对于同构性和低成本这两项要求而言基本上是不可能的任务。
在灵活性方面,GPU 通常只适用于计算密集型运算,对于通信密集型的应用,GPU 需要与 CPU 和网卡组成一个完整的通信系统,因此对于这类应用,GPU 的灵活性会受到较大限制。
ASIC
专用的 AI 加速芯片以谷歌的张量处理器 TPU(Tensor Processing Unit)最为典型。TPU 专为谷歌的深度学习框架 TensorFlow 设计,现在已有第二代,被用来加速神经网络的和决策。ASIC 最主要的优势是它的超高性能和超低功耗。与 GPU 相比,TPU 在某些 AI 应用的性能可以提高一个量级,而功耗会下降一到两个量级。
不过,得到这样高性能和低功耗需要付出的代价就是巨大的研发成本。放眼全球,有资金实力和技术储备进行这类研发的公司,大概用一个手就能数的出来。ASIC 的另外一个缺点是它的低灵活性,它通常针对某种特定的应用和算法框架而设计,因此很难直接用于其他的应用。
FPGA
相比 GPU 和 ASIC,FPGA 在各项评价指标中能够达到比较理想的平衡。在绝对性能方面,虽然不如 GPU 或 ASIC,但由于 FPGA 可以定制化硬件流水线,并且可以进行大规模并行运算,因此相比传统的基于 CPU 的计算性能还是有着至少一到两个量级的提升。由于 FPGA 具有硬件可编程的特点,使得它可以应对包括计算密集型和通信密集型在内的各类应用。此外,FPGA 独有的动态可编程、部分可编程的特点,使其可以跨空间和时间两个维度,同时处理多个应用,或在不同时刻处理不同应用,因此有很强的灵活性。
功耗和成本方面,FPGA 的功耗通常为几十瓦,采购与运维成本远低于 GPU。FPGA 的开发成本主要涉及购买特定的 FPGA 设计和调试工具、采购 FPGA 芯片或加速卡,以及组建团队进行或外包 FPGA 开发项目等投入。虽不及 CPU 或 GPU 等基于软件的开发方式,但由于省去了 FPGA 芯片制造的相关环节,因此相比研发一款专用芯片而言还是低很多。
此外,FPGA 目前通常以加速卡的形式配合现有的通用处理器进行大规模部署,对额外的供电和冷却等环节没有特殊要求,因此可以兼容数据中心的现有硬件体系结构。
AI 芯片的最大风险
对于 AI 芯片的设计者而言,当前最大的风险就是 AI 本身。在这个群雄争霸的时代,各种新算法、新模型层出不穷,因此在某种方法一统天下之前,很难将其中的任何一种方法固化在芯片上,否则就很可能再次重演以前的小甜甜变成今天的牛夫人这样的悲剧。
比如,为了进一步提升性能功耗比,目前比较流行的方法是使用近似(approximation)算法,例如将双精度浮点数换成低精度的定点数,或者对不同权重的网络分支做剪枝、结构优化和压缩的操作。这方面的具体内容在本文中不再展开,有兴趣的读者可以参考老石在英国的博士师弟小王同学最新发表的综述,题目见下图,点击阅读原文即可查看。
笔者想说的是,这些不断涌现的全新 AI 方法只有通过 FPGA 才能快速实现,这对于 GPU 或者 ASIC 都是不可能完成的任务。
结语
正如笔者在之前的文章里提到的,数据中心与 AI 已经成为各家芯片公司的必争之地。只不过,近期资本市场的表现在某种程度上展示了人们对不同方案的认可度。这也是笔者在本文中尝试分析的。
然而,笔者并不想立 flag 断言这些公司的未来,我只是相信,技术会不断给出自己的答案。