加速器参数确定方法及装置、计算机可读介质制造方法及图纸

技术编号:32652225 阅读:24 留言:0更新日期:2022-03-17 10:58
本公开提供了一种加速器参数确定方法,包括:根据预先设置的压缩参数对神经网络进行压缩,并获取压缩后的神经网络的网络参数;根据网络参数生成加速器的架构参数;根据预先设置的资源要求和性能要求对架构参数进行评估,并在评估通过后,输出网络参数和架构参数。本公开还提供了一种加速器参数确定装置和计算机可读介质。可读介质。可读介质。

【技术实现步骤摘要】
加速器参数确定方法及装置、计算机可读介质


[0001]本公开涉及计算机
,特别涉及一种加速器参数确定方法、加速器参数确定装置和计算机可读介质。

技术介绍

[0002]随着神经网络在各种任务的执行效率上超越人工水平,各行各业对于神经网络应用的需求愈发高涨,但是神经网络结构复杂,且参数量和计算量巨大,端侧和边缘侧由于无法提供类似于图形处理器(Graphics Processing Unit,简称GPU)的强大算力,其落地实现遇到巨大阻碍。为了解决这一问题,学者提出了在软硬件层面对神经网络的计算进行加速。
[0003]但现阶段软件层面的各类加速方式有需要探索过程或硬件实现复杂等缺点,硬件层面的各类加速方式同样存在多种问题,例如,加速器运行神经网络的效率较低;性能/资源评估模型过于依赖某种基础架构或者算法;评估模型得到的结果仅仅用于硬件架构设计的优化,并没有和软件加速过程协同起来等。

技术实现思路

