[发明专利]用于加速神经网络处理器的方法和系统及神经网络处理器在审
申请号: | 201710777737.8 | 申请日: | 2017-09-01 |
公开(公告)号: | CN107491811A | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 韩银和;许浩博;王颖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇,苏晓丽 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 加速 神经网络 处理器 方法 系统 | ||
技术领域
本发明涉及神经网络处理器,尤其涉及加速神经网络模型计算的方法。
背景技术
深度学习近些年来取得了重大突破,采用深度学习算法训练的神经网络模型在图像识别、语音处理、智能机器人等应用领域取得了令人瞩目的成果。深度神经网络通过建立模型来模拟人类大脑的神经连接结构,在处理图像、声音和文本等信号时,通过多个变换阶段分层对数据特征进行描述。随着神经网络复杂度的不断提高,神经网络技术在实际应用过程中存在占用资源多、运算速度慢、能量消耗大等问题。采用硬件加速器替代传统软件计算的方法成为提高神经网络计算效率的行之有效方式,例如利用通用图形处理器、专用处理器芯片和现场可编程逻辑阵列(FPGA)实现的神经网络处理器。
目前神经网络处理器通常将已训练好的权重数据作为输入信号与数据信号一起进行片上运算操作。神经网络处理器属于计算密集型和访存密集型处理器。一方面,神经网络模型中包括大量乘法加法运算及其他非线性运算,需要神经网络处理器保持高负载运行,以保障神经网络模型的运算需求;另一方面,神经网络运算过程中存在大量的参数迭代,计算单元需要对存储器进行大量访问。随着神经网络数据规模的不断增长,密集访存操作不仅占用神经网络处理器的大量片上资源,还降低了其运算速度。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种改善神经网络处理器运算速度的方法及对应的神经网络处理器。
本发明的目的是通过以下技术方案实现的:
一方面,本发明提供了一种用于加速神经网络处理器的方法,所述方法包括:
步骤1)从待处理的神经网络模型的原始数据和权重中提取非零元素及其相对位置,并分别加载至神经网络处理器的数据存储单元和权重存储单元;
步骤2)对来自所述权重存储单元的权重和来自数据存储单元的数据进行匹配,仅将相对位置相同的权重和数据加载至神经网络处理器的计算单元参与运算。
在上述方法中,还可包括从来自神经网络处理器的计算单元的输出数据中提取非零元素及其相对位置,并将其保存到数据存储单元。
又一方面,本发明提供了一种神经网络处理器,包括控制单元、计算单元、权重存储单元、数据存储单元,数据匹配单元,其中控制单元用于控制相关数据的调度、运算与存储;权重存储单元存储已经训练好的神经网络权重中非零元素及其相对位置;数据存储单元存储神经网络原始数据及中间结果数据中非零元素及其相对位置;数据匹配单元用于对来自所述权重存储单元的权重和来自数据存储单元的数据进行匹配,仅将相对位置相同的权重和数据加载至计算单元中。
在上述神经网络处理器中,还可包括数据压缩单元,用于从来自计算单元的输出数据中提取非零元素及其相对位置,并将其保存到数据存储单元。
在上述神经网络处理器中,数据匹配单元可包含在各个计算单元中。
在上述神经网络处理器中,各个计算单元可并行工作,控制单元调度不同的权重值接入不同的计算单元,并控制来自数据存储单元的数据由各个计算单元共享,每个计算单元中相应的数据匹配单元对于输入的数据和权重进行匹配以判断是否对其进行运算。
在上述神经网络处理器中,数据匹配单元可包括一个或多个比较器。
在上述神经网络处理器中,数据压缩单元可包括输入寄存器、输出寄存器和比较器,输入寄存器接收来自计算单元的数据,通过比较器判断该数据是否为零值,如果不为零则将该数据及对应的寄存器编号载入至输出寄存器中。
又一方面,本发明还提供了一种用于加速神经网络处理器的系统,所述系统包括:
数据预处理装置,用于从待处理的神经网络模型的原始数据和权重中提取非零元素及其相对位置,并分别加载至神经网络处理器的数据存储单元和权重存储单元;
数据匹配装置,对来自所述权重存储单元的权重和来自数据存储单元的数据进行匹配,仅将相对位置相同的权重和数据加载至神经网络处理器的计算单元参与运算。
在上述系统中,还可包括:
数据压缩装置,对于来自神经网络处理器的计算单元的输出数据中提取非零元素及其相对位置,并将其保存到神经网络处理器的数据存储单元中。
与现有技术相比,本发明的优点在于:
本发明有效降低了神经网络处理器所处理的数据规模,从而减少片上存储开销,加快了运算速度并降低了能耗,使得神经网络处理系统性能更高效。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710777737.8/2.html,转载请声明来源钻瓜专利网。