资讯详情

带你深入了解GPU、FPGA和ASIC

2630f802a9be472c6ef55e4bf63e09a2.png

人工智能包括算法、计算和数据三个要素。算法是实现人工智能的核心,计算和数据是基础。算法主要分为工程学和模拟学。

工程学方法是采用传统的编程技术,利用大量数据处理经验改进提升算法性能;模拟法则是模仿人类或其他生物所用的方法或者技能,提升算法性能,例如遗传算法和神经网络。目前主要用于计算能力GPU神经网络并行计算,FPGA和ASIC也将是未来异军突起的力量。

随着百度、Google、Facebook、微软等企业开始切入人工智能,人工智能的应用领域非常广泛。可来人工智能的应用将呈几何级数的倍增。

应用领域包括互联网,金融,娱乐,政府机关,制造业,汽车,游戏等。从产业结构来讲,人工智能生态分为基础、技术、应用三层。应用层包括人工智能 技术层包括算法、模型和应用开发,基础层包括数据资源和计算能力。

人工智能将广泛应用于许多领域。目前,重点应用有:语音识别、人脸识别、无人机、机器人、无人驾驶等。

1、深度学习

人工智能的核心是算法,深度学习是目前最主流的人工智能算法。深度学习是 1958 这一年被提出,但直到最近才真正流行起来。主要原因是数据量的激增和计算机能力/成本的增加。

深度学习是在机器学习领域建模模型(声音、图像等)的一种方法,也是基于统计的概率模型。建模各种模式后,可以识别各种模式。例如,如果建模模式是声音,则可以理解为语音识别。类比理解,如果将机器学习算法类比为排序算法,那么深度学习算法是许多排序算法之一,在某些应用场景中具有一定的优势。

深度学习又称深度神经网络(Deep Neural Networks ),从很久以前的人工神经网络开始(Artificial Neural Networks)模型模型。该模型一般采用计算机科学中的图形模型直观表达,深度学习的深度是指图形模型的层数和每层节点的数量,与以往的神经网络相比有了很大的改进。

从单一的神经元到简单的神经网络,再到语音识别的深层神经网络。层次之间的复杂性呈几何倍数增加。

以图像识别为例,图像的原始输入是一个像素,由相邻的像素组成条线形成纹理,进一步形成图案,图案构成物体的局部,直到整个物体的外观。不难发现,原始输入和浅特征之间的联系可以找到,然后通过中间特征逐步与高层特征之间的联系。

无疑很难直接从原始输入跨越到高层特征。整个识别过程所需的数据量和计算量非常大。

深度学习之所以能在今天取得重大突破,是因为:

1.大量数据培训

2.高性能计算能力(CPU,GPU,FPGA,ASIC),两者缺一不可。

2、算力

计算能力是衡量芯片计算性能的重要指标。一般来说,计算能力以每秒执行的浮点运算次数(也称为每秒峰值速度)为指标,称为 FLOPS。现有的主流芯片操作能力已经达到 TFLOPS 级别。一个 TFLOPS(teraFLOPS)等于每秒万亿(=10^12)次浮点运算。提高深度学习计算能力需要多维度的同步提高:

1.系统并行程度

时钟的速度

3.内存的大小(包括register、cache、memory);

4、内存带宽(memory bandwidth)

5.计算芯片相同 CPU 之间的带宽

在硬件中也有各种微妙的算法改进。

本报告将重点讨论人工智能芯片领域 GPU,FPGA,ASIC 几种芯片在人工智能领域的应用和未来的发展。

3、GPU 简介

GPU,又称显示核心、视觉处理器和显示芯片,是一种微处理器,专门用于个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)的图像操作 CPU 类似,只是 GPU 它是为执行复杂的数学和几何计算而设计的,这是图形渲染所必需的。随着人工智能的发展,今天 GPU 不再局限于 3D 图形处理,GPU 一般计算技术的发展引起了业界的广泛关注,事实也证明了浮点运算、并行计算等部分计算,GPU 它可以提供数十倍甚至数百倍 CPU 的性能。

GPU 其特点是有大量的核(多达数千个核)和大量的高速内存,最初设计用于游戏、计算机图像处理等。GPU它主要擅长并行计算类似的图像处理,所谓的平行粗粒度(coarse-grain parallelism)”。

由于像素与像素相对独立,因此适用于图像处理,GPU 同时提供大量的核并行处理许多像素。但这并不能带来延迟的增加(只是处理吞吐量的增加)。