[0004]本公开旨在至少解决现有技术中存在的技术问题之一,提出了一种加速器参数确定方法、加速器参数确定装置和计算机可读介质。
[0005]为实现上述目的,第一方面,本公开实施例提供了一种加速器参数确定方法,包括:
[0006]根据预先设置的压缩参数对神经网络进行压缩,并获取压缩后的神经网络的网络参数;
[0007]根据所述网络参数生成加速器的架构参数,其中,所述加速器用于实现对神经网络的运算的加速;
[0008]根据预先设置的资源要求和性能要求对所述架构参数进行评估,并在评估通过后,输出所述网络参数和所述架构参数。
[0009]第二方面,本公开实施例还提供了一种加速器参数确定装置,包括:
[0010]一个或多个处理器;
[0011]存储装置,用于存储一个或多个程序;
[0012]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例中所述的加速器参数确定方法。
[0013]第三方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述实施例中所述的加速器参数确定方法中的步骤。
[0014]本公开具有以下有益效果:
[0015]本公开实施例提供了一种加速器参数确定方法、加速器参数确定装置和计算机可读介质,可通过对神经网络进行压缩,并根据压缩后的神经网络的网络参数生成加速器的
架构参数,以及对架构参数的评估,实现不需要进行实际运行测试确定加速器相应参数,有效缩短了加速器的设计周期,并得出给定硬件资源和性能要求下的近似最优解。
附图说明
[0016]图1为本公开实施例提供的一种加速器参数确定方法的流程图;
[0017]图2为本公开实施例提供的另一种加速器参数确定方法的流程图;
[0018]图3为本公开实施例中步骤S3的一种具体实施方法流程图;
[0019]图4为本公开实施例提供的一种FPGA加速器的结构框图;
[0020]图5为本公开实施例中步骤S301的一种具体实施方法流程图。
具体实施方式
[0021]为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的加速器参数确定方法、加速器参数确定装置和计算机可读介质进行详细描述。
[0022]在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
[0023]本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
[0024]将理解的是,虽然本文可以使用术语第一、第二等来描述各种元件,但这些元件不应当受限于这些术语。这些术语仅用于区分一个元件和另一元件。因此,在不背离本公开的指教的情况下,下文讨论的第一元件、第一组件或第一模块可称为第二元件、第二组件或第二模块。
[0025]除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
[0026]本公开所提供的加速器参数确定方法、加速器参数确定装置和计算机可读介质,可用于通过对神经网络进行压缩,并根据压缩后的神经网络的网络参数生成加速器的架构参数,以及对架构参数的评估,实现在不需要进行实际运行测试的前提下,有效缩短了加速器的设计周期,并得出给定硬件资源和性能要求下的近似最优解
[0027]图1为本公开实施例提供的一种加速器参数确定方法的流程图。如图1所示,该方法包括:
[0028]步骤S1、根据预先设置的压缩参数对神经网络进行压缩,并获取压缩后的神经网络的网络参数。
[0029]其中,压缩参数包括压缩比和神经网络模型的精度等,对神经网络进行压缩包括通过网络剪枝(Pruning)和权重量化等方式对神经网络进行压缩,也即是对神经网络的权
重参数进行压缩。具体地,网络剪枝用于移除不重要的权重参数,鲁棒性较好,且支持预训练,其中,网络剪枝分为结构化剪枝和非结构化剪枝,结构化剪枝对硬件友好,但精度损失较大,非结构化剪枝对硬件不友好,但精度损失较小;权重量化具体有量化、共享和编码过程,与剪枝类似,实现对权重进行结构化、规整的处理,简单的量化、共享和编码过程更有利于硬件实现,但精度损失较大;复杂的量化、共享和编码过程精度损失较小,意味着能够提供更好的压缩效果,但是硬件控制较为复杂。
[0030]步骤S2、根据网络参数生成加速器的架构参数。
[0031]其中,根据网络参数并结合相应加速器的硬件环境和硬件特性,生成该加速器的架构参数,该加速器用于实现对神经网络的运算的加速,架构参数的生成原则为最大化利用加速器的逻辑单元阵列以及缓存。
[0032]特别地,针对卷积神经网络(Convolutional Neural Network,简称CNN),其运算包括卷积计算,卷积计算涉及输入数据、卷积核和输出数据,三者均为三维数组。其中,输入数据具有行列属性,并具有多个层,对应多个通道;卷积核又称为权重,卷积核的层数与输入数据的层数相同,共有多个卷积核;输出数据即卷积计算的结果,输出数据的层数(通道数)取决于卷积核的个数;具体进行卷积时,针对一个卷积核,其在输入数据上滑动,在每个位置,卷积核上的数据点与覆盖的输入数据点一一相乘,所得的乘积,全部累加起来本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加速器参数确定方法,其中,包括:根据预先设置的压缩参数对神经网络进行压缩,并获取压缩后的神经网络的网络参数;根据所述网络参数生成加速器的架构参数,其中,所述加速器用于实现对神经网络的运算的加速;根据预先设置的资源要求和性能要求对所述架构参数进行评估,并在评估通过后,输出所述网络参数和所述架构参数。2.根据权利要求1所述的加速器参数确定方法,其中,所述根据预先设置的压缩参数对神经网络进行压缩,并获取压缩后的神经网络的网络参数的步骤,包括:根据所述压缩参数对神经网络的每一层进行压缩,并获取压缩后的神经网络各层的网络参数。3.根据权利要求2所述的加速器参数确定方法,其中,所述加速器为FPGA加速器,所述架构参数包括:存储器参数,所述存储器参数包括:神经网络各层对应的缓存容量和存储器读写周期数;所述根据预先设置的资源要求和性能要求对所述架构参数进行评估的步骤,包括:根据所述资源要求对所述缓存容量进行评估,以及根据所述性能要求对所述存储器读写周期数进行评估。4.根据权利要求3所述的加速器参数确定方法,其中,所述架构参数还包括:层次循环顺序和分块参数。5.根据权利要求3所述的加速器参数确定方法,其中,所述根据所述资源要求对所述缓存容量进行评估的步骤,包括:比较全部所述缓存容量与其各自对应的资源阈值,其中,所述资源阈值是根据所述资源要求确定的;若全部所述缓存容量均小于或等于其各自对应的资源阈值,对所述缓存容量的评估结果为通过;若存在至少一个所述缓存容量大于其对应的资源阈值,对所述架构参数进行调整,并返回所述比较全部所述...

【专利技术属性】
技术研发人员:熊先奎朱炫鹏徐东王晓星谢帅蒋力
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1