从理论上来说,1946年的ENIAC计算机是全球首款电子通用计算机。不过你可能不知道,这台巨型计算机当时主要是用来计算炮弹射击表的——典型的战争催生技术诞生。如果要用ENIAC执行不同类型的计算,那就需要手动重新安排接线,做新的硬件设计了。
实际上早期的计算机鲜有真正“通用”的设计,它们基本上都是为某一类算法特制的,我们不能简单将其说是像ASIC或FPGA。即便在真空管转向半导体以后,针对新功能进行硬件重新设计也是必须的。后来才有基于冯诺依曼体系的计算机架构,即可以存储指令,在软件中执行算法才成为可能。这是“专门硬件”向通用硬件的华丽转身。
随后CPU这样的通用技术,及摩尔定律影响了人类几十年的历史。在这几十年时间里,对应于通用处理器的专用处理器实际仍然是有市场的,典型的比如GPU执行专门的图形处理。但近些年摩尔定律逐渐失效,以及AI技术的兴起,让专用处理器忽然有了逆袭的趋势,而且这种逆袭可能是以颠覆通用计算市场主体为代价的。
MIT(麻省理工学院)去年11月曾发表过一篇题为《通用技术计算机的衰落:为何深度学习和摩尔定律的终结正致使计算碎片化》的paper。这篇paper认为半导体制造工厂近两年的建造成本还在逐年上升,产品迭代的设计和运营成本则基本上也在同步提升;而且通用芯片同等成本下的性能提升(performance-per-dollar)还在大幅放缓,这让专用处理器更具吸引力。
如果通用计算真的逐渐沉寂,或许对整个行业的众多玩家而言都是一次革命。而这件事的发酵实际也远比很多人想象得影响深远。
良性循环的打破
通用计算技术在出现之后很快就形成了良性循环:1971年的Intel 4004可以认为是首个通用处理器,自此之后市场扩张就彻底打开了。这里的良性循环是指,早期会有用户开始购买通用计算处理器,资金便开始进入到市场中,并让产品在技术方面做得更好;而在产品提升之后又会导致更多的用户购买,并吸引下一轮资金......如此循环往复。
2000-2010年是PC发展的黄金期,销量每年平均提升9%。这样的市场增速自然就刺激了芯片的资金投入。Intel过去10年在研发和生产设备方面的投入达到了1830亿美元。这种程度的投入,造成1971年至今,处理器性能提升多达40万倍。技术的高速迭代也促使下游厂商频繁更新产品,产品淘汰周期很短,销量的提升也就理所应当了。这就是通用处理器以往的良性循环。
值得一提的是,这种良性循环的基础是在短期内,相同成本下的性能提升速度够快。在半导体领域,传说中的摩尔定律是推动这种良性循环的核心。如果技术更新和成本下降无法随时间呈接近指数级变化,则“通用”技术很难存在市场:在电子科技领域以外,就较少见到“通用”的存在,比如电动机这种各类家电都需要的设备,始终也未能形成跨设备的“通用”。
通用计算市场的良性循环这么久以来的持续,是我们都有目共睹的。专用硬件虽然有其独有的市场空间,却从未对通用处理器造成真正威胁。但2012年有个大事件发生:这一年的ImageNet视觉识别挑战赛上,有个名叫AlexNet的项目刷新了程序识别视觉图像的记录。这个项目将程序识别图像的错误率下降到了16%——而往年类似SVM这样的矢量机顶多也就能达到26%上下的错误率。
AlexNet用到了当时还不算普及的深度学习技术。神经网络技术早在上世纪80年代曾经火过一段时间,但那会儿的计算能力并不足以承载哪怕是规模不大的神经网络。而AlexNet则在挑战赛上应用了针对深度学习的“专用处理器”——主体就是GPU。借助GPU硬件重并行计算、大存储空间,以及深度学习本身就看重算法并行,AlexNet赢得了那场比赛。在AlexNet亮相之后,同行也都开始采用GPU进行深度学习应用。很快深度学习开始应用于语音识别、机器翻译等领域。除了现如今Siri、Alexa这些常规的智能助手已经普及了深度学习,Facebook甚至用深度学习来识别图片、过滤部分文字内容、定制化广告呈现。
深度学习可以认为是刺激专用处理器极速发展的切入点。2015-2017年英伟达数据中心业务营收发生四倍增长,其中约50%的销售额都来自深度学习。而在2013年,谷歌认为深度学习要求的算力还会更高,于是并未基于GPU构建数据中心,而是开发了更专注的专用处理器:TPU(属于ASIC)。TPU在能够处理的任务方向上更窄,它只能用于神经网络。谷歌在TPU之上花费的开销是相当不菲的,但带来的收益也非常可观。谷歌宣称,其性能红利相当于摩尔定律7年的发展,而且开发TPU还避免了基础设施方面的花销。
此后不久,Facebook又与Intel合作开发神经网络处理器Lake Crest。而在移动终端,华为率先为手机SoC推出了NPU神经网络执行专核,苹果也在前年的A系列SoC中加入了类似的组成部分。而这种NPU在处理神经网络inferencing任务时的算力,是远非CPU、GPU这些相对更通用的处理单元可比的。
实际上,专用处理器已经在各类计算平台发力,包括移动、数据中心、PC、IoT。苹果的A系列SoC,目前只有20%的面积给通用处理器,其余部分都分配给了专用电路,包括运动协处理器、神经网络执行单元;IoT终端硬件,包括各类传感器、RFID标签基本都基于专用硬件;在超算领域,自2010年以后,采用专用处理器的Top 500超级计算机比例正在逐年上升——而且到去年专用处理器为Top 500超级计算机增加的算力总和,首次超过了通用处理器。
Intel“挤牙膏”的深层原因
前述通用处理市场良性循环三要素分别是用户、资金、产品。探究转向专用处理器的内在原因,恐怕可以从链条中的“资金”这一环说起。每年半导体行业造成的收益是巨量的,但半导体行业协会(SIA)2017年估算,针对新一代技术节点建工厂,配套制造设备,大约需要70亿美元。在过去25年间,构建最新制程节点工厂的投入每年平均提升11%,如果加上工艺开发,则可将成本每年推升13%(2001-2014)。
2002-2014年,最新节点工艺制造商的数量变化,来源:Smith (via MIT)
那么要抵消这些固定成本的急剧提升,一方面自然是要求半导体行业本身的成长、更大的市场规模,以企业更高的产量来摊薄固定成本。另一方面,则在成本和市场增长不对等的情况下,导致一部分市场玩家离开,那么剩余的玩家就能进一步获取市场,拿到更大的销量来再行摊薄成本——这一点原本就是趋势,从2002年至今,能玩转最先进工艺制程的晶圆厂已经所剩无几。在GlobalFoundries退出7nm竞争之后,市场上还能做最先进制造工艺的企业现在就只剩下Intel、台积电和三星了。
如果粗略地算一笔账,在上述两个条件同时满足的情况下,现有的市场参与者才刚好让这一市场的增长率(理想情况下如果市场份额在几个参与者间均分,则结合历年数据,企业复合年增长率约为14%),和前述13%成本提升两相抵消,并有盈余。那么按照固定成本还在推升的趋势,未来参与者还需要进一步侵吞竞争对手,才可能获得生机。
至少我们可以认为,这种趋势是不能持续的。而制造商真正的解决方案很显然,是被迫减缓新技术节点的迭代,或者通过其他方式来控制成本,这对通用计算市场而言显然是不利的。
市场的这种整体恶化,实际对Intel产生了很大的影响——而且Intel一直以来的主要营收支柱就依赖最新工艺,所以市场实际状况对Intel的打击也远高于三星和台积电,如台积电更早的节点也是其重要营收来源。Intel工厂的固定成本与可变成本之比,在过去10年间从60%攀升到了超过100%。
Intel过去10年的R&D投入变化,来源:YCHARTS
要解决成本控制问题主要有两种方法,一是推高产品的平均售价获得更高的利润;二是减缓新节点制程的更新步伐,把新工艺的迭代周期推迟一年。实际上Intel同时采用了这两种方案。抛开技术层面的问题不谈,推迟工艺迭代也算是个必然选择,无怪乎挤牙膏的市场现状(虽然近期AMD给Intel造成的压力不小,导致硬着头皮也要上)。
那么实际上,前文提到的“良性循环”就已经有了缺口。三要素之一的资金,已经出现了问题,也实质上造成了另一个要素的问题:技术迭代不得不放缓。而技术迭代的放缓又不只是资金问题造成的,物理极限本身造成了工艺迭代难度大增。从SPECint的测试数据来看,1985-2005年通用计算机每年平均跑分成绩提升52%,而在2005年之后掉到每年22%,预计到2020-2025年期间这个数字还要缩减。美国劳工统计局的数据为,通用处理器相同成本下2000-2004年每年性能提升平均为48%,2008-2014年则为8%。
那么在技术水平更新变慢以后,就要开始影响良性循环中的第三个要素用户了。早在2016年,当时的Intel CEO Brian Krzanich在Bernstein Strategic Decisions Conference会议上说,用户更换PC的周期已经扩展到了5-6年。实际情况是,手机的消费用户更换周期也在延长。在这种情况下,通用计算市场原有的良性循环实际已经被打破,甚至成为了恶性循环,让通用计算市场的发展越来越慢。
专用处理器市场过小?
或许有人会说,晶圆厂的这种问题,工艺迭代放缓也会影响到专用处理器。但实际上专用处理器大部分情况下的理想成本选择并非最新制造工艺。而不同的应用本身也正需要不同的工艺,所以上述问题对专用处理器的影响也就小了很多。
这些因素都让专用处理器变得更有吸引力。一般更通用的处理器,在设计时所需的妥协更多。比如在芯片面积方面的权衡:是增加额外的处理器核心用于并行计算,还是增加cache提升存储子系统的性能。毕竟通用处理器要执行各种各样的计算,自然无法针对某种特定的任务做特别的照顾。而专用处理器是量体裁衣,比如做更出色更稳定的并行运算、更少的存储访问需求,以及可能更低的精度。
比如GPU相比CPU,频率通常低得多,但每个时钟周期内以并行的方式就能执行100倍量的计算。所以GPU在重并行运算方面就具备了极大的优势,但处理一些少并行的工作可能就不及CPU了;另外GPU的内存带宽可以达到CPU的10倍,但数据访问延迟却高得多,这样一来GPU的预测计算能力就更强。而专用处理器的另一个特性就是由于量体裁衣,所以更节能,无论对电池驱动的小型IoT设备,还是对大到云计算、数据中心和超算,都是有很大价值的。
不难想象前文提到的专用处理器在更多领域正逐渐开花。不过专用处理器也存在缺陷,典型的就是弹性较差。好比英伟达的GPU,虽然高维矢量运算能力强,在科学和工程领域应用还算多。但实际上绝大部分的软件都是不能跑在GPU上的。而GPU已经算是通用性还稍强的处理器了。而且编程难度高,只有那些经验最丰富、对性能要求很高的程序员才有能力将GPU应用到非图形计算领域。
而专用处理器最大的问题实际也是来自固定成本。对于通用处理器来说,固定成本的摊薄是基于巨大的销量。或许GPU、NPU之类的市场都还比较大,但更多专用处理器仅着力细分市场,市场规模与通用处理器不可同日而语。即便用更早的制造工艺,成本如何控制的问题也仍然存在。这也是过去几十年,专用处理器未能真正大规模兴起的原因。
实际上,某一个种类的专用处理器能否兴起关乎几个因素:相对性能 r(专用处理器性能/通用处理器性能),通用处理器本身的性能提升速度λ,以及专用处理器达到与通用处理器相同成本所需的时间T(这个值是指在出售过程中摊薄成本的时间)。
如果某款专用处理器的固定成本更高,那么它所需摊薄成本达到与通用处理器同一水平所需的时间T也就更久。而客户是否选择专用处理器,除了价格之外还要看专用处理器性能表现如何——以及通用处理器性能提升速度λ是否很快。如前文所述,美国劳工协会的数据为2000-2004年,λ=48%;而2004年λ=29%,2008年λ=8%。符合通用处理器性能提升逐年放缓的趋势。
来源:MIT
上面这张图,横轴表示相对性能r(专用处理器性能/通用处理器性能),纵轴表示处理器出货量。在摩尔定律鼎盛时期,也就是λ=48%的时候,如果说r=100,也就是专用处理器比通用处理器快100倍,则至少需要出货83000个产品,才能让专用处理器在成本效益方面打败通用处理器。如果r=10,也就是双方性能差距10倍,则出货量需要达到16.7万;如果r=2,则出货量需要100万,才能让专用处理器在市场上更有竞争力。这几个出货量值对于细分领域的专用处理器而言都显得过大。
不过考虑到现如今λ已经下滑到了8%,那么r=100时,要求的出货量就能降到15000;r=10时,要求的出货量可降至27000;r=2时,要求的出货量为81000。就这个时间节点来看,某些应用领域的专用处理器就已经可以达到这样的经济效益了,甚至对专用处理器的性能要求也降低了很多。
计算的细分和碎片化
深度学习或者说AI这样的应用场景正越来越普遍。仅企业市场,IDC预计,应用于AI和机器学习的花销预计会从2017年的120亿,达到2021年的576亿——当然这其中也并不单只和半导体相关。其应用场景涵盖了BI(商务智能)与分析市场、数据科学平台等。Deloitte Global认为机器学习IP最快的成长领域就是专用芯片的开发,数据显示数据中心的机器学习芯片,2016年出货量在20万,而2018年就达到了80万。
谷歌TPU板子
前述英伟达专为AI优化的GPU,以及谷歌TPU即是这一场景中的例子。谷歌还在去年的Google I/O大会上宣传了TPU第三代产品,可见是真正尝到甜头的。微软Brainwave加速器采用FPGA的方式,为实时AI设计;Intel则有深度学习inference加速器(位于数据中心加速卡中的FPGA),还有放在USB小型计算设备中的低功耗AI加速器Movidius Compute Stick;更多市场参与者如Graphocore IPU、Tachyum、Wave Computing...单是AI这一领域百花齐放的态势就已经形成了。
而AI只是专用处理器的某一个方向,更多开发者的加入,并且相继让前期投入的企业尝到甜头之后,适配其他算法的新硬件也会相继诞生,专用计算市场持续扩增。那么计算在硬件部分就开始进一步细化了,似乎又返回到计算机刚诞生的那个“专用”时代,一种硬件解决一种问题。
未来市场的应用场景大致分成三类,一类是由于某些原因无法采用专用处理器的类型:比如某些市场本身就非常小,如气候模型这样的小众研究科学,很难利用边际递减的方式把固定成本缩减到合理区间,成本难以摊薄;还有一种情况是某些类型的应用具有特殊性,如数据库——这个市场虽然很大,但数据库计算难以预测,且无法并行,应用专门计算是存在挑战性的。针对这类不能应用专用计算的,唯有继续采用通用计算了。鉴于通用计算整体步调放缓,会进一步减缓这些场景的发展速度,让它们彻底进入慢车道。
第二类是像TPU这样即便通用计算不没落,也一样要发展专用计算的类型——这类型可能是专用计算的最大受益者,但因为其发展和通用计算的兴衰根本上无关,所以很难算在趋势内,即便他们对市场是有贡献的。第三类则是被引导着从通用计算转型到专用计算的类型,这可能是市场发展的真正主体。无论如何这两类都可能会在短期内进入发展的快车道,获得市场最大的红利。
但就长期来看,早前通用计算的良性循环很难在专用计算上持续,无法快速驱动技术革新和成本投入。这样的长期发展可能会延缓半导体新技术的诞生和推广,甚至让创新裹足不前。只不过具体情况大约会更加复杂,这些影响仍然是很值得细究的。
参考来源:
[1] The Decline of Computers as a General PurposeTechnology:
Why Deep Learning and the End of Moore’s Law are Fragmenting Computing - MIT(http://ide.mit.edu/sites/default/files/publications/SSRN-id3287769.pdf)
[2] Measuring Moore’s Law: Evidence from Price, Cost, and Quality Indexes - University of Texas at Austin (https://www.imf.org/~/media/Files/Conferences/2017-stats-forum/session-6-kenneth-flamm.ashx)
[3] The PC upgrade cycle slows to every five to six years, Intel's CEO says - CIO(https://www.cio.com/article/3078005/the-pc-upgrade-cycle-slows-to-every-five-to-six-years-intels-ceo-says.html)
[4] Roundup Of Machine Learning Forecasts And Market Estimates, 2018 - Forbes(https://www.forbes.com/sites/louiscolumbus/2018/02/18/roundup-of-machine-learning-forecasts-and-market-estimates-2018/)
[5] The fierce competition for supremacy in the machine learning chip market - diginomica(https://diginomica.com/competition-hardware-machine-learning-market-take-2)