相信你一定还记得击败了李世石和柯洁的谷歌“阿尔法狗”(Alpha Go),那你知道驱动 Alpha Go 的是什么吗?
如果你觉得 Alpha Go 和人相似,只不过是把人脑换成了芯片,那么你就大错特错了。击败李世石的 Alpha Go 装有 48 个谷歌的 AI 芯片,而这 48 个芯片不是安装在 Alpha Go 身体里,而是在云端。所以,真正驱动 Alpha Go 的装置,看上去是这样的...
因此李世石和柯洁不是输给了“机器人”,而是输给了装有 AI 芯片的云工作站。
然而近几年,AI 技术的应用场景开始向移动设备转移,比如汽车上的自动驾驶、手机上的人脸识别等。产业的需求促成了技术的进步,而 AI 芯片作为产业的根基,必须达到更强的性能、更高的效率、更小的体积,才能完成 AI 技术从云端到终端的转移。
目前,AI 芯片的研发方向主要分两种:一是基于传统冯·诺依曼架构的 FPGA(现场可编程门阵列)和 ASIC(专用集成电路)芯片,二是模仿人脑神经元结构设计的类脑芯片。其中 FPGA 和 ASIC 芯片不管是研发还是应用,都已经形成一定规模;而类脑芯片虽然还处于研发初期,但具备很大潜力,可能在未来成为行业内的主流。
这两条发展路线的主要区别在于,前者沿用冯·诺依曼架构,后者采用类脑架构。你看到的每一台电脑,采用的都是冯·诺依曼架构。它的核心思路就是处理器和存储器要分开,所以才有了 CPU(中央处理器)和内存。而类脑架构,顾名思义,模仿人脑神经元结构,因此 CPU、内存和通信部件都集成在一起。
接下来小探将为读者分别介绍两种架构的简要发展史、技术特点和代表性产品。
从 GPU 到 FPGA 和 ASIC 芯片
2007 年以前,受限于当时算法和数据等因素,AI 对芯片还没有特别强烈的需求,通用的 CPU 芯片即可提供足够的计算能力。比如现在在读这篇文章的你,手机或电脑里就有 CPU 芯片。
之后由于高清视频和游戏产业的快速发展,GPU(图形处理器)芯片取得迅速的发展。因为 GPU 有更多的逻辑运算单元用于处理数据,属于高并行结构,在处理图形数据和复杂算法方面比 CPU 更有优势,又因为 AI 深度学习的模型参数多、数据规模大、计算量大,此后一段时间内 GPU 代替了 CPU,成为当时 AI 芯片的主流。
然而 GPU 毕竟只是图形处理器,不是专门用于 AI 深度学习的芯片,自然存在不足,比如在执行 AI 应用时,其并行结构的性能无法充分发挥,导致能耗高。
与此同时,AI 技术的应用日益增长,在教育、医疗、无人驾驶等领域都能看到 AI 的身影。然而 GPU 芯片过高的能耗无法满足产业的需求,因此取而代之的是 FPGA 芯片,和 ASIC 芯片。
那么这两种芯片的技术特点分别是什么呢?又有什么代表性的产品呢?
“万能芯片”FPGA
FPGA(FIELD-PROGRAMMABLEGATEARRAY),即“现场可编程门阵列”,是在 PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。
FPGA 可以被理解为“万能芯片”。用户通过烧入 FPGA 配置文件,来定义这些门电路以及存储器之间的连线,用硬件描述语言(HDL)对 FPGA 的硬件电路进行设计。每完成一次烧录,FPGA 内部的硬件电路就有了确定的连接方式,具有了一定的功能,输入的数据只需要依次经过各个门电路,就可以得到输出结果。
用大白话说,“万能芯片”就是你需要它有哪些功能、它就能有哪些功能的芯片。
尽管叫“万能芯片”,FPGA 也不是没有缺陷。正因为 FPGA 的结构具有较高灵活性,量产中单块芯片的成本也比 ASIC 芯片高,并且在性能上,FPGA 芯片的速度和能耗相比 ASIC 芯片也做出了妥协。
也就是说,“万能芯片”虽然是个“多面手”,但它的性能比不上 ASIC 芯片,价格也比 ASIC 芯片更高。
但是在芯片需求还未成规模、深度学习算法需要不断迭代改进的情况下,具备可重构特性的 FPGA 芯片适应性更强。因此用 FPGA 来实现半定制人工智能芯片,毫无疑问是保险的选择。
目前,FPGA 芯片市场被美国厂商 Xilinx 和 Altera 瓜分。据国外媒体 Marketwatch 的统计,前者占全球市场份额 50%、后者占 35% 左右,两家厂商霸占了 85% 的市场份额,专利达到 6000 多项,毫无疑问是行业里的两座大山。
Xilinx 的 FPGA 芯片从低端到高端,分为四个系列,分别是 Spartan、Artix、Kintex、Vertex,芯片工艺也从 45 到 16 纳米不等。芯片工艺水平越高,芯片越小。其中 Spartan 和 Artix 主要针对民用市场,应用包括无人驾驶、智能家居等;Kintex 和 Vertex 主要针对军用市场,应用包括国防、航空航天等。
Xilinx 的 Spartan 系列 FPGA 芯片 图片来自网络,版权属于作者
Xilinx 的 Spartan 系列 FPGA 芯片 图片来自网络,版权属于作者
我们再说说 Xilinx 的老对手 Altera。Altera 的主流 FPGA 芯片分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的应用需求,如 Cyclone 和 MAX 系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如 Startix 和 Arria 系列。Altera 的 FPGA 芯片主要应用在消费电子、无线通信、军事航空等领域。
专用集成电路 ASIC
在 AI 产业应用大规模兴起之前,使用 FPGA 这类适合并行计算的通用芯片来实现加速,可以避免研发 ASIC 这种定制芯片的高投入和风险。
但就像我们刚才说到的,由于通用芯片的设计初衷并非专门针对深度学习,因此 FPGA 难免存在性能、功耗等方面的瓶颈。随着人工智能应用规模的扩大,这类问题将日益突出。换句话说,我们对人工智能所有的美好设想,都需要芯片追上人工智能迅速发展的步伐。如果芯片跟不上,就会成为人工智能发展的瓶颈。
所以,随着近几年人工智能算法和应用领域的快速发展,以及研发上的成果和工艺上的逐渐成熟,ASIC 芯片正在成为人工智能计算芯片发展的主流。
ASIC 芯片是针对特定需求而定制的专用芯片。虽然牺牲了通用性,但 ASIC 无论是在性能、功耗还是体积上,都比 FPGA 和 GPU 芯片有优势,特别是在需要芯片同时具备高性能、低功耗、小体积的移动端设备上,比如我们手上的手机。
但是,因为其通用性低,ASIC 芯片的高研发成本也可能会带来高风险。然而如果考虑市场因素,ASIC 芯片其实是行业的发展大趋势。
为什么这么说呢?因为从服务器、计算机到无人驾驶汽车、无人机,再到智能家居的各类家电,海量的设备需要引入人工智能计算能力和感知交互能力。出于对实时性的要求,以及训练数据隐私等考虑,这些能力不可能完全依赖云端,必须要有本地的软硬件基础平台支撑。而 ASIC 芯片高性能、低功耗、小体积的特点恰好能满足这些需求。
ASIC 芯片市场百家争鸣
2016 年,英伟达发布了专门用于加速 AI 计算的 TeslaP100 芯片,并且在 2017 年升级为 TeslaV100。在训练超大型神经网络模型时,TeslaV100 可以为深度学习相关的模型训练和推断应用提供高达 125 万亿次每秒的张量计算(张量计算是 AI 深度学习中最经常用到的计算)。然而在最高性能模式下,TeslaV100 的功耗达到了 300W,虽然性能强劲,但也毫无疑问是颗“核弹”,因为太费电了。
原文来自:
本文地址://lrxjmw.cn/of-the-ai.html编辑:王艳敏,审核员:逄增宝
Linux大全:
Linux系统大全: