技术干货 | 详谈AI芯片分类和关键技术

戳蓝字“CSDN云计算”关注我们哦!
640?wx_fmt=jpeg
作者 | 架构师技术联盟
责编 | 阿秃

人工智能芯片目前有两种发展路径:一种是延续传统计算架构,加速硬件计算能力,主要以 3 种类型的芯片为代表,即 GPU、 FPGA、 ASIC,但 CPU依旧发挥着不可替代的作用;另一种是颠覆经典的冯·诺依曼计算架构,采用类脑神经结构来提升计算能力, 以 IBM TrueNorth 芯片为代表。

1、传统 CPU


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

640?wx_fmt=jpeg

传统CPU内部结构图(ALU计算模块)

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

2、并行加速计算的GPU


GPU 作为最早从事并行加速计算的处理器,相比 CPU 速度快, 同时比其他加速器芯片编程灵活简单。


传统的 CPU 之所以不适合人工智能算法的执行,主要原因在于其计算指令遵循串行执行的方式,没能发挥出芯片的全部潜力。与之不同的是, GPU 具有高并行结构,在处理图形数据和复杂算法方面拥有比 CPU 更高的效率。对比 GPU 和 CPU 在结构上的差异, CPU大部分面积为控制器和寄存器,而 GPU 拥有更ALU(ARITHMETIC LOGIC UNIT,逻辑运算单元)用于数据处理,这样的结构适合对密集型数据进行并行处理, CPU 与 GPU 的结构对比如图 所示。

640?wx_fmt=jpegCPU及GPU 结构对比图

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

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

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

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

2008年,苹果公司提出一个通用的并行计算编程平台 OPENCL(OPEN COMPUTING LANGUAGE,开放运算语言),与CUDA绑定在英伟达的显卡上不同,OPENCL 和具体的计算设备无关。

640?wx_fmt=jpegGPU芯片的发展阶段

目前, GPU 已经发展到较为成熟的阶段。谷歌、 FACEBOOK、微软、 TWITTER 和百度等公司都在使用 GPU 分析图片、视频和音频文件,以改进搜索和图像标签等应用功能。此外,很多汽车生产商也在使用 GPU 芯片发展无人驾驶。不仅如此, GPU 也被应用于VR/AR 相关的产业。

但是 GPU也有一定的局限性。深度学习算法分为训练和推断两部分, GPU 平台在算法训练上非常高效。但在推断中对于单项输入进行处理的时候,并行计算的优势不能完全发挥出来。

3、半定制化的FPGA

FPGA 是在 PAL、 GAL、 CPLD 等可编程器件基础上进一步发展的产物。用户可以通过烧入 FPGA 配置文件来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,比如用户可以把 FPGA 配置成一个微控制器 MCU,使用完毕后可以编辑配置文件把同一个FPGA 配置成一个音频编解码器。因此, 它既解决了定制电路灵活性的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA 可同时进行数据并行和任务并行计算,在处理特定应用时有更加明显的效率提升。对于某个特定运算,通用 CPU 可能需要多个时钟周期;而 FPGA 可以通过编程重组电路,直接生成专用电路,仅消耗少量甚至一次时钟周期就可完成运算。

此外,由于 FPGA的灵活性,很多使用通用处理器或 ASIC难以实现的底层硬件控制操作技术, 利用 FPGA 可以很方便的实现。这个特性为算法的功能实现和优化留出了更大空间。同时 FPGA 一次性成本(光刻掩模制作成本)远低于 ASIC,在芯片需求还未成规模、深度学习算法暂未稳定, 需要不断迭代改进的情况下,利用 FPGA 芯片具备可重构的特性来实现半定制的人工智能芯片是最佳选择之一。

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

由于 FPGA 具备灵活快速的特点, 因此在众多领域都有替代 ASIC 的趋势。FPGA 在人工智能领域的应用如图所示。

640?wx_fmt=jpegFPGA 在人工智能领域的应用

4、全定制化的ASIC

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

