申请专栏作者
投稿发布
您的当前位置:主页 > yabo体育平台注册页 > 正文

深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

来源:未知 时间:2019-05-26
请点击下面的广告后浏览!

随着AI的广泛应用,深度学习已成为当前AI研究和运用的主流方式。面对海量yabo88滚球的并行运算,AI对于算力的要求不断提升,对硬件的运算速度及功耗提出了更高的要求。

可思yabo88滚球sykv.com

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

目前,除通用CPU外,作为硬件加速的GPU、NPU、FPGA等一些芯片处理器在深度学习的不同应用中发挥着各自的优势,但孰优孰劣?

可思yabo88滚球sykv.com

以人脸识别为例,其处理基本流程及对应功能模块所需的算力分布如下:

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

为什么会有这样的应用区分? 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

意义在哪里?

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

想要知道其中的答案,需要我们先从CPU、GPU、NPU、FPGA它们各自的原理、架构及性能特点来了解。 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

首先,我们先来了解一下通用CPU的架构。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

CPU

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

CPU(Central Processing Unit)中央处理器,是一块超大规模的集成电路,主要逻辑架构包括控制单元Control,运算单元ALU和高速缓冲存储器(Cache)及实现它们之间联系的yabo88滚球(Data)、控制及状态的总线(Bus)。

内容来自可思yabo88滚球sykv.com

简单说, 内容来自可思yabo88滚球sykv.com

就是计算单元、控制单元和存储单元。

内容来自可思yabo88滚球sykv.com

架构图如下所示: 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

?

内容来自可思yabo88滚球sykv.com
深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

CPU遵循的是冯诺依曼架构,其核心是存储程序、顺序执行。CPU的架构中需要大量的空间去放置存储单元(Cache)和控制单元(Control),相比之下计算单元(ALU)只占据了很小的一部分,所以它在大规模并行计算能力上极受限制,而更擅长于逻辑控制。

可思yabo88滚球sykv.com

CPU无法做到大量矩阵yabo88滚球并行计算的能力,但GPU可以。

可思yabo88滚球sykv.com

GPU

可思yabo88滚球-人工智能资讯平台sykv.com

GPU(Graphics Processing Unit),即图形处理器,是一种由大量运算单元组成的大规模并行计算架构,专为同时处理多重任务而设计。 可思yabo88滚球sykv.com

为什么GPU可以做到并行计算的能力?GPU中也包含基本的计算单元、控制单元和存储单元,但GPU的架构与CPU有所不同,如下图所示: 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

? 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

与CPU相比,CPU芯片空间的不到20%是ALU,而GPU芯片空间的80%以上是ALU。即GPU拥有更多的ALU用于yabo88滚球并行处理。

可思yabo88滚球sykv.com,sykv.cn

以Darknet构建的神经网络模型AlexNet、VGG-16及Restnet152在GPU Titan X, CPU Intel i7-4790K (4 GHz) 进行ImageNet分类任务预测的结果:

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

? 可思yabo88滚球sykv.com,sykv.cn

深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

备注:以上yabo88滚球源自https://pjreddie.com/darknet/imagenet/#reference

可思yabo88滚球-www.sykv.cn,sykv.com

由此可见,GPU处理神经网络yabo88滚球远远高效于CPU。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

总结GPU具有如下特点:

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

1 、多线程,提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量yabo88滚球的并行计算。 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

2、拥有更高的访存速度。

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

3、更高的浮点运算能力。

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

因此,GPU比CPU更适合深度学习中的大量训练yabo88滚球、大量矩阵、卷积运算。 内容来自可思yabo88滚球sykv.com

GPU虽然在并行计算能力上尽显优势,但并不能单独工作,需要CPU的协同处理,对于神经网络模型的构建和yabo88滚球流的传递还是在CPU上进行。同时存在功耗高,体积大的问题。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

性能越高的GPU体积越大,功耗越高,价格也昂贵,对于一些小型设备、移动设备来说将无法使用。 可思yabo88滚球sykv.com,sykv.cn

因此,一种体积小、功耗低、计算性能高、计算效率高的专用芯片NPU诞生了。

可思yabo88滚球sykv.com

NPU 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

NPU (Neural Networks Process Units)神经网络处理单元。NPU工作原理是在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。相比于CPU和GPU,NPU通过突触权重实现存储和计算一体化,从而提高运行效率。 可思yabo88滚球-www.sykv.cn,sykv.com

NPU是模仿生物神经网络而构建的,CPU、GPU处理器需要用数千条指令完成的神经元处理,NPU只要一条或几条就能完成,因此在深度学习的处理效率方面优势明显。

可思yabo88滚球sykv.com,sykv.cn

实验结果显示,同等功耗下NPU 的性能是 GPU 的 118 倍。 可思yabo88滚球-人工智能资讯平台sykv.com

与GPU一样,NPU同样需要CPU的协同处理才能完成特定的任务。下面,我们可以看一下GPU和NPU是如何与CPU协同工作的。

可思yabo88滚球sykv.com,sykv.cn

GPU的加速

内容来自可思yabo88滚球sykv.com

GPU当前只是单纯的并行矩阵的乘法和加法运算,对于神经网络模型的构建和yabo88滚球流的传递还是在CPU上进行。 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

