×
嵌入式 > 技术百科 > 详情

除了围棋人机外,为何还点燃 AI TPU、GPU 大战?

发布时间:2020-06-09 发布时间:
|

AlphaGO 在 2016 年初打败韩国围棋九段高手李在乭一战成名,时隔几个月,AlphaGO 的幕后推手 Google 在 I/O 大会首度揭露背后致胜的关键──自家机器学习芯片 TPU(Tensor Processing Unit)。

时隔一年,AlphaGO 打败世界排名第一围棋高手柯洁,再度完胜人类棋士!

AlphaGO 背后致胜关键 TPU 同样吸引世人目光。这次与柯洁的对弈,AlphaGO 跟着升级,导入近日甫在 I/O 大会亮相的第二代 TPU,也再一次引发科技业一波对于“Google 第二代 TPU,究竟会为 Nvidia 带来多大威胁?”的热烈讨论。

AlphaGO 在 2016 年初打败韩国围棋九段高手李在乭一战成名,时隔几个月,AlphaGO 的幕后推手 Google 在 I/O 大会首度揭露背后致胜的关键──自家机器学习芯片 TPU(Tensor Processing Unit)。

然直到今年 6 月 Google 才正式公开设计架构与相关细节,Google 官方称“TPU 处理速度比当前 GPU、CPU 要快 15~30 倍”,除了引起不少关注,更引发了一波与 Nvidia 的口水战,甚至让 Nvidia CEO 黄仁勋亲自发文反击,并贴出 TPU 与自家 GPU 加速器 Tesla P40 性能比较。

(Source:Nvidia)

究竟 TPU 能不能像外界所言“打败”GPU、CPU,我们先来了解 TPU 到底是什么?

Google 公开 TPU 之时,透露 TPU 为特殊应用集成电路(application-specific integrated circuit,ASIC),专为特定用途而设计、运用以执行单一工作,本质上与通用的 CPU、GPU 有很大不同,而且最终还是会运用到 CPU / GPU 的运算辅助。只能说 TPU 在人工智能的运用,与 CPU、GPU 有所重叠,而 TPU 将此重叠部分效率做到极大化。

人工智能的最终目标要让电脑模拟人脑的智慧,并据此做出决策完成任务。近年来人工智能有长足进步,机器学习的发展功不可没。简单来说,机器学习的原理,是喂给电脑大量的资料,进行学习,进而得出规律,利用这些规律对未知资料预测。

机器学习运算可能需要经过数百万次的计算,原本针对图像处理、使用平行运算一次处理大量数据,完成图形渲染的 GPU,在架构上显然比快速处理各种通用应用程序的 CPU ,更适合做为机器学习芯片。GPU 为何能在 AI 领域趁势而起,就是立基于平行运算能力。

这点不只 GPU,Google TPU 选择的 ASIC,甚或 FPGA 都能做到平行运算,也使得机器学习芯片百花齐放,各家大厂透过不同的途径发展 AI 芯片。

1. Google、Nvidia、英特尔、微软都大动作布局 AI 芯片

大抵而言,可将机器学习分为“训练”与“推论”两大面向,“训练”需要运用大量的运算资源,且需要精确度较高的计算,一般要达到 32 位的单精度浮点运算、甚至 64 位的双精度浮点运算。目前 GPU 仍为市场上最被广为接受的解决方案。

“推论”的应用则更强调与现实世界的互动,为了优化芯片反应的速度与达到低功耗,允许精度被部分牺牲。如 Google TPU 采用 int8 只使用八位整数运算,因此 Google 的 TPU 实为用于机器学习的“推论”。Nvidia 也在 2016 年的产品线中推出以 int8 为主的 P4 与 P40的产品。目前理论上,使用 int8 在推论中造成的精度损失,估计约在 2% 以内,也使得 int8 甚至更低位的解决方案,在市场上快速展开。

(Source:拓墣研究院)

然而,不论是在推论时使用 Google 的 TPU、Nvidia 的 GPU、或如手机芯片中加强 DSP 的功能,甚至是采用更原始的比较器达到推论的效果。单以芯片本身运算的能力进行评论,仍有不足之处。如何能使业者在最佳的建置成本下,提供消费者最好的服务品质才是关键。在推论应用如此,在学习的过程中也是。

如同于 Google 依照自数据中心在 AI 的使用情境,客制化芯片来提供服务。微软则是选择和芯片业者合作打造一个适合自身数据中心属性的系统架构。除了 GPU 的方案外,微软也和 Intel 合作,透过 FPGA 作为运算的加速度器,利用 FPGA 可编程的特性,意图打造可灵活配置资源的数据中心,来满足其长期以来累积出在不同领域的企业客户对数据中心多元的应用需求。

2. Google 为什么决定自行打造 TPU

看完上述各家切入市场的策略,再回过头来看 Google 的布局。Google 之所以决定自行开发 TPU 芯片,其时空背景是在于,Google 发现既有的绘图处理器或处理器在进行资料搬运时,也就是处理器与绘图处理器,与存储器之间的资料搬运工作效率太低。

效率太差所带来的,恐怕就是拖垮整体系统效能,当然,Google 也可以选择塞进更多核心的处理器或是绘图处理器提升效能,但就面临到耗电量过高的问题。也因此,Google 才决定自行开发设计 TPU,并且在设计 TPU 时,减少计算所需要的精确度来达到省电与每秒执行更多的指令,解决推论系统效率不彰的问题,并且达成最佳化运算、记忆、资讯传递三者间关系的目标。

Google 自行打造 TPU 芯片除了是为优化自家演算法及发展 AI 服务外,他过去也明确说明 TPU 芯片将仅限自家所用,并不对外销售。事实上,Google 才在上周的 I/O 大会中明确表示,不同的服务设计需求本来就需要不同硬件架构对应最佳训练效果,开发者依旧可以透过传统的 CPU 与 GPU 构成合适的训练模式。

3. IC 设计业者未必被取代,经济规模仍扮演关键角色

看完 Google 为什么会走上自行开发 TPU 芯片的前情提要,回到 Google 与 IC 设计业者的竞争问题。

Google 因为是全球前三大的 CSP 业者,有资金、有软件与设计技术、有需求,客群以及广大影响力,一举一动不只是受到关注,甚至牵动 IC 设计业者的神经。

而现阶段由于过去传统芯片运作效率不佳,连带使得不同芯片架构有更多的发展机会与空间。Google 因为拥有第一手资料,包含使用者的需求量、使用的演算法等,具有了解相关应用所需的运算型态优势,因此可以先于 IC 设计业者进行布局。包含 2017 年推出的 Cloud TPU 产品用于机械学习的学习应用中,更进一步加深 Google 与 GPU 业者竞争的氛围。

然而,Google 自行开发芯片并非意味着就将完全取代原有 IC 设计业者, 若将单一运算效能的优化与系统配置弹性视为一个频谱的两端,ASIC、DSP、GPU、FPGA 等解决方案,就是分落在频谱上不同的位置。

不具有像 Google、Apple 等系统业者经济规模的厂商,考量到自行开发芯片的成本与效益,与 IC 设计厂商合作,选择能最快将服务推出的解决方案,仍是大部分厂商最好的选择。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil5(MDK5)在调试(debug)过程中遇到的问题