老黄呕心之作,英伟达能凭借Tesla V100技压群雄吗?
英伟达CEO黄仁勋
上周,英伟达在加州举行了2017年的GPU技术大会(GTC2017)。在大会上,英伟达CEO黄仁勋发布了全新力作——NVIDIA Tesla V100。根据英伟达官方介绍,Tesla V100采用了全新架构Volta,不仅会有更强的性能,还增加了TensorCore用以专门针对深度学习。在发布会后,英伟达的股价也随之走高。那么英伟达能凭借Tesla V100强悍的性能在深度学习领域力压群雄吗?
Tesla V100的优点和存在的不足
根据英伟达官方介绍,Tesla V100采用台积电12nm FinFET制造工艺,供集成了210亿个晶体管,芯片面积达815平方毫米。英伟达为了针对深度学习,专门进行了优化,经过优化的设计比前代Pascal架构能效高50%。而且新的Tensor Core是专门为深度学习设计的,为浮点运算速度带来了12 倍的提升——Tesla V100增加了Tensor Core,Tensor单元本质上是把运算器做得更密集,以这种方式获取更强性能。此外,Tesla V100还拥有更大的带宽和更低的延迟,半精度浮点乘混合单精度浮点加法也非常适合深度学习训练。
Tesla V100
简而言之,就是运算器堆的更多,矩阵乘法运算能力更强,性能得道大幅提升,Tesla V100双精浮点运算性能高达7.5TFlops,相比之下,Intel用于深度学习的KnightsMill双精浮点性能为3TFlops。
由于人工智能的迅速发展,诸多企业对与高性能深度学习处理器的需求也与日俱增:
微软的ResNet的深度学习项目需要每秒7百亿亿次浮点运算的处理能力;
百度2016年打造的DeepSpeech2AI需要每秒20百亿亿次浮点运算的处理能力;
谷歌2017年打造的NMT则需要每秒105百亿亿次浮点运算的处理能力;
......
因此,英伟达的Tesla V100作为数据中心GPU是非常具有潜力的,不仅可以满足训练的需求,还可以放在后台提供相关服务。
虽然Tesla V100在性能上无与伦比,而且在一些领域颇具市场潜力,但还是存在不少缺点的。比如芯片面积过大——高达815平方毫米,而过大的芯片面积,加上英伟达在该款芯片上巨额的研发投入(黄仁勋称英伟达花了30亿美元打造这款芯片),直接导致Tesla V100的价格异常昂贵,售价高达14.9万美元。如此高的售价会让很多用户望而却步。
就产品定位来说,Tesla V100性能超强,拿来类比的话是一台超级计算机,而在很多场景下,其实用不到性能这么强,价格如此昂贵的产品。对于普罗大众和大多数应用场景来说,性能够用、功耗低且廉价的产品才是最好的选择,就像普通消费者需要的是智能手机和PC,而不是超级计算机。比如将来智能手机里如果要集成针对深度学习的模块,英伟达的产品显然是不合适的。在这种场景下,开发专门针对嵌入式平台的处理器IP更加符合市场需求。
英伟达的Tesla V100的市场定位类似于核弹,但真正需要核弹的场景其实相对不多,而且客户也只能是谷歌、微软、百度这些国际巨头。正如核弹仅被少数国家掌握,而且在国际冲突和局部战争中鲜有使用,AK47和RPG是才是被最广泛使用的武器类似,英伟达的这种市场定位,会使其失去非常广阔的嵌入式设备市场。
最后就是功耗的问题,英伟达的终端低功耗做得不够好。必须说明的是,台积电的12nm工艺其实是16nm工艺的改良版本,是针对三星玩14nm命名游戏的反击。因此,台积电的12nm工艺到底对功耗控制有多大实际效果还是等产品上市后才能见分晓了。
深度学习处理器将进入战国时代
自AlphaGo与韩国棋手李世石大战之后,深度学习、人工智能这些概念立马火了,不仅成为资本的宠儿,各色各样的深度学习处理器纷纷涌现出来,各家IC设计公司推出了各自CPU、GPU、FPGA、DSP、ASIC等方案。
就CPU来说,最典型的就是Intel的Xeon Phi。Intel的众核芯片双精浮点性能为3 TFlops,性能功耗比为12 GFlops/W。虽然Intel宣称:“四片Knights Landing Xeon Phi芯片比四片GPU要快2.3 倍”、“使用Intel优化版的Caffe深度学习框架时,Xeon Phi芯片要比标准Caffe 实现快30倍”。但目前来说,还是英伟达的GPU更胜一筹。除了Intel之外,中国自主设计的申威26010也是一个潜在的选手,在人工智能领域也有应用的潜力,百度还为此与申威有过接触。
在DSP上,国内外还有不少单位或公司也选择用传统SIMD/DSP架构适配神经网络。比如中星微的星光智能一号、CEVA公司的XM4处理器、Cadence公司的Tensilica Vision P5处理器、Synopsys公司的EV处理器等。这些处理器本质上都是将传统的面向数字信号处理的DSP处理器架构用于处理神经网络,主要在运算器方面作了相应修改,例如低位宽和超越函数。这种做法的优势在于可以充分利用现有的成熟技术,但缺点也很明显,就是在应用领域上有一定局限性。大多用于卷积神经网(CNN),而对循环神经网络(RNN)和长短期记忆网络(LSTM)等处理语音和自然语言的网络则无能为力。换言之,就是这种DSP主要用于机器视觉领域,可能难以应用到语音识别、文本处理和自然语言理解等领域。虽然采用DSP作为人工智能硬件存在一定不足。不过,采用现有比较成熟技术应用于人工智能细分市场的做法在商业上还是有一定潜力的。
在FPGA上,阿尔特拉推出的用于人工智能的FPGA,双精浮点性能为1.5TFlops,虽然双精浮点性能只有Xeon Phi 众核芯片的一半,但性能功耗比却高达50GFlops/W,如果人工智能硬件选择FPGA,那么不仅对Xeon Phi 众核芯片在性能功耗比上有明显优势,对英伟达的GPGPU也占据优势地位。而更高的性能功耗比就意味着在运营和维护中能够节省电费。FPGA虽然会在新兴领域取得一定成绩,但却缺乏性价比的问题,而且在新兴领域发展壮大后容易被专用芯片所取代。不过,就目前来说,FPGA也是深度学习处理器的一个选择。
在ASIC方面,中国中科院计算所孵化好市场化的寒武纪公司寒武纪开发出了一系列产品,在芯片面积控制和性能功耗比上具有非常出色的表现。而在学术成果斐然:在2014年—2016年横扫体系结构学术圈,Diannao(电脑)是ASPLOS'14最佳论文(亚洲第一次);DaDiannao(大电脑)是MICRO'14最佳论文(美国以外国家的第一次);PuDiannao(普电脑)、ShiDiannao(视电脑)、还有指令集Cambricon等后继工作都连中ASPLOS、ISCA。不过,ASIC也存在开发周期比较长的遗憾,这对寒武纪在人工智能芯片的短期商业竞争中非常不利,特别是在中国半导体工业原本就落后于西方的情况下。最后要说的是谷歌的TPU,谷歌TPU其实是传统脉动阵列机的结构,MIT于2016年前后发表的Eyeriss也是类似的架构,必须指出的是,脉动阵列架构是非常老的技术,同时也是非常经典的技术。早在上世纪80年代初,中科院计算所的夏培肃院士和李国杰院士就曾将脉动阵列架构用于石油勘探——计算所曾经研发过的石油勘探专用机就是采用了脉动阵列架构。从实际运行性能表现上看,TPU虽然可能在面对退化情形的卷积上也会遇到困难,但做卷积神经网路(CNN)时总体效果还是不错,但做其他类型的神经网络运算,可能效率不是那么高,通用性不是那么的好。例如在语音识别和自然语言理解中常用的长短期记忆网络(LSTM)上面,TPU只有4%左右的效率。
总而言之,就深度学习处理器而言,已然进入战国时代,而且各家的产品都有可能在这个广阔的市场中找到自己的定位和细分市场,在这种情形下,英伟达想凭借Tesla V100一统江山显然是不切合实际的。在战国时代,相对于技术上的片面追求极致性能,而忽视成本、功耗、价格,如何开拓更多细分市场,更好的商业化才是在大争之世的当务之急。