GPU作为图像处理器, 设计初衷是为了应对图像处理中的大规模并行计算。因此,在应用于深度学习算法时,有三个方面的局限性:第一,应用过程中无法充分发挥并行计算优势。深度学习包含训练和推断两个计算环节, GPU 在深度学习算法训练上非常高效, 但对于单一输入进行推断的场合, 并行度的优势不能完全发挥。第二, 无法灵活配置硬件结构。GPU 采用 SIMT 计算模式, 硬件结构相对固定。目前深度学习算法还未完全稳定,若深度学习算法发生大的变化, GPU 无法像 FPGA 一样可以灵活的配制硬件结构。第三,运行深度学习算法能效低于 FPGA。

尽管 FPGA 倍受看好,甚至新一代百度大脑也是基于 FPGA 平台研发,但其毕竟不是专门为了适用深度学习算法而研发,实际应用中也存在诸多局限:

  • 第一,基本单元的计算能力有限。为了实现可重构特性, FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠 LUT 查找表)都远远低于 CPU 和 GPU 中的 ALU 模块。
  • 第二、 计算资源占比相对较低。为实现可重构特性, FPGA 内部大量资源被用于可配置的片上路由与连线。
  • 第三,速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;第四, FPGA 价格较为昂贵,在规模放量的情况下单块 FPGA 的成本要远高于专用定制芯片。

因此,随着人工智能算法和应用技术的日益发展,以及人工智能专用芯片 ASIC产业环境的逐渐成熟, 全定制化人工智能 ASIC也逐步体现出自身的优势,从事此类芯片研发与应用的国内外比较有代表性的公司如图所示。

640?wx_fmt=jpeg人工智能专用芯片研发情况一览

深度学习算法稳定后, AI 芯片可采用 ASIC 设计方法进行全定制, 使性能、功耗和面积等指标面向深度学习算法做到最优。

5、类脑芯片

类脑芯片不采用经典的冯·诺依曼架构, 而是基于神经形态架构设计,以 IBM Truenorth为代表。IBM 研究人员将存储单元作为突触、计算单元作为神经元、传输单元作为轴突搭建了神经芯片的原型。目前, Truenorth 用三星 28nm 功耗工艺技术,由 54 亿个晶体管组成的芯片构成的片上网络有 4096 个神经突触核心,实时作业功耗仅为 70mW。由于神经突触要求权重可变且要有记忆功能, IBM 采用与 CMOS 工艺兼容的相变非挥发存储器(PCM)的技术实验性的实现了新型突触,加快了商业化进程。

640?wx_fmt=png

640?wx_fmt=png

福利
扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

640?wx_fmt=jpeg

推荐阅读:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI+服务 阿里巴巴如何做智能服务转型?

AI下围棋、AI写作文、AI看病……在智能时代,通过新技术的赋能,行业已经发展到了一个新的高度。那么在服务领域,尤其是企业服务中,智能技术的加入会带来哪些新的想象? 在阿里巴巴,智能服务已经成为企业发展…

tfidf关键词提取_基于TextRank提取关键词、关键短语、摘要,文章排序

之前使用TFIDF做过行业关键词提取,TFIDF仅从词的统计信息出发,而没有充分考虑词之间的语义信息。TextRank考虑到了相邻词的语义关系,是一种基于图排序的关键词提取算法。TextRank的提出TextRank由Mihalcea与Tarau于EMNLP04提出来,…

AliOS Things手势识别应用演示