CPU加载权重yabo88滚球,按照代码构建神经网络模型,将每层的矩阵运算通过CUDA或OpenCL等类库接口传送到GPU上实现并行计算,输出结果;CPU接着调度下层神经元组矩阵yabo88滚球计算,直至神经网络输出层计算完成,得到最终结果。

内容来自可思yabo88滚球sykv.com

?

可思yabo88滚球-www.sykv.cn,sykv.com
深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

CPU 与GPU的交互流程: 可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

1获取GPU信息,配置GPU id 可思yabo88滚球sykv.com,sykv.cn

2 加载神经元参数到GPU

可思yabo88滚球sykv.com,sykv.cn

3 GPU加速神经网络计算 可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

4接收GPU计算结果 可思yabo88滚球sykv.com,sykv.cn

NPU的加速 内容来自可思yabo88滚球sykv.com

NPU与GPU加速不同,主要体现为每层神经元计算结果不用输出到主内存,而是按照神经网络的连接传递到下层神经元继续计算,因此其在运算性能和功耗上都有很大的提升。

可思yabo88滚球sykv.com

CPU将编译好的神经网络模型文件和权重文件交由专用芯片加载,完成硬件编程。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

? 可思yabo88滚球sykv.com

深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

CPU在整个运行过程中,主要是实现yabo88滚球的加载和业务流程的控制,其交互流程为:

可思yabo88滚球sykv.com,sykv.cn

1打开NPU专用芯片设备 可思yabo88滚球-人工智能资讯平台sykv.com

2 传入模型文件,得到模型task 本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处

3 获取task的输入输出信息 可思yabo88滚球sykv.com,sykv.cn

4 拷贝输入yabo88滚球到模型内存中

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

5 运行模型,得到输出yabo88滚球

可思yabo88滚球sykv.com

除NPU外,在功耗及计算能力上有一拼的还有FPGA。 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

FPGA

可思yabo88滚球-www.sykv.cn,sykv.com

FPGA(Field-Programmable Gate Array)称为现场可编程门阵列,用户可以根据自身的需求进行重复编程。与 CPU、GPU 相比,具有性能高、功耗低、可硬件编程的特点。 可思yabo88滚球sykv.com,sykv.cn

FPGA基本原理是在芯片内集成大量的数字电路基本门电路以及存储器,而用户可以通过烧入FPGA 配置文件来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,可重复编写定义,重复配置。

可思yabo88滚球-人工智能资讯平台sykv.com

FPGA的内部结构如下图所示: 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

? 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人sykv.com

深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

FPGA的编程逻辑块(Programable Logic Blocks)中包含很多功能单元,由LUT(Look-up Table)、触发器组成。FPGA是直接通过这些门电路来实现用户的算法,没有通过指令系统的翻译,执行效率更高。 可思yabo88滚球sykv.com,sykv.cn

我们可以对比一下 内容来自可思yabo88滚球sykv.com

CPU/GPU/NPU/FPGA各自的特点 内容来自可思yabo88滚球sykv.com

?

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球
深度学习中,CPU、GPU、NPU、FPGA如何发挥优势

各芯片架构特点总结 可思yabo88滚球-www.sykv.cn,sykv.com

/ CPU / 可思yabo88滚球-www.sykv.cn,sykv.com

70%晶体管用来构建Cache,还有一部分控制单元,计算单元少,适合逻辑控制运算。

可思yabo88滚球-AI,sykv.com人工智能,深度学习,机器学习,神经网络

/ GPU / 可思yabo88滚球-人工智能资讯平台sykv.com

晶体管大部分构建计算单元,运算复杂度低,适合大规模并行计算。主要应用于大yabo88滚球、后台服务器、图像处理。

可思yabo88滚球-AI,sykv.com智能驾驶,人脸识别,区块链,大yabo88滚球

/ NPU /

内容来自可思yabo88滚球sykv.com

在电路层模拟神经元,通过突触权重实现存储和计算一体化,一条指令完成一组神经元的处理,提高运行效率。主要应用于通信领域、大yabo88滚球、图像处理。 可思yabo88滚球sykv.com,sykv.cn

/ FPGA /

可思yabo88滚球sykv.com,sykv.cn

可编程逻辑,计算效率高,更接近底层IO,通过冗余晶体管和连线实现逻辑可编辑。本质上是无指令、无需共享内存,计算效率比CPU、GPU高。主要应用于智能手机、便携式移动设备、汽车。 可思yabo88滚球sykv.com,sykv.cn

CPU作为最通用的部分,协同其他处理器完成着不同的任务。GPU适合深度学习中后台服务器大量yabo88滚球训练、矩阵卷积运算。NPU、FPGA在性能、面积、功耗等方面有较大优势,能更好的加速神经网络计算。而FPGA的特点在于开发使用硬件描述语言,开发门槛相对GPU、NPU高。 可思yabo88滚球-www.sykv.cn,sykv.com

可以说,每种处理器都有它的优势和不足,在不同的应用场景中,需要根据需求权衡利弊,选择合适的芯片。

本文来自可思yabo88滚球(sykv.com),转载请联系本站及注明出处


转发量:

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片 匿名?

关于我们?? 免责声明?? 广告合作?? 版权声明?? 联系方式?? 原创投稿?? 网站地图??

Copyright?2005-2019 Sykv.com 可思yabo88滚球 版权所有 ?? ICP备案:京ICP备14056871号

人工智能资讯?? 人工智能资讯?? 人工智能资讯?? 人工智能资讯

?扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部
关闭