技术制高点:芯片
半导体芯片是一切信息技术的基础,有了芯片才有电脑和存储,有了电脑和存储才有互联网,有了互联网才有大数据,有了大数据才有人工智能。在这每一波的发展中,芯片都是最关键的环节,芯片厂商总是处在霸主地位。在大型机时代,能够自己开发芯片的IBM独占鳌头。在个人电脑时代,能够生产出最好的CPU的英特尔成为新的霸主。在移动通信时代,高通(Qualcomm)几乎垄断了手机芯片,直接挑战英特尔的霸主地位。在云计算大数据时代,三星(Samsung)凭借自己在存储芯片方面的优势成为世界半导体第一大厂家。在人工智能时代,谁将是新的霸主?
这个新霸主的桂冠很可能落在硅谷的半导体公司英伟达(Nvidia)头上。英伟达成立于1993年,创始人是出生于中国台湾,小时候随父母来到美国的斯坦福大学毕业生黄仁勋(Jen-sen Huang)。公司最初是做电脑图形显示卡,20多年来一直在研发销售图形显卡和图形处理芯片GPU。除了工业应用之外,图形显卡的最大市场是电脑游戏,今天高端电脑游戏里面几乎清一色用英伟达的显卡。当电脑游戏市场开始成熟后,英伟达也曾经想进入手机市场并收购过相应的公司,但是并不成功。直到2012年上天为准备好了的英伟达掉下一块“大馅饼”,这个馅饼就是我们前面提到过的2012年的ImageNet比赛。在这个比赛中取得突破的AlexNet的发明人亚历克斯就使用了英伟达的GPU,证明了GPU非常适合用于有许多并行计算的神经网络,比CPU快得多。在这之后的几年,其他人都开始采用GPU,比谁能将网络做得更大,层数更多。从此以后,GPU成了神经网络计算的引擎,相当于CPU对电脑的作用一样。
为什么GPU会成为神经网络计算的引擎?训练神经网络就相当于调黑盒子上的旋钮,调旋钮是通过数学的算法调的,这些旋钮动辄几十亿个,需要大量的计算。传统电脑用的是CPU,用CPU去调旋钮相当于调完第一个再调第二个,一个一个按顺序来,虽然现在CPU很快,但神经网络的旋钮实在太多了,连CPU都招架不住了,这时候GPU就出现了。
GPU和CPU不一样的地方是它一次可以同时调成千上万个旋钮,原来CPU几年才能调完的活GPU几天就干完了(有兴趣的读者可以看附录3中关于GPU的技术描述)。GPU的出现,让神经网络可以更大,因而处理能力更强,从一个纯学术的研究项目变为有巨大商业价值的工具。
深度学习需要用GPU的主要有两类:模型训练和识别。前者不光要处理大量训练数据,还要不断地试验不同的模型和参数,因此运算量巨大,一个训练模型可能要成百上千个GPU来算。识别的计算量少很多,但是用户多(例如谷歌、Facebook的用户都以10亿计),所以总的运算量更大,通常是模型训练的几十倍甚至上百倍。由于几乎所有的深度学习都从英伟达买GPU,所以英伟达芯片一直供不应求,其股票从2015到2017年涨了10倍。
面对如此大的权力和利润,其他公司都心有不甘。首先是英特尔不甘心被摘下霸主桂冠,开始在CPU里集成更多的核心,2017年的Xeon Phi(处理器)里面多达72个核。但CPU毕竟还要做许多其他事情,单论深度学习还是远不如同档次的GPU。先进微器件公司(Advanced Micro Device,AMD)发扬一贯的“宁做老二”的传统,在CPU上紧盯英特尔,在GPU上紧盯英伟达,永远走“功能类似,价格便宜”的路线。其他几家互联网巨头也不想眼睁睁地看着英伟达控制着深度学习的命脉。谷歌就撸起袖子自己做了一款自用的TPU。TPU的设计思路是这样的:既然GPU通过牺牲通用性换取了在图形处理方面比CPU快15倍的性能,为什么不能进一步专注于只把神经网络需要的矩阵运算做好,进一步提高速度呢?所以TPU设计的第一个诀窍是比GPU更专注于神经网络里面计算量最大的矩阵计算,而不需要像GPU一样去顾及图形处理的许多需求。TPU的第二个诀窍是采用低精度的计算。图形与图像处理需要很高的精度(通常用32比特浮点精度),而用于识别的神经网络的参数并不需要很高的精度。
所以谷歌的第一款TPU就专门为识别设计,在运算上放弃32比特的浮点运算精度,全部采用8比特的整数精度。由于8比特的乘法器比32比特的简单4×4=16倍,所以在同等芯片面积上可以多放许多运算单元。谷歌的第一款TPU就有65 000个乘加运算单元,而最快的GPU只有5 300个单元。有兴趣的读者可以看附录3中对于CPU、GPU和TPU的详细技术分析和比较。
对于机器学习的芯片市场,不仅各大半导体厂商在攻城略地,美国、中国、欧洲至少有几十家新创公司也在摩拳擦掌。新创公司有机会吗?
神经网络芯片大致可以分成三大类。第一类是数据中心里面使用的用于训练模型和识别的芯片。目前这类芯片几乎被英伟达垄断。这类芯片客户不惜成本,不太计较耗电,只要计算速度快。这些芯片通常都用最新的半导体工艺以便集成最多的晶体管。截至本书成稿时,最先进的开始成熟商用的半导体工艺是7纳米晶圆线,使用最新的工艺成本也最高,一个芯片从研发、设计、流片、测试到量产的过程耗资动辄数十亿美元,新创公司通常没有这么多钱,风险资本也不愿意冒这么大风险。即使能生产出来,销售也是一个极大的问题,要说服大客户们使用一家没有验证过的芯片极为艰难,除非新创公司的芯片能比现有芯片快至少10倍以上。如果要比现有芯片快10倍以上,那么新创公司在设计阶段至少要比市场最快芯片快100~1 000倍,因为现有厂商也不会原地不动,也在不断地设计新一代的芯片。即使一个新芯片能快10倍,编程软件环境包括编译器、程序库等完善也需要若干年的时间。综上原因,一家新创公司想觊觎数据中心市场风险非常大。
第二类是用于汽车自动驾驶或机器人中的芯片,这类芯片的耗电不能太大,例如在电动汽车里,芯片耗电不能使电池巡航距离降低超过1%。对成本有一定的要求,计算速度也要比较快。目前英伟达的GPU是各大汽车厂商的首选,英伟达也将自动驾驶作为最重要的布局领域。
AMD、高通、英特尔都在竞争这块市场。高通曾经想以440亿美元收购荷兰半导体厂商恩智浦(NXP)公司,因为恩智浦的芯片已经广泛用在汽车的各个控制系统里。2017年3月,英特尔以153亿美元收购以色列汽车视觉公司Mobileye,从而在高级辅助驾驶系统(ADAS)市场实现领先。AMD联合了原本是英伟达合作伙伴的特斯拉开发适用于自动驾驶的AI芯片。在巨大的市场潜力的吸引下,一些新创公司也进入这个领域。但整体而言新创公司在这个市场的机会也比较小,原因类似:研发成本太高,客户(汽车公司和它们的一级供应商)大而保守等。
第三类是用于各类终端的芯片,例如用于摄像头、手机、医疗设备、小型机器人等。这类芯片要求耗电非常低(例如手机),成本非常低,在机器学习类的运算中速度只要能比CPU快10倍以上即可。新创公司在这一类芯片中机会最大。在这类终端芯片中,以手机市场最大,但进入一流手机厂商的机会也最小。例如苹果、三星、华为等一流手机厂商几乎都用自己的芯片以便提供差异化用户体验,对它们来说设计一个神经网络加速器的难度并不高。2017年苹果、华为已将AI元素融入自家芯片,发布内置AI芯片的iPhone X(苹果手机)、Mate10(华为手机)等。另外,手机芯片厂商绝不会放弃这个未来市场,高通、三星、联发科等计划在2018年也推出融入人工智能的芯片产品,其他手机厂商也会陆续使用神经网络芯片。即使是二三流的手机厂商也一定要求AI加速芯片被集成到CPU里而不是增加一个新的芯片(这样几乎不增加成本)。新创公司根本不可能开发一个全新的带AI加速器的CPU,最多只能把自己的AI加速器的设计给CPU芯片公司使用,但CPU芯片厂商都有自己设计AI加速器的能力,所以AI芯片的新创公司想进入手机市场几乎没有可能。
摄像头市场规模非常大,尤其是许多国家或城市正在打造智慧城市,AI芯片的需求潜力很难估量,很多AI芯片和算法创业公司都将安防作为最重要的落地场景之一,但该领域的集中度也很高,给安防设备厂商提供视频处理芯片的公司一定会把AI功能集成进去,安防设备龙头厂家也会研发自家的AI芯片。所以新创公司的最大机会在于为那些还不存在的或者目前规模很小的应用提供芯片,例如各种小机器人、物联网的应用。投资人要赌的是这些目前大厂看不上的市场会在短短几年内爆发。
许多读者会关心,中国的新创公司在AI芯片上有没有机会?对这个问题的回答是:上面的分析对任何一个国家的新创公司都是适用的。
本书评论