Nvidia投资分析 3:GPU
前言:(2022/2/10)
这是我2020/7写的一系列关于Nvidia的投资分析。过了一年多我回过头来再读这几篇文章,觉得还是有可读性。我原来是把它放在微信公众号上的,后来被永久封号了。我决定再把它贴出来,跟大家分享一下。
投资分析– 技术篇3:GPU
林以(ylin30@gmail.com,2020/07/19)
引言
上两篇【1】【2】给大家介绍了云计算和AI的发展历程。AI的成功归功于神经网络的发展,而神经网络的成功归功于GPU提供AI所需的庞大的算力。如果我们信服AI将来会无处不在地改变人们的生活,那么GPU作为提供AI算力的一个产品,它应该有无限美好的市场。当然AI涉及的其它领域(比如应用、算法、数据)也有前景,但是我们目前只讨论算力。
我们需要提出的质疑是:
1. 除了GPU,还有哪种选择给AI提供算力?GPU是最佳选择吗?
2. 如果GPU是最佳选择,它的生态圈如何?哪家GPU公司是最佳选择?
这篇文章我们主要看第一个问题:GPU是给AI提供算力的最佳选择吗?第二个问题也在文章中有所回答。
1、摩尔定律的失效
要回答这个问题,我们得先从摩尔定律的失效说起。摩尔定律是1965年由Intel的创始人Gordon Moore提出的(图一)。他通过观察集成电路的发展得出一个结论,“The number of transistors in a dense integrated circuit (IC) doubles about every two years”【4】。其大概意思就是计算机的算力每两年就翻一倍。这个定律一直延续到这个世纪,很多产品都伴随着这个定律而发展。比如您的手机越来越轻薄,但是越来越强劲。
然而近年来随着transistor越来越小,接近单个原子的规模,制造工艺越来越难,要跟上摩尔定律越来越难。虽然台积电和三星成功突破7纳米的制造工艺,CPU龙头Intel一直卡在10纳米上。很多专家开始质疑摩尔定律是否已经失效,随便在互联网上都可以搜到很多这样的报道。其中最坚定的是Nvidia(英伟达)的CEO黄仁勋。他在CES2019年上说:“摩尔定律过去是每5年增长10倍,每10年增长100倍。而如今,摩尔定律每年只能增长几个百分点,每10年可能只有2倍。因此,摩尔定律结束了。”图二是英伟达2020Q1财报ppt上提供的一个图。传统的芯片CPU的算力已经增长缓慢,不能保持线性。而GPU还有这个可能性。
我个人还是认可这个观点的。读者可以自己判断。
2、硬件加速技术的对比
摩尔定律的失效是因为元器件(transistor)的密度越来越难提高。既然单独通过提高元器件(transistor)的密度这条路走不通,还有什么路子呢?科学家们考虑了很多新的技术,比如用量子计算(quantum computing),纳米碳管(carbon nanotubes),光子计算(optical computing)。但是这些都太前卫,短期(至少5–10年吧)不可能实现或商业话。既然通用芯片(传统指CPU)有瓶颈,比较现实的是开发特殊用途的芯片,比如专门为AI/神经网络/深度学习服务的芯片。MIT有一篇很好的调研报告【6】可以供读者学习,并不涉及很专业的技术。
为深度学习提供特殊芯片也叫硬件加速(hardware acceleration)技术,有4种选择【7】:
· CPU
· FPGA(Field-Programmable Gate Array)
· GPU(Graphic Processor Unit)
· ASIC(Application-Specific Integrated Circuit)
它们一般都是跟CPU合起来用。相当于一部分需要高强度计算的就分配给这些特殊芯片(GPU/ASIC/FPGA)来算,然后跟CPU整合,见图三。
我在这不必要过多描述它们技术上有多大的区别,只是想给大家阐述一下它们各自的有代表性项目和产品的流行接受程度。从通用性上来说,CPU是最通用的。ASIC是最不通用的。从性能上说(针对深度学习而言),ASIC是性能最好的,CPU是最差的。
2.1、CPU
有代表性的是Intel的Xeon Phi项目。它始于2010年,专门为supercomputing和HPC设计的,后来也想为深度学习服务,跟GPU一拼。但是Intel于2019年悄悄放弃了这个项目,见【8】。转而宣布要开发独立显卡(Discrete GPU),跟Nvidia和AMD竞争。
2.2、FPGA
FPGA没有太多的消息。它和ASIC一样,属于高度定制化的芯片,追求快和通过硬件编程来完成定制化,避免每种IC都要重新烧板制造的时间成本和制造成本。它最大的问题是很难编程。它支持硬件编程语言如Verilog,VHDL,新的也支持C/C++。对sequential和高精度的计算不合适【7】。我没找到它有什么有名气的产品。
2022/2/10补:AMD最近被批准了收购FPGA的鼻祖Xlinx,打算进入这个领域。目前受到苹果M1芯片的成功带动,定制化IC形成潮流。
2.3、GPU
GPU是最主流的选择。GPU跟CPU比处理频率慢一些(3G vs 1G左右),但是核数多(百千级 vs 10的级别),适合做神经网络无处不在的矩阵运算,准确来说是平行计算,耗电少。独立显卡有单独的内存,不用跟CPU等分享,满足深度学习需要大量数据的要求。
搞GPU的公司其实就3家,Nvidia,AMD,和Intel。GPU分为独立显卡(Discrete GPU)和非独立显卡(Integrated GPU)。AI所需的是独立显卡,这是因为独立显卡有单独的内存,满足AI计算所用。非独立显卡是跟CPU等共享内存的,不适合AI。Intel产的GPU就是非独立显卡,所以我们只需要关注Nvidia和AMD两家公司。它们两家占的独立显卡的市场份额如图四。两家加起来是100%。Nvidia占了70%左右。最近两个季度的数据在表二里。Nvidia仍然是大头。业内玩主一般把Nvidia称为绿军,AMD为红军,因为它们的商标颜色一个是绿的,一个是红的。AMD的显卡业务其实是2006年买了ATI得到的。要不是这笔交易带来生机,AMD估计都熬不到现在。
Nvidia和AMD这两家只是GPU设计公司,它们没有晶圆厂,主要靠台积电(TSMC)和三星(Samsung)给它们生产。AMD于2018年4月最先用到了台积电的7纳米的工艺,Nvidia刚于2020Q1在最新的芯片Ampere A100上用到7纳米的工艺。这也是图四上AMD在2018年Q3和Q4有所爬升的原因。
2.4、ASIC
ASIC有代表性的是Google自研的TPU(Tensor Processing Unit)。它比GPU更激进一点。GPU只是为平行计算设计的,而TPU是为深度学习设计的。我稍微研究了一下,GPU和TPU都很适合做矩阵运算。但是GPU一般来说它最小的运算单位是向量(每个GPU cycle计算的东西),而TPU是以矩阵为最小单位。所以TPU会比GPU更快。其实Nvidia最新的GPU(Volta开始)也用TensorCore,它的最小单位是4*4的矩阵。TPU的Matrix Multiply Unit是256*256*8b)。某种程度上讲,GPU也是ASIC的一种。
【9】对比了2019年初最新的Google的TPU和Nvidia的GPU。对深度学习来说,TPU比GPU会快一点(training time 190s vs 208s),但是费用TPU是GPU的1/3左右。网上有很多比较,基本上都同意TPU比GPU会快和便宜。但是快和便宜的量不一致。
值得指出的是TPU是特殊定制的,需要大量的金钱和人力,目前也只有谷歌一家公司有这个实力能做这个事。从软件人才到硬件人才,都需要储备。有专门搞硬件的人评价TPU硬件框架其实也比较简单,没有突破性的技术,用的核心技术Systolic也是别人的。有人计算了一下,要想投入做定制的TPU,姑且先不说有没有这么牛B的团队能做,如果最后没有成千上万的产量需求,根本收不回成本。而且由于ASIC是定制的,如果深度学习的技术有所改变,原来的芯片设计就会过时跟不上。
还有一个问题是TPU的软件支持。谷歌的TPU虽然被它的TensorFlow框架支持,只是内部在用。谷歌已经宣布不打算把TPU芯片商业化,但是它会在它的云计算平台上提供TPU算力。谷歌当初搞这个TPU是因为它all in AI,规模够大,另外它当时搞的时候GPU还没有那么的成熟,最后一个原因就是谷歌就是想跟别人不一样。
3、小结
由于摩尔定律的失效,有4种硬件加速的技术(CPU/FPGA/GPU/ASIC)选择。对比了一下,还是GPU最流行,最靠谱。GPU几乎是目前做深度学习的硬件标准选择。对GPU有一定威胁的是TPU,但是仅谷歌一家特有的。由于太过于定制的缘故,谷歌并不打算把它商业化,仅在谷歌云上提供算力。
GPU这个方向不会错。
References:
1、林以,投资分析-技术篇1-云计算的发展
2、林以,投资分析-技术篇2-AI的发展
3、Jon Peddie,Global GPU market’s growth blunted by COVID-19 in Q1’20, 6/1/2020
4、Wikipedia,Moore’s Law
5、Nvidia 2020Q1 presentation slides
6、Neil Thompson,The decline of computers as a general purpose technology:Why deep learning and the end of Moore’s Law are fragmenting computing,MIT working paper,Nov 2018
7、Arrow.com,FPGA vs CPU vs GPU vs Microcontroller: How do they fit into the processing jigsaw puzzle?10/5/2018
8、extremetech.com,Intel quietly kills off Xeon Phi,5/8/2019
9、Steven Reitsma,Cost comparison of deep learning hardware:Google TPUv2 vs Nvidia Tesla V100,1/21/2019