您的位置 首页 分销

芯片处理器怎样在深度学习中发挥作用

芯片处理器怎么在深度学习中发挥作用-随着AI的广泛应用,深度学习已成为当前AI研究和运用的主流方式。面对海量数据的并行运算,AI对于算力的要求不断提升,对硬件的运算速度及功耗提出了更高的要求。

跟着AI的广泛运用,深度学习已成为当时AI研讨和运用的干流方法。面临海量数据的并行运算,AI关于算力的要求不断进步,对硬件的运算速度及功耗提出了更高的要求。

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

人脸辨认为例,其处理根本流程及对应功用模块所需的算力散布如下:

芯片处理器怎样在深度学习中发挥作用

为什么会有这样的运用区别?

含义在哪里?

想要知道其间的答案,需求咱们先从CPU、GPU、NPU、FPGA它们各自的原理、架构及功用特色来了解。

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

CPU

CPU(Central Processing Unit)中央处理器,是一块超大规模的集成电路,首要逻辑架构包括操控单元Control,运算单元ALU和高速缓冲存储器(Cache)及完结它们之间联络的数据(Data)、操控及状况的总线(Bus)。

简单说,

便是核算单元、操控单元和存储单元。

架构图如下所示:

芯片处理器怎样在深度学习中发挥作用

CPU遵从的是冯诺依曼架构,其中心是存储程序、次序履行。CPU的架构中需求许多的空间去放置存储单元(Cache)和操控单元(Control),比较之下核算单元(ALU)只占有了很小的一部分,所以它在大规模并行核算才干上极受限制,而更擅长于逻辑操控。

CPU无法做到许多矩阵数据并行核算的才干,但GPU能够。

GPU

GPU(Graphics Processing Unit),即图形处理器,是一种由许多运算单元组成的大规模并行核算架构,专为一起处理多重使命而规划。

为什么GPU能够做到并行核算的才干?GPU中也包括根本的核算单元、操控单元和存储单元,但GPU的架构与CPU有所不同,如下图所示:

芯片处理器怎样在深度学习中发挥作用

与CPU比较,CPU芯片空间的不到20%是ALU,而GPU芯片空间的80%以上是ALU。即GPU具有更多的ALU用于数据并行处理。

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

芯片处理器怎样在深度学习中发挥作用

由此可见,GPU处理神经网络数据远远高效于CPU。

总结GPU具有如下特色:

1 、多线程,供给了多核并行核算的根底结构,且中心数十分多,能够支撑许多数据的并行核算。

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

3、更高的浮点运算才干。

因而,GPU比CPU更适宜深度学习中的许多练习数据、许多矩阵、卷积运算。

GPU虽然在并行核算才干上尽显优势,但并不能独自作业,需求CPU的协同处理,关于神经网络模型的构建和数据流的传递仍是在CPU上进行。一起存在功耗高,体积大的问题。

功用越高的GPU体积越大,功耗越高,价格也贵重,关于一些小型设备、移动设备来说将无法运用。

因而,一种体积小、功耗低、核算功用高、核算功率高的专用芯片NPU诞生了。

NPU

NPU (Neural Networks Process Units)神经网络处理单元。NPU作业原理是在电路层仿照人类神经元和突触,而且用深度学习指令集直接处理大规模的神经元和突触,一条指令完结一组神经元的处理。比较于CPU和GPU,NPU经过突触权重完结存储和核算一体化,然后进步运转功率。

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

试验成果显现,平等功耗下NPU 的功用是 GPU 的 118 倍。

与GPU相同,NPU相同需求CPU的协同处理才干完结特定的使命。下面,咱们能够看一下GPU和NPU是怎样与CPU协同作业的。

GPU的加快

GPU当时仅仅单纯的并行矩阵的乘法和加法运算,关于神经网络模型的构建和数据流的传递仍是在CPU上进行。

CPU加载权重数据,依照代码构建神经网络模型,将每层的矩阵运算经过CUDA或OpenCL等类库接口传送到GPU上完结并行核算,输出成果;CPU接着调度基层神经元组矩阵数据核算,直至神经网络输出层核算完结,得到终究成果。

芯片处理器怎样在深度学习中发挥作用

CPU 与GPU的交互流程:

1获取GPU信息,装备GPU id

2 加载神经元参数到GPU

3 GPU加快神经网络核算

4接纳GPU核算成果

NPU的加快

NPU与GPU加快不同,首要体现为每层神经元核算成果不必输出到主内存,而是依照神经网络的衔接传递到基层神经元持续核算,因而其在运算功用和功耗上都有很大的进步。

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

芯片处理器怎样在深度学习中发挥作用

CPU在整个运转过程中,首要是完结数据的加载和业务流程的操控,其交互流程为:

1翻开NPU专用芯片设备

2 传入模型文件,得到模型task

3 获取task的输入输出信息

4 复制输入数据到模型内存中

5 运转模型,得到输出数据

除NPU外,在功耗及核算才干上有一拼的还有FPGA。

FPGA

FPGA(Field-Programmable Gate Array)称为现场可编程门阵列,用户能够依据本身的需求进行重复编程。与 CPU、GPU 比较,具有功用高、功耗低、可硬件编程的特色。

FPGA根本原理是在芯片内集成许多的数字电路根本门电路以及存储器,而用户能够经过烧入FPGA 装备文件来界说这些门电路以及存储器之间的连线。这种烧入不是一次性的,可重复编写界说,重复装备。

FPGA的内部结构如下图所示:

芯片处理器怎样在深度学习中发挥作用

FPGA的编程逻辑块(Programable Logic Blocks)中包括许多功用单元,由LUT(Look-up Table)、触发器组成。FPGA是直接经过这些门电路来完结用户的算法,没有经过指令系统的翻译,履行功率更高。

咱们能够比照一下

CPU/GPU/NPU/FPGA各自的特色

芯片处理器怎样在深度学习中发挥作用

各芯片架构特色总结

【CPU】

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

【GPU】

晶体管大部分构建核算单元,运算复杂度低,适宜大规模并行核算。首要运用于大数据、后台服务器、图画处理。

【NPU 】

在电路层仿照神经元,经过突触权重完结存储和核算一体化,一条指令完结一组神经元的处理,进步运转功率。首要运用于通讯范畴、大数据、图画处理。

【 FPGA】

可编程逻辑,核算功率高,更挨近底层IO,经过冗余晶体管和连线完结逻辑可修改。本质上是无指令、无需同享内存,核算功率比CPU、GPU高。首要运用于智能手机、便携式移动设备、轿车。

CPU作为最通用的部分,协同其他处理器完结着不同的使命。GPU适宜深度学习中后台服务器许多数据练习、矩阵卷积运算。NPU、FPGA在功用、面积、功耗等方面有较大优势,能更好的加快神经网络核算。而FPGA的特色在于开发运用硬件描绘言语,开发门槛相对GPU、NPU高。

能够说,每种处理器都有它的优势和缺乏,在不同的运用场景中,需求依据需求权衡利弊,挑选适宜的芯片。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/341273.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部