ASIC芯片优化AI应用:谷歌TPU是GPU的“终结者”?

2020-08-20
[ 导读 ] 谷歌作为云服务提供商的三大巨头之一,并没有满足其当前的发展成就,而是不断向人工智能芯片领域布局,其发布的第二代致力于机器学习的TPU在整个半导体行业备受关注。

图片来自“123rf.com.cn”

【编者按】随着人工智能的发展,半导体芯片也成为数据中心巨头布局的新方向。谷歌作为世界三大云服务商之一,不断优化其硬件加速设备,其发布的TPU更是震撼了整个半导体行业。本文从两方面进行分析:1)四种硬件加速器设备的分析;2)谷歌研发TPU的原因。

本文来源于forbes.com,作者Karl Freund;由编译。

当谷歌发布其第二代致力于机器学习的TPU时,很多人开始关注这将对半导体行业带来哪些潜在影响。世界上其他几大数据中心会开发人工智能芯片吗?这将对英伟达、AMD、英特尔以及其他初创企业带来哪些影响?TPU提前结束了GPU和FPGAs之间的游戏吗?为了回答这些问题,让我们看看这些互联网巨头都有哪些计划?

四种硬件加速器

目前主要有四种主要的技术用来加速训练和使用深度神经网络:CPUs、GPUs、FPGAs以及ASICs。

老式备用的CPU具有无限可编程的有点,但是性能并不是很好。主要用于工作负载的推断,通过神经网络指导计算,从而对输入数据做出准确的预测。英特尔的FPGA能够以较低的功耗提供良好的性能,而且具有很高的灵活性,设计者可以通过改变其硬件的性能来更好地支持其软件系统。

FPGAs主要用于机器学习推理、视频算法和数以千计的小型专业应用程序。然而,编程FPGA硬件所需要的技能是相当困难的,而且FPGA在处理某些工作负载时也不及高端GPU。

从技术上讲,GPU是一种用于处理图形算法的ASIC。不同的是,ASIC作为多个并行算法的加速器,提供了指令集和库,以允许GPU在本地存储的数据上运行。GPU擅长于执行矩阵运算,即图像、人工智能和众多科学算法。基本上GPU是非常快速且相对灵活的。

ASIC可实现定制化,专门用于快速执行固定的操作,因为整个芯片的逻辑区域可以被限定执行一项特定的功能。如果把ASIC想象成一个改装赛车,虽然很快,但只能在一条直线上负载一个人行驶,而且也不能跨越到其他区域。

但是,设计ASIC可能需要花费数千万甚至数亿美元,因此,为这些开发买单意味着要在芯片有效期内(通常是2-3年)卖掉数万或数十万的芯片。此外,芯片需要不断进行更新以实现与新技术和制造工艺的同步。但是,由于设计者在开发的早期过程锁定了逻辑,当出现新的构想时,他们无法迅速做出反应。然而,FPGA可以被重新编程以实现一个新的特性。

为什么谷歌研发TPU?

可以从三个方面来解释为什么谷歌要投资人工智能定制芯片。研究这些因素可能有助于评估其他公司进行类似投资的可能性。

1)战略意图:谷歌曾多次表示其已经成为一家“AI优先”的公司。换句话说,人工智能技术在整个业务中具有重要的战略意义,可用于搜索、自动驾驶汽车、谷歌云、谷歌Home以及许多其他新的和现有的产品和服务中。因此,谷歌通过控制自己的硬件(TPU)加速器以及软件框架(TensorFlow)来建立自己的产品和服务。

2)规模需要:谷歌的计算基础设施是世界上最大的,而这个规模意味着它需要投入足够数量的资金来开发和维护硬件平台,从而促进人工智能的发展。事实上,谷歌声称TPU的使用使公司少建立12个用以处理AI负载的数据中心。

3)谷歌云的重要性:谷歌的高管们不满足于其在全球云计算市场的地位,目前其仅次于亚马逊和微软。在Diane Greene的领导下,谷歌在其云领域进行了大量投资,增长速度也是业内最快的。谷歌TPU良好的性能以及TensorFlow在业界的认可度是其获取更多市场份额的潜在优势。谷歌表示,使用TPU和高端GPU进行云访问的价格是一样的,但是目前谷歌不打算直接出售TPU。

谁能与谷歌抗衡?

尽管其他6家巨头(亚马逊、阿里巴巴、百度、Facebook、微软和腾讯)都有能力开发自己的加速器,但却没有任何一家能在上述三个方面超过谷歌。此外,实际上有几家企业似乎在向不同的方向布局。

百度公开表示,其已经与英伟达在云、Home和汽车领域开展人工智能项目的合作。这并不意味着百度不能建立自己的芯片,但就目前而言,百度似乎专注于其软件和服务,这也是中国市场很需要的服务。此外,百度云仍然是其业务中相对较小的一部分。

微软作为第二大云服务提供商,拥有庞大的人工智能工程师团队,并通过其技术和APIs为企业客户提供更加“人性化”的人工智能。然而,微软决定在其Azure和Bing服务中使用英特尔的Altera FPGAs,而且,还使用英伟达的GPU来训练其神经网络。

亚马逊或许是在布局方面最接近谷歌模式的公司。亚马逊的AWS服务十分强大,而且在人工智能领域进行了大量的投资。亚马逊支持为AI开发的Apache MXNet框架,同时其AWS云服务支持所有的主要框架,使其成为人工智能开发领域的开源平台。然而,亚马逊布局已经不再侧重于ASIC。亚马逊在2012年收购了以色列芯片制造商AnaPurna Labs,显然是为了节省AWS基础设施的成本和潜伏期费用,而且在以色列成立一个芯片团队。或许,亚马逊最终也会像百度一样,使用FPGA来实现其可编程性。

结论

上述分析并不是预测其他几家巨头不会开发自己的GPU或者ASIC,但趋势是很多企业可能并不会这样做。这些公司似乎都在用其庞大的数据来开发机器学习模型,并忙于在各种产品和服务中把这些模型货币化。同时,GPU的需求也不会因此出现大幅度下降,至少在近期不会。AMD对此深信不疑,而且目前致力于深耕其Vega技术。