例如,当消息到达时,尽管 GPU 有很多核,但只有一个核被用来处理当前的消息, GPU 核通常被设计为支持与图像处理相关的操作 CPU 通用。GPU 主要适用于数据层高并行特性(data-parallelism)例如 GPU 更适合蒙特卡罗模拟等并行操作。

CPU 和 GPU 不同的结构模式和操作目的导致了不同的结构模式 CPU 和 GPU 之间的不同,主要不同点列举如下。

正是因为 GPU 特别适用于大规模并行运算,GPU 在 “深度学习”领域发挥着巨大的作用,因为 GPU 大量琐碎的信息可以平行处理。深度学习依赖于与人脑神经高度相似的神经系统网络——网络的目的是在高速状态下分析大量数据。

例如,如果你想教这个网络如何识别猫的外观,你必须为它提供无数的猫的照片。这种工作就是 GPU 芯片擅长的东西。与之相比。 CPU,GPU 另一个主要优势是它对能源的需求远低于 CPU。GPU 擅长快速处理海量数据。

虽然机器学习已经有几十年的历史,但两个相对较新的趋势促进了机器学习的广泛应用:大量培训数据的出现和 GPU 强大高效的并行计算。人们使用它 GPU 训练这些深度神经网络,使用的训练要大得多,时间大大缩短,占用的数据中心基础设施也要少得多。

GPU 它还被用来运行这些机器学习和训练模型,以便在云中进行分类和预测,以便在功耗低、基础设施占用少的情况下支持比以前更大的数据量和吞吐量。

将 GPU 加速器用于机器学习的早期用户包括许多大型网络和社交媒体公司,以及数据科学和机器学习领域的一流研究机构。简单使用 CPU 与实践相比,GPU 有成千上万的计算核心,可以实现 10-100 吞吐量倍,所以 GPU 已成为数据科学家处理大数据的处理器。

综上所述,我们认为人工智能时代 GPU 它不再是传统意义上的图形处理器,而是应该赋予专用处理器称号,具有较强的并行计算能力。

国内在 GPU 芯片设计还处于起步阶段,与国际主流产品还有一定差距。然而,星星可以燎原。一些企业逐渐开始具备自主研发的能力,如国内企业景嘉微。

景嘉微拥有国内首款自主研发的 GPU 芯片 JM专门用于公司图形显控领域的5400。JM5400 以图形芯片为代表的外国芯片在中国军用中被打破 GPU 领域垄断率先实现军事垄断 GPU国产化。GPU JM5400 主要替代AMD的 GPU M9.两者的性能比较如下。相比之下,公司的 JM5400 功耗低,性能优异。

4、FPGA简介

FPGA,即现场可编程门阵列,在 PAL、GAL、CPLD在可编程器件的基础上进一步开发的产品。FPGA 芯片主要由 6 可编程输入输出单元、基本可编程逻辑单元、完整时钟管理、嵌入块RAM、布线资源丰富,内嵌底层功能单元和内嵌专用硬件模块。

FPGA 它还具有系统重构静态可重复编程和动态的特点,使硬件的功能可以像软件一样通过编程进行修改。FPGA任何数字设备的功能,甚至高性能 CPU 都可以用 FPGA 来实现。

FPGA 有大量的可编程逻辑单元,可根据客户定制进行有针对性的算法设计。此外,在处理大量数据时,FPGA 相比于 CPU 和 GPU,独特的优势在于:FPGA 更接近 IO。换句话说,FPGA是硬件底层的架构。

例如,数据采用 GPU 计算,它必须先进入内存并在 CPU 指令下拷入 GPU 内存在那边执行后复制到内存 CPU 继续处理,这个过程没有时间优势;

虽然 FPGA 频率一般比 CPU 低,但 CPU 它是一个通用处理器,可能需要很多时钟来进行特定的操作(如信号处理和图像处理) FPGA 专用电路可以通过编程重组直接生成,再加上电路的并行性,可能只需要一个时钟周期就可以进行这个特定的操作。

比如一般 CPU 一次只能处理 4 到 8 个指令,在 FPGA 每次都可以处理数据并行的方法 256 一个或多个指令,让FPGA可以处理比CPU很多数据量。

举个例子,CPU 主频 3GHz,FPGA主频 200MHz,若做特定操作 CPU 需要 30 时钟周期,FPGA 只需要一个,就会耗时:CPU:30/3GHz =10ns;FPGA:1/200MHz =5ns。可以看到,FPGA 做这个特定的操作速度比 CPU 块,能帮助加速。

