打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
人工智能芯片发展史详解

目前人工智能芯片正往二个方面发展:一个发展方向是延续传统计算架构,加速硬件计算能力,即以GPU、 FPGA、 ASIC代表;另一个发展方向是颠覆经典的冯·诺依曼计算架构,采用类脑神经结构来提升计算能力,以TrueNorth 芯片为代表。

AI

一、传统计算机架构

计算机行业从1960年代早期开始使用CPU这个术语。虽然CPU从形态、设计到实现都已发生了巨大的变化,但是其基本工作原理却一直没有大的改变。 通常 CPU 由控制器和运算器这两个主要部件组成。 传统的 CPU 内部结构图如图所示:

CPU结构图

从图中我们可以看到:实质上仅单独的ALU模块(逻辑运算单元)是用来完成数据计算的,其他各个模块的存在都是为了保证指令能够一条接一条的有序执行。这种通用性结构对于传统的编程计算模式非常适合,同时可以通过提升CPU主频(提升单位时间内执行指令的条数)来提升计算速度。 但对于深度学习中的并不需要太多的程序指令、 却需要海量数据运算的计算需求, 这种结构就显得有些力不从心。尤其是在功耗限制下, 无法通过无限制的提升 CPU 和内存的工作频率来加快指令执行速度。

1、GPU诞生

传统的 CPU 之所以不适合人工智能算法的执行,原因在于其计算指令遵循串行执行的方式,没能发挥出芯片的全部潜力。GPU 具有高并发结构,在处理图形数据方面比 CPU 更有优势, GPU 拥有更多ALU(逻辑运算单元)用于数据处理,这样的结构适合对密集型数据进行并行处理。

CPU 与 GPU 的结构对比

程序在 GPU系统上的运行速度相较于单核 CPU往往提升几十倍乃至上千倍。随着英伟达、 AMD 等公司不断推进其对 GPU 大规模并行架构的支持,面向通用计算的 GPU已成为加速可并行应用程序的重要手段,GPU 的发展历程可分为 3 个阶段:

  • 第一代GPU(1999年以前),部分功能从CPU分离 , 实现硬件加速 , 以GE(GEOMETRY ENGINE)为代表,只能起到 3D 图像处理的加速作用,不具有软件编程特性。

  • 第二代 GPU实现了进一步的硬件加速和有限的编程性。 1999年,英伟达首发“专为执行复杂的数学和几何计算的” GeForce256 图像处理芯片,将更多的晶体管用作执行单元, 而不是像 CPU 那样用作复杂的控制单元和缓存,将(TRANSFORM AND LIGHTING) 等功能从 CPU 分离出来,实现了快速变换,这成为 GPU 真正出现的标志。之后GPU 技术快速发展,运算速度迅速超过 CPU。 2001年英伟达推出GEFORCE3,图形硬件的流水线被定义为流处理器,出现了顶点级可编程性,同时像素级也具有有限的编程性,但 GPU 的整体编程性仍然比较有限。

  • 第三代 GPU,GPU实现方便的编程环境创建, 可以直接编写程序。 2006年英伟达推出了CUDA (Compute United Device Architecture,计算统一设备架构)编程环境和CTM(CLOSE TO THE METAL)编程环境, 使得 GPU 打破图形语言的局限成为真正的并行数据处理超级加速器。

目前GPU 已经发展到较为成熟的阶段。谷歌、 FACEBOOK、微软都在使用GPU 分析图片、视频和音频文件,以改进搜索和图像标签等应用功能。汽车生产商也在使用GPU芯片发展无人驾驶,GPU还被应用于VR/AR 相关的产业,但是GPU也有一定的局限性。 深度学习算法分为训练和推断两部分, GPU 平台在算法训练上非常高效。

AI世界

2、FPGA诞生

FPGA 是在可编程器件基础上进一步发展的产物。可以通过烧入 FPGA 配置文件来定义这些门电路以及存储器之间的连线。烧入不是一次性的,可以把 FPGA 配置成一个微控制器 MCU,使用完毕后可以编辑配置文件把同一个FPGA 配置成一个音频编解码器。它解决了定制电路灵活性的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率提升。由于 FPGA很灵活,使用通用处理器或 ASIC难以实现的底层硬件控制操作技术, 利用 FPGA 可以很方便的实现。这个特性为算法的功能实现和优化留出了更大空间。同时FPGA 一次性成本远低于ASIC,在芯片需求还未成规模、深度学习算法暂未稳定, 需要不断迭代改进的情况下,利用 FPGA 芯片具备可重构的特性来实现半定制的人工智能芯片是最佳选择之一。

在传统的冯氏结构中,执行单元(如 CPU 核)执行任意指令,都需要有指令存储器、译码器、各种指令的运算器及分支跳转处理逻辑参与运行, 而FPGA每个逻辑单元的功能在重编程(即烧入)时就已经确定,不需要指令,无需共享内存,从而可以极大的降低单位执行的功耗,提高整体的能耗比。 因此在众多领域都有替代ASIC 的趋势。

3、ASIC诞生

由于深度学习为代表的人工智能计算需求,主要采用GPU、FPGA等已有的适合并行计算的通用芯片来实现加速。在产业应用没有大规模兴起之时,使用这类已有的通用芯片可以避免专门研发定制芯片(ASIC)的高投入和高风险。由于这类通用芯片设计初衷并非专门针对深度学习,因而天然存在性能、 功耗等方面的局限性。

GPU作为图像处理器, 设计初衷是为了应对图像处理中的大规模并行计算,有三个天然局限性:

  • 应用过程中无法充分发挥并行计算优势。 深度学习包含训练和推断两个计算环节, GPU 在深度学习算法训练上非常高效, 但对于单一输入进行推断的场合, 优势不能完全发挥。

  • 无法灵活配置硬件结构。 GPU 采用 SIMT 计算模式, 硬件结构相对固定。 目前深度学习算法还未完全稳定,若深度学习算法发生大的变化, GPU 无法像 FPGA 一样可以灵活的配制硬件结构。

  • 运行深度学习算法能效低于FPGA。

FPGA 页不是专门为了适用深度学习算法而研发,应用中也存在诸多局限:

  • 基本单元的计算能力有限。为了实现可重构特性, FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠 LUT 查找表)都远远低于 CPU 和 GPU 中的 ALU 模块。

  • 计算资源占比相对较低。 为实现可重构特性, FPGA 内部大量资源被用于可配置的片上路由与连线。

  • 速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距。

芯片

二、模拟大脑芯片

模拟大脑芯片不采用经典的冯·诺依曼架构, 而是基于神经形态架构设计,以Truenorth为代表。将存储单元作为突触、计算单元作为神经元、传输单元作为轴突搭建了神经芯片的原型。此类芯片不采用经典的冯·诺依曼架构, 而是基于神经形态架构设计,以存储单元作为突触、计算单元作为神经元、传输单元作为轴突搭建了神经芯片的原型。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CPU、GPU、NPU、FPGA等芯片架构特点分析
自动驾驶计算芯片选型,GPU还是FPGA?
异构计算
一文看懂清华AI芯片报告,让你对AI一目了然(4)
AI群“芯”逐鹿,英伟达、谷歌、寒武纪等25家公司实力拆解
聚焦芯片:GPU,CPU,SOC,DSP,FPGA,MCU,MPU,GPP,ECU等都是什么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服