1. 概述 手势识别作为一种辅助的人机交互方式,在人机脱离的场景下可以提供方便的交互体验。本文介绍基于AliOS Things STM32F413H Discovery开发板实现手势交互功能的演示。 2. 环境搭建 开发板:STM32F413H Discovery(附带麦克风阵列板&a…

idea 个性化定制快捷键

添加和修改快捷键 先找到相应的快捷键 鼠标右击,上面add开头是添加,下面remove是移除快捷键

i 智慧 | 回首30年存储演进之路 再看新数据时代阿里云存储如何革故鼎新?

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹 责编 | 阿秃 出品 | CSDN云计算(ID:CSDNcloud)人类以日新月异的速度刷新着科技的成果,其中存储的发展历史尤其悠久,堪称万年进化史。自文明诞生以来&#xff0…

php validate form,laravel 中validate验证规则 利用FormRequest进行数据验证

namespace App\Http\Requests;use Illuminate\Foundation\Http\FormRequest;class AddCartRequest extends FormRequest{public function authorize(){return true;}//这两种写法都是支持的public function rules(){return [amount > [required, integer, min:1],pid > r…

AliOS Things声源定位应用演示

1. 概述 利用麦克风阵列进行声源定位在智能降噪、语音增强、语音识别等领域有广泛应用和研究前景。本文介绍基于AliOS Things STM32F413H Discovery开发板实现声源定位算法集成和功能演示。 声源定位算法 本案例集成了STMicroelectronics的Acoustic_SL声源定位算法。Acousti…

可优比和aag哪个好_火花塞多级和单级哪个性能更好?多就等于好?这可未必

从电极数量来判断火花塞性能,选择火花塞的一个误区!不知从何时开始,很多车友选择火花塞特别迷信侧电极数量,认为侧电极数量越多,火花塞就越好,点火火花就越大。我估计这是被一些别有用心的人带节奏了&#…

Quick BI v3.0版本全新起航——2018杭州云栖大会

在9月22日杭州云栖大会云上数据中台专场中,阿里巴巴产品专家陌停跟现场的观众们分享了Quick BI v3.0版本的新体验、新分析和新功能。 作为一个高效数据分析与展现的BI套件,Quick BI通过拖拽式的可视化分析能力,让懂业务的人自助式实现数据分析…

IDEA配置JDK

IDEA配置JDK 项目应用JDK

漫画:我用深度学习框架画下女朋友最美的脸

这不,又一个程序员为爱变身灵魂画手,看得我都想学画画了。阿华是幸运的,因为他找到了对的方法,事半功倍,最终有情人终成眷属。这也得益于 PyTorch 的易学易用,大多数人第一次使用 PyTorch 几乎可以做到无痛…

云端一体化差分+安全升级,AliOS Things物联网升级“利器”

1.1 OTA升级简介 随着物联网的日益发展,OTA升级逐渐成为物联网设备的刚性需求,目前物联网设备种类繁多,但并未提供统一的OTA升级方案,针对日益发展的物联网设备,开发者迫切需要一套云端一体化的OTA升级方案来满足快速迭…

startlogging中设置setstdout=false来禁用这个功能。_Windows 10禁用USB选择性暂停设置,峰哥教你解决USB设备失灵问题...

最近发现在 Win10 笔记本中使用 U 盘或者连接一些 USB 外设的情况下,时不时会有设备失灵的现象。经过研究发现,微软为了节省电力,在 Win10 系统中内置了一项「USB 选择性暂停设置」,而这个功能默认还处于启用状态。启用「USB 选择…

数据库“新解”,看这里,get!

自从第一台通用计算机诞生至今,围绕计算机系统硬件的创新迭代就一直“在路上”,伴随着硬件能力的不断提升,软件更新自然不可缺少。通常来说在传统的计算机软件工程领域,操作系统、编译器与数据库被并称为最具难度的“三剑客”系统…

阿里云发布链路追踪服务Tracing Analysis

近日,在杭州云栖大会上,阿里云发布了链路追踪服务Tracing Analysis,成本是自建链路追踪系统的1/5或更少,可为分布式应用的开发者提供完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,帮助开发者快速…

深入体验php项目开发.pdf,《深入体验PHP项目开发》.(谭贞军).[PDF]

090756q2fwgddoa5qto2kz.jpg (65.13 KB, 下载次数: 0)2018-8-8 14:24 上传本书介绍:php语言是当今使用最为频繁的网络编程语言之一,一直在开发web领域占据重要的地位。本书通过10个综合实例的实现过程,详细讲解了php语言在实践项目中的综合运用过程&…

DT时代下 数据库灾备的探索与实践

170余场主题峰会和分论坛完美呈现,上千位分享嘉宾、数万名创新创业导师齐聚一堂,刚刚结束的2018杭州云栖大会让云栖小镇又一次成为探索数字世界的中心。 随着DT时代的到来,企业对数据的依赖程度与日俱增,数据保护早已成为企业的一…

2019工作榜单:程序员吸金榜,AI排第一,这个我服!

先来看一个2019工作榜单:作为全球知名的招聘网站Indeed最近发布了一份2019年最佳工作榜单,公布了最有前景的行业和相应的岗位薪资:排名第一的是机器学习人工智能相关的岗位,从2015-2018岗位增加了3倍多,平均的年薪接近百万(98万)。…