继11月亚马逊将Alexa语音助手的部分计算任务转移到自主设计的定制设计芯片Inferentia后,近日,其再次宣布推出了全新的AI训练芯片AWSTrainium,据消息称,这是该公司用于训练机器学习模型的下一代定制芯片。
这意味着亚马逊将减少对英伟达芯片的依赖。
称霸AI芯片领域
近年来,AI热度不断攀升,AI相关应用也在急剧增长,这引发了市场对超大型数据中心的强劲需求。另一方面,AI处理任务的持续增长,又会倒逼服务器的配置要得到持续的升级。为了满足深度学习训练任务,硬件的复杂程度不断提升,处理器性能也被提出了更高的要求。
目前在AI领域主要有GPU、FPGA和ASIC三种技术路线。其中GPU在AI训练方面已经发展到较为成熟的阶段。而在GPU芯片领域,英伟达是龙头老大。如今,全球估计有3000家AI创业公司,其中一半以上都是在英伟达的平台上构建的。
回看英伟达的发展史,其成立于1993年,这一年,全球有超过二十家的图形芯片公司,到1997年,这个数字猛增至70家。
1999年,英伟达发明了GPU,为了让GPU从软硬件都走向通用,其又在2006年推出了Tesla架构,一改之前使用矢量计算单元做渲染的做法,而是把一个矢量计算单元拆成了多个标量计算渲染单元。这就使得基于这个架构的GPU除了渲染能力强以外,还适合做通用计算。
也就是在这一年,英伟达推出了CUDA。按照他们的说法,这是一种用于通用GPU计算的革命性架构。CUDA将使科学家和研究人员能够利用GPU的并行处理能力来应对其最复杂的计算挑战。
正是得益于这两个方向的布局,英伟达在AI时代如鱼得水。自2016年起,英伟达数据中心业务开始爆发式增长。同比增长率连续七个季度(2QFY17-4QFY18)超100%。
与此同时,英伟达GPU在全球主要云厂商中也获得了极大的认可。根据Liftr调查显示,在阿里云、AWS、微软Azure以及GoogleClound中,Tesla系列GPU的市场占有率比AMD、赛灵思以及以英特尔大幅领先。充分说明英伟达Tesla系列GPU在通用计算市场的强大竞争力。
逃离英伟达
当然,英伟达的AI芯片王座也不是那么好坐的。
诚如前文所言,一些厂商已经开始自研芯片,除了亚马逊之外,谷歌早在几年前就推出了自称性能可达同等级GPU产品15~30倍的AI专有芯片TPU;华为在去年8月推出“算力最强”的AI(人工智能)处理器Ascend910(昇腾910)等。
不过他们自研的大多是推理芯片,意图在专用性能上打败英伟达GPU,以摆脱英伟达在训练芯片的垄断。
资料显示,由于神经网络模型在训练阶段需要处理大量数据,同时也要完成不同的学习任务,因此目前通用属性的GPU具备的大量平行运算单元,能够充分满足“训练”对运算的效率与通用性要求。但进入执行阶段,也就是“推理阶段”,一个算法模型可以根据一堆量级不大的新数据得出结论。
这时候采用GPU就显得有些“大材小用”。这就是这些厂商为何研发定制推理芯片重要原因之一,对于大量推理工作,通用性或许不足,但专用肯定绰绰有余。
不仅如此,这些厂商的自研芯片在它所擅长的任务上,可能具备在效能与算力上大幅领先GPU的能力。对比发现,谷歌TPU和特斯拉FSD都能轻易做到相较GPU,性能和效率都高出一截的表现,即便这是以牺牲可编程性为代价。
当然,也有一些业界人士对这些自研芯片存有疑虑。因为他们认为,无论是自己做,还是部署其他公司的商用芯片,难度其实不相上下。
但不管怎么说,这些自研芯片的厂商确实对英伟达造成了一定的威胁,并且声势愈发浩大。
挑战英伟达
与此同时,国外还存在Graphcore、Intel和AMD这些厂商,他们则希望从通用角度去挑战英伟达。
首先是Graphcore,其创始人兼CEONigelToon曾在一次访谈中指出:“如果只是要做基本的前馈卷积神经网路(feed-forwardconvolutionalneuralnetworks),GPU是很不错的解决方案,但随着网路变得越来越复杂,人们需要全新的解决方案──这也是为何他们要用ASIC和FPGA。我们接触过的所有创新者都说,GPU正在阻碍他们创新。如果仔细看他们正在研究的模型类型,你会发现主要是卷积神经网络(CNN),而递归神经网络(RNN)和其他类型结构,比如强化学习,并不能很好地映射到GPU。他们需要足够好的硬件平台,这是我们将IPU推向市场的原因。”
按照Graphcore给出的解释,其IPU芯片可以进行推论或训练,从架构的角度来看,这非常重要,因为随着机器学习演进,系统将能够从经验中学习。推论性能表现的关键包括低延迟、能使用小模型、小批次(smallbatches),以及可能会尝试导入稀疏性(sparsity)的训练模型;IPU可以有效地完成所有这些事情。
与市面上领先的GPU方案相比,如果是执行用以分类静态影像的前馈卷积神经网路,GPU的表现已经相当好,但IPU可以提供两到三倍的性能优势、有时甚至是五倍。对于更复杂的模型,例如有资料来回传递以尝试理解情境(例如对话)的模型;由于资料被传递多次,需要非常快。对于这样的应用,因为所有的模型都保存在处理器中,IPU可以比GPU快很多,甚至可能快十倍、二十倍或者五
