为什么需要AI芯片
2010年以来大数据发展,传统计算机架构无法支撑深度学习的大规模计算需求。
- 传统的冯·诺依曼结构中,CPU 每执行一条指令都需要从存储器中读取数据,根据指令对数据进行相应的操作;CPU 的主要职责并不只是数据运算,还需要执行存储读取、指令分析、分支跳转等命令
- CPU的频率、内存带宽条件,限制了处理器的性能,而深度学习算法需要海量数据处理
- 人工智能芯片目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为代表,即 GPU、FPGA、ASIC,
但CPU依旧发挥着不可替代的作用;另一种是颠覆经典的冯·诺依曼计算架构,采用类脑神经结构来提升计算能力,以 IBM TrueNorth 芯片为代表
AI芯片定义
AI(Artificial Intelligence)Chip
广义上:能运行人工智能算法的芯片
通常指:针对人工智能算法做特殊加速设计的芯片,以深度学习算法为主
AI芯片分类
AI芯片发展经历
近几年国内也是百花齐放,后续可以在补充
传统CPU技术及其局限性
- CPU主要由由控制器和运算器组成
ALU(arithmetic logic unit)用来数据计算,其他模块用来保证指令有序执行
CPU主频(单位时间内执行指令的条数)提高可提升速度 -
深度学习不需要太多程序指令需要海量数据,受限于功耗,主频无法无限制提升以满足需要
并行加速计算的GPU
- GPU 图像处理器,设计初衷是为了应对图像处理中的大规模并行计算
- 对比CPU结构:CPU大部分面积是控制器和寄存器,GPU有更多ALU
- GPUGPU(general purpose gpu,通用计算图形处理器)
GPU发展 - 第一代(1999年以前):部分功能从CPU分离,实现硬件加速,对3D图像加速,不具备软件编程特性
- 第二代(-2005年):硬件加速和有限编程,将T&L(transform and lighting)等工程从CPU分离,实现快速变化,运算速度超过CPU
- 第三代(2006年以后):可直接编写程序,CUDA和CTM(close to the metal),打破图像语言局限,成为真正并行数据处理超级加速器
- 目前GPU广泛用于分析图片、视频和音频文件
-
局限性:
在推断中,对于单一输入进行处理时,并行计算的优势无法发挥
不能灵活配置硬件结构、能效低(相对于FPGA)
半定制化的FPGA
- FPGA基于PAL、GAL、CPLD等可编程期间基础上发展而来
用户可多次烧入配置文件定义门电路及存储器之间的连线(如可配置成一个微控制器MCU或一个音频解码器) - FPGA可进行数据并行和任务并行计算
- FPGA 一次性成本(光刻掩模制作成本)远低于ASIC,一般在芯片前期未量产需迭代时,是最佳选择之一
- FPGA每个逻辑单元功能在重编程(烧入)时已确定,不需要指令,不用共享内存,降低单位执行的功耗
-
局限性
基本单一计算能力有限:大量细颗粒度基本单一,每个基本单元计算能力(依靠LUT查找表)远低于ALU
计算资源占比相对较低,大量资源被用于可配置的片上路由与连线
速度和功耗低于ASIC,价格贵(规模量产下成本远高于ASIC)
全定制化的ASIC
- 性能提升明显
- 促进下游AI芯片专用化,如无人驾驶、无人机、智能家居等
AI芯片技术比较(总结篇)
- CPU 通用性最强,但延迟严重,散热高,效率最低
- GPU 通用性强、速度快、效率高,特别适合用在深度学习训练方面,但是性能功耗比较低
- FPGA 具有低能耗、高性能以及可编程等特性,相对于 CPU 与 GPU 有明显的性能或者能耗优势,但对使用者要求高
- ASIC 可以更有针对性地进行硬件层次的优化,从而获得更好的性能、功耗比。但是ASIC 芯片的设计和制造需要大量的资金、较长的研发周期和工程周期,而且深度学习算法仍在快速发展,若深度学习算法发生大的变化,FPGA 能很快改变架构,适应最新的变化,ASIC 类芯片一旦定制则难于进行修改
-GPU配合CPU仍然是AI芯片的主流,FPGA和AISC不断优化逐步占用更多市场份额,类脑芯片是长期发展方向
AI芯片代表企业
中科寒武纪
寒武纪是全球第一个成功流片并拥有成熟产品的 AI 芯片公司,拥有终端 AI 处理器 IP和云端高性能 AI 芯片两条产品线
中星微
2016 年初,中星微推出了全球首款集成了神经网络处理器(NPU)的SVAC 视频编解码 SoC,使得智能分析结果可以与视频数据同时编码,形成结构化的视频码流。该技术被广泛应用于视频监控摄像头,开启了安防监控智能化的新时代。自主设计的嵌入式神经网络处理器(NPU)采用了“数据驱动并行计算”架构,专门针对深度学习算法进行了优化,具备高性能、低功耗、高集成度、小尺寸等特点,特别适合物联网前端智能的需求
地平线机器人
BPU(BrainProcessing Unit)是地平线机器人自主设计研发的高效人工智能处理器架构IP,支持 ARM/GPU/FPGA/ASIC 实现,专注于自动驾驶、人脸图像辨识等专用领域
深鉴科技
深鉴科技将其开发的基于 FPGA 的神经网络处理器称为 DPU。
深鉴公开发布了两款 DPU:亚里士多德架构和笛卡尔架构,其中,亚里士多德架构是针对卷积神经网络 CNN 而设计;笛卡尔架构专为处DNN/RNN 网络而设计,可对经过结构压缩后的稀疏神经网络进行极致高效的硬件加速
灵汐科技
致力于新一代神经网络处理器(Tianjic)开发,特点在于既能够高效支撑现有流行的机器学习算法(包括 CNN,MLP,LSTM 等网络架构),也能够支撑更仿脑的、更具成长潜力的脉冲神经网络算法;使芯片具有高计算力、高多任务并行度和较低功耗等优点
启英泰伦
语音识别芯片研发商。启英泰伦的CI1006是基于 ASIC 架构的人工智能语音识别芯片,包含了脑神经网络处理硬件单元,能够完美支持 DNN 运算架构,进行高性能的数据并行计算,可极大的提高人工智能深度学习语音技术对大量数据的处理效率
百度
2017 年 8 月 Hot Chips 大会上发布了 XPU,这是一款 256 核、基于 FPGA 的云计算加速芯片。合作伙伴是赛思灵(Xilinx)。XPU 采用新一代 AI 处理架构,拥有 GPU 的通用性和 FPGA 的高效率和低能耗,对百度的深度学习平台 PaddlePaddle 做了高度的优化和加速。据介绍,XPU 关注计算密集型、基于规则的多样化计算任务,希望提高效率和性能,并带来类似 CPU 的灵活性
华为
麒麟 970 搭载的神经网络处理器 NPU 采用了寒武纪 IP
NPU 采用 HiAI移动计算架构,在 FP16 下提供的运算性能可以达到 1.92 TFLOPs,相比四个 Cortex-A73 核心,处理同样的 AI 任务,有大约具备 50 倍能效和 25 倍性能优势
英伟达(NVIDIA)
英伟达发明了 GPU,重新定义了现代计算机图形技术,彻底改变了并行计算
英伟达的 GPU 芯片可以让大量处理器并行运算,速度比 CPU 快十倍甚至几十倍,因而成为绝大部分人工智能研究者和开发者的首选。
自从 Google Brain 采用 1.6 万个 GPU 核训练 DNN 模型,并在语音和图像识别等领域获得巨大成功以来,英伟达已成为 AI 芯片市场中无可争议的领导者
AMD
美国 AMD 半导体公司专门为计算机、通信和消费电子行业设计和制造各种创新的微处理器(CPU、GPU、APU、主板芯片组、电视卡芯片等),以及提供闪存和低功率处理器解决方案
AMD 拥有针对 AI 和机器学习的高性能 Radeon Instinc 加速卡,开放
式软件平台 ROCm 等
2016 年宣布独立开发一种名为 TPU 的全新的处理系统。TPU 是专门为机器学习应用而设计的专用芯片。通过降低芯片的计算精度,减少实现每个计算操作所需晶体管数量的方式,让芯片的每秒运行的操作个数更高,这样经过精细调优的机器学习模型就能在芯片上运行得更快,进而更快地让用户得到更智能的结果。在 2016 年 3 月打败了李世石和 2017 年 5 月打败了柯杰的阿尔法狗,就是采用了谷歌的 TPU 系列芯片
高通
在智能手机芯片市场占据绝对优势的高通公司,其在人工智能方面已投资了 Clarifai 公司和中国“专注于物联网人工智能服务”的云知声
Nervana Systems
推出的 The Nervana Engine 是一个为深度学习专门定制和优化的 ASIC 芯片。这个方案的实现得益于一项叫做 High Bandwidth Memory 的新型内存技术,这项技术同时拥有高容量和高速度,提供 32GB 的片上储存和 8TB 每秒的内存访问速度。该公司目前提供一个人工智能服务“in the cloud”,他们声称这是世界上最快的且目前已被金融服务机构、医疗保健提供者和政府机构所使用的服务
Movidius(被 Intel 收购)
2016 年 9 月,Intel 发表声明收购了 Movidius。Movidius 专注于研发高性能视觉处理芯片。其最新一代的 Myriad2 视觉处理器主要由 SPARC 处理器作为主控制器,加上专门的DSP 处理器和硬件加速电路来处理专门的视觉和图像信号。这是一款以 DSP 架构为基础的视觉处理器,在视觉相关的应用领域有极高的能耗比,可以将视觉计算普及到几乎所有的嵌入式系统中。该芯片已被大量应用在 Google 3D 项目的 Tango 手机、大疆无人机、FLIR 智能红外摄像机、海康深眸系列摄像机、华睿智能工业相机等产品中
IBM
IBM 很早以前就发布过 watson,投入了很多的实际应用。除此之外,还启动了类脑芯片的研发,即 TrueNorth。
TrueNorth 是 IBM 参与 DARPA 的研究项目 SyNapse 的最新成果。SyNapse 全称是Systems of Neuromorphic Adaptive Plastic Scalable Electronics(自适应可塑可伸缩电子神经系统,而 SyNapse 正好是突触的意思),其终极目标是开发出打破冯·诺依曼体系结构的计算机体系结构
ARM
ARM 推出全新芯片架构 DynamIQ,通过这项技术,AI 芯片的性能有望在未来三到五年内提升 50 倍
ARM的新CPU架构将会通过为不同部分配置软件的方式将多个处理核心集聚在一起,这其中包括一个专门为 AI 算法设计的处理器。芯片厂商将可以为新处理器配置最多 8 个核心。同时为了能让主流 AI 在自己的处理器上更好地运行,ARM 还将推出一系列软件库
CEVA
专注于 DSP 的 IP 供应商,拥有众多的产品线。其中,图像和计算机视觉 DSP产品CEVA-XM4是第一个支持深度学习的可编程DSP,而其发布的新一代型号 CEVA-XM6,具有更优的性能、更强大的计算能力以及更低的能耗
MIT/Eyeriss
MIT 的一个项目,还不是一个公司,从长远来看,如果进展顺利,很
可能孵化出一个新的公司。
Eyeriss 是一个高效能的深度卷积神经网络(CNN)加速器硬件,该芯片内建 168 个核心,专门用来部署神经网路(neural network),效能为一般 GPU 的 10 倍。其技术关键在于最小化 GPU 核心和记忆体之间交换数据的频率(此运作过程通常会消耗大量的时间与能量):一般 GPU 内的核心通常共享单一记忆体,但 Eyeriss 的每个核心拥有属于自己的记忆
体。
目前,Eyeriss 主要定位在人脸识别和语音识别,可应用在智能手机、穿戴式设备、机器人、自动驾驶车与其他物联网应用装置上
Apple
Axx处理器集成了一个专用于机器学习的硬件——“神经网络引擎(Neural Engine)”
三星
三星已经研发了许多种类的人工智能芯片。三星还投资了 Graphcore、深
鉴科技等人工智能芯片企业
AI芯片应用
智能手机
如华为麒麟搭载了寒武纪的NPU,苹果手机内置AXX Bionic芯片
ADAD(高级辅助驾驶系统)
- ADAS需要处理海量由激光雷达、毫米波雷达、摄像头等传感器采集的实时数据
- ADAS 的中枢大脑——ADAS 芯片市场的主要厂商包括被英特尔收购的 Mobileye、2017 年被高通以 470 亿美元惊人价格收购的 NXP,以及汽车电子的领军企业英飞凌。随着英伟达推出自家基于 GPU 的 ADAS 解决方案 DrivePX2,英伟达也加入到战团之中
- 相对于传统的车辆控制方法,智能控制方法主要体现在对控制对象模型的运用和综合信息学习运用上,包括神经网络控制和深度学习方法等,得益于 AI 芯片的飞速发展,这些算法已逐步在车辆控制中得到应用
CV(computer vision)计算机视觉设备
如智能摄像头、无人机、行车记录仪、人脸识别迎宾机器人以及智能手写板等设备,往往都具有本地端推断的需要
计算机视觉领域全球领先的芯片提供商 Movidius,目前已被英特尔收购,大疆无人机、海康威视和大华股份的智能监控摄像头均使用了 Movidius 的 Myriad 系列芯片
国内做计算机视觉技术的公司以初创公司为主,如商汤科技、旷视、腾讯优图,以及云从、依图等,部分公司会自然转入CV芯片研发中
VR设备
代表为 HPU 芯片,是微软为自身 VR 设备 Hololens 研发定制的
语音交互设备
国内有启英泰伦以及云知声两家公司,其提供的芯片方案均内置了为语音识别而优化的深度神经网络加速方案,实现设备的语音离线识别
机器人
无论是家居机器人还是商用服务机器人均需要专用软件+芯片的人工智能解决方案,公司如地平线机器人
发展趋势
目前主流 AI 芯片的核心主要是利用 MAC(Multiplier and Accumulation,乘加计算)加速阵列来实现对 CNN(卷积神经网络)中最主要的卷积运算的加速
问题
- 数据量大,内存带宽成为瓶颈,“memory wall”问题
- 内存大量访问和MAC阵列的大量运算,AI芯片功耗增加
- 深度度学习算法的发展也是日新月异,新的算法可能在已经固化的硬件加速器上无法得到很好的支持,即性能和灵活度之间的平衡问题
趋势
-
更高效的大卷积解构/复用
标准 SIMD 的基础上,CNN 由于其特殊的复用机制,可以进一步减少总线上的数据通信,如何合理地分解、映射这些超大卷积到有效的硬件上成为了一个值得研究的方向
分解卷积可降低消耗
-
更低的 Inference 计算/存储位宽
神经网络参数/计算位宽的迅速减少——从 32 位浮点到 16 位浮点/定点、8 位定点,甚至是 4 位定点。在理论计算领域,2 位甚至 1 位参数位宽,都已经逐渐进入实践领域
逐层动态定点方法
- 更多样的存储器定制设计
当计算部件不再成为神经网络加速器的设计瓶颈时,如何减少存储器的访问延时将会成为下一个研究方向。通常,离计算越近的存储器速度越快,每字节的成本也越高,同时容量也越受限,因此新型的存储结构也将应运而生 -
更稀疏的大规模向量实现
神经网络虽然大,但是,实际上有很多以零为输入的情况,此时稀疏计算可以高效的减少无用能效
五级流水线结构,在 Activation层后对下一次计算的必要性进行预先判断,如果发现这是一个稀疏节点,则触发 SKIP 信号,避免乘法运算的功耗,以达到减少无用功耗的
5.计算和存储一体化
计算和存储一体化(process-in-memory)技术,其要点是通过使用新型非易失性存储(如ReRAM)器件,在存储阵列里面加上神经网络计算功能,从而省去数据搬移操作,即实现了计算存储一体化的神经网络处理,在功耗性能方面可以获得显著提升