<>AI 领域 FPGA、ASIC、CPU、GPU 简单对比

<>简介

CPU:中央处理器(Central Processing Unit,CPU)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(
Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

GPU:图形处理器(Graphics Processing
Unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。

ASIC:专用集成电路(Application Specific Integrated Circuit,ASIC),适合于某一单一用途的集成电路产品。

FPGA:现场可编程门阵列(Field Programmable Gate
Array,FPGA)。其设计初衷是为了实现半定制芯片的功能,即硬件结构可根据需要实时配置灵活改变。

<>人工智能领域的要求

人工智能的基础是算法,深度学习是目前最主流的人工智能算法。深度学习又叫深度神经网络(DNN:Deep Neural
Networks),从之前的人工神经网络(ANN:Artificial Neural
Networks)模型发展而来。这种模型一般采用计算机科学中的图模型来直观表达,深度学习的“深度”便指的是图模型的层数以及每一层的节点数量。神经网络复杂度不断提升,从最早单一的神经元,到
2012 年提出的 AlexNet (8个网络层),再到 2015 年提出的 ResNET
(150个网络层),层次间的复杂度呈几何倍数递增,对应的是对处理器运算能力需求的爆炸式增长。深度学习带来计算量急剧增加,对计算硬件带来更高要求。

深度学习需要用到很高的并行和大量的浮点运算、矩阵运算能力。

以往的 CPU、GPU 等都不能很好的实现人工智能的运算。所以需要针对人工智能领域需要新的硬件处理支持。

<>CPU

CPU 有强大的调度、管理、协调能力。应用范围广。

开发方便且灵活。

但其在大量数据处理上没有 GPU 专业,相对运算量低,但功耗不低。

<>GPU

相比CPU,GPU由于更适合执行复杂的数学和几何计算(尤其是并行运算),刚好与包含大量的并行运算的人工智能深度学习算法相匹配。

GPU 作为图像处理器,设计初衷是为了应对图像处理中需要大规模并行计算。因此,其在应用于深度学习算法时,有三个方面的局限性:

第一, 应用过程中无法充分发挥并行计算优势。深度学习包含训练和应用两个计算环节,GPU
在深度学习算法训练上非常高效,但在应用时一次性只能对于一张输入图像进行处理, 并行度的优势不能完全发挥。

第二, 硬件结构固定不具备可编程性。深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU 无法像 FPGA 一样可以灵活的配置硬件结构。

第三, 运行深度学习算法能效远低于 FPGA。学术界和产业界研究已经证明,运行深度学习算法中实现同样的性能,GPU 所需功耗远大于
FPGA,例如国内初创企业深鉴科技基于 FPGA 平台的人工智能芯片在同样开发周期内相对 GPU 能效有一个数量级的提升。

其功耗高,目前常用于云端计算处理上。

<>ASIC

定制芯片成本最低,功耗低,而且适合量产。

但由于其研发成本(开模成本)高昂,开发周期和验证周期长。对于很多厂商来说压力巨大。目前在人工智能领域风险高。

目前人工智能算法日新月异,变化快速,对于需要高成本,高研发周期的 ASIC 相对来说是不适用的。应用相对较少。

<>FPGA

可以通过硬件编程实现功能。

FPGA 同时拥有流水线并行和数据并行。可以实现比 GPU 更高的并发处理。

在密集处理和高并发上能力上占优,而且功耗比 CPU,GPU 低。

但其缺点有:

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

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

第三,FPGA 价格比起 ASIC 较为昂贵,在规模放量的情况下单块 FPGA 的成本要远高于专用定制芯片。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信