北京大学和加州大学是关于 FPGA 合作研究加快深度学习算法。 FPGA 与 CPU 在执行深度学习算法时的耗时比较。在运行迭代时使用 CPU 耗时 375 使用毫秒 FPGA 只耗时 21 毫秒,加速比约为18倍。

FPGA 相对于 CPU 与 GPU 能耗优势明显,主要有两个原因。首先,在 FPGA 没有指令和指令翻码操作, 在Intel的 CPU 里面,因为用的是 CISC 仅译码就占据了整个芯片的能耗 50%;

在 GPU 在里面,指令和译码也被消耗掉了 10%~20%的能耗。其次,FPGA 的主频比 CPU 与 GPU 低很多,通常 CPU 与 GPU 都在 1GHz 到 3GHz 之间,而 FPGA 的主频一般在 500MHz 以下。如此大的频率差使得 FPGA 消耗的能耗远低于 CPU 与 GPU。

FPGA与CPU在执行深度学习算法时的耗能对比。在执行一次深度学习运算,使用 CPU 耗能 36 焦,而使用 FPGA 只耗能 10 焦,取得了 3.5 倍左右的节能比。通过用 FPGA 加速与节能,让深度学习实时计算更容易在移动端运行。

相比CPU和GPU,FPGA 凭借比特级细粒度定制的结构、流水线并行计算的能力和高效的能耗,在深度学习应用中展现出独特的优势,在大规模服务器部署或资源受限的嵌入式应用方面有巨大潜力。此外,FPGA 架构灵活,使得研究者能够在诸如 GPU 的固定架构之外进行模型优化探究。

5、ASIC简介

ASIC(专用集成电路),是指应特定用户要求或特定电子系统的需要而设计、制造的集成电路。严格意义上来讲,ASIC 是一种专用芯片,与传统的通用芯片有一定的差异。是为了某种特定的需求而专门定制的芯片。

ASIC 作为集成电路技术与特定用户的整机或系统技术紧密结合的产物,与通用集成电路相比,具有以下几个方面的优越性:体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低。回到深度学习最重要的指标:算力和功耗。我们对比 NVIDIA 的 GK210 和某 ASIC 芯片规划的指标,如下所示:

从算力上来说,ASIC 产品的计算能力是 GK210 的 2.5 倍。第二个指标是功耗, 功耗做到了 GK210 的 1/15。第三个指标是内部存储容量的大小及带宽。这个内部 MEMORY 相当于 CPU 上的 CACHE。

深度雪地的模型比较大,通常能够到几百 MB 到 1GB 左右,会被频繁的读出来,如果模型放在片外的 DDR 里边,对 DDR 造成的带宽压力通常会到 TB/S 级别。

全定制设计的ASIC,因为其自身的特性,相较于非定制芯片,拥有以下几个优势:

同样工艺,同样功能,第一次采用全定制设计性能提高 7.6 倍

普通设计,全定制和非全定制的差别可能有 1~2 个数量级的差异

采用全定制方法可以超越非全定制 4 个工艺节点(采用 28nm 做的全定制设计,可能比 5nm 做的非全定制设计还要好)我们认为,ASIC 的优势,在人工智能深度学习领域,具有很大的潜力。

ASIC 在人工智能深度学习方面的应用还不多,但是我们可以拿比特币矿机芯片的发展做类似的推理。比特币挖矿和人工智能深度学习有类似之处,都是依赖于底层的芯片进行大规模的并行计算。而 ASIC 在比特币挖矿领域,展现出了得天独厚的优势。

比特币矿机的芯片经历了四个阶段:CPU、GPU、FPGA 和 ASIC。ASIC 芯片是专为挖矿量身定制的芯片,它将 FPGA 芯片中在挖矿时不会使用的功能去掉,与同等工艺的 FPGA 芯片相比执行速度块,大规模生产后的成本也要低于 FPGA 芯片。

从 ASIC 在比特币挖矿机时代的发展历史,可以看出 ASIC 在专用并行计算领域所具有的得天独厚的优势:算力高,功耗低,价格低,专用性强。谷歌最近曝光的专用于人工智能深度学习计算的TPU、其实也是一款 ASIC。

综上,人工智能时代逐步临近,GPU、FPGA、ASIC这几块传统领域的芯片,将在人工智能时代迎来新的爆发。

标签: 国产tb3210集成电路

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台