首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 强化学习 / 功率参数的调整方法、装置及强化学习模型训练方法

功率参数的调整方法、装置及强化学习模型训练方法

阅读:733发布:2020-05-14

专利汇可以提供功率参数的调整方法、装置及强化学习模型训练方法专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种功率参数的调整方法及装置、 电子 设备,所述方法包括:确定神经网络处理器在运行时的状态参数和第一功率参数;根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数;以及将所述神经网络处理的功率参数由所述第一功率参数调整到所述第二功率参数。通过调整神经网络处理器的功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。,下面是功率参数的调整方法、装置及强化学习模型训练方法专利的具体信息内容。

1.一种功率参数的调整方法,包括:
确定神经网络处理器在运行时的状态参数和第一功率参数;
根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数;以及
将所述神经网络处理器的功率参数由所述第一功率参数调整到所述第二功率参数;
其中,根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数的具体方法包括:
将所述状态参数和所述第一功率参数输入已训练的强化学习模型;
通过所述强化学习模型计算所述神经网络处理器的所有功率参数所对应的至少一个收益价值;其中,所述收益价值是与所述神经网络处理器运行时的能耗所对应的一个表征值,用于代表所述神经网络处理器运行所浪费的能耗值,所述收益价值与能耗值负相关;
从所述至少一个收益价值中确定最高的收益价值;以及
将所述最高的收益价值对应的功率参数确定为所述神经网络处理器的第二功率参数。
2.根据权利要求1所述的方法,其中,所述方法还包括:
将所述神经网络处理器的状态参数和功率参数传送至训练模,以供所述训练模块训练所述强化学习模型。
3.根据权利要求1所述的方法,其中,所述确定神经网络处理器在运行时的状态参数,包括:
确定所述神经网络处理器在运行时需要处理的数据类型;以及
基于所述数据类型确定所述神经网络处理器的状态参数。
4.一种应用于功率参数调整的强化学习模型的训练方法,包括:
获取神经网络处理器运行时的状态参数和功率参数,其中,所述状态参数和所述功率参数由协处理器获取,所述状态参数基于预设负载状态参数产生;
计算所述状态参数和所述功率参数所代表的收益价值;其中,所述收益价值是与所述神经网络处理器运行时的能耗所对应的一个表征值,用于代表所述神经网络处理器运行所浪费的能耗值;
将所述状态参数、功率参数及对应的所述收益价值作为经验样本存入所述强化学习模型的经验池中;
更新所述功率参数,其中,所述功率参数的更新范围为给定的多个功率参数;以及当所述给定的多个功率参数都具有对应的收益价值时,停止训练所述强化学习模型。
5.根据权利要求4所述的方法,其中,所述方法还包括:
将给定的所述预设负载状态参数通过排列组合的方式获取组合负载状态参数;
获取基于所述组合负载状态参数产生的所述状态参数;以及
基于所产生的所述状态参数对所述强化学习模型进行训练。
6.根据权利要求4或5所述的方法,其中,所述计算所述状态参数和所述功率参数所代表的收益价值,包括:
根据所述状态参数和处理负载所需要的最小状态参数的差值、所述功率参数计算所述收益价值,其中,所述差值与所述收益价值负相关,所述功率参数与所述收益价值负相关。
7.根据权利要求6所述的方法,其中,所述计算所述状态参数和所述功率参数所代表的收益价值,还包括:
对所述差值进行加权处理,和/或,对所述功率参数进行加权处理;以及根据加权处理后的所述差值和/或加权处理后的所述功率参数计算所述收益价值。
8.一种功率参数的调整装置,包括:
第一确定模块,用于确定神经网络处理器在运行时的状态参数和第一功率参数;
第二确定模块,用于根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数;以及
调整模块,用于将所述神经网络处理器的功率参数由所述第一功率参数调整到所述第二功率参数;
其中,所述第二确定模块进一步配置为:
将所述状态参数和所述第一功率参数输入已训练的强化学习模型;
通过所述强化学习模型计算所述神经网络处理器的所有功率参数所对应的至少一个收益价值;其中,所述收益价值是与所述神经网络处理器运行时的能耗所对应的一个表征值,用于代表所述神经网络处理器运行所浪费的能耗值,所述收益价值与能耗值负相关;
从所述至少一个收益价值中确定最高的收益价值;以及
将所述最高的收益价值对应的功率参数确定为所述神经网络处理器的第二功率参数。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的方法。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器
所述处理器,用于执行上述权利要求1-7任一所述的方法。

说明书全文

功率参数的调整方法、装置及强化学习模型训练方法

技术领域

[0001] 本发明涉及处理器技术领域,具体涉及一种神经网络处理器的功率参数调整方法、装置、强化学习模型训练方法及电子设备。

背景技术

[0002] 目前大多数对功耗有一定要求的场景如手机,电脑CPU和GPU等处理器都会支持动态电压频率(Dynamic voltage and frequency scaling,简称为DVFS)调整。对于一个给定的任务,处理器的计算总量是一个常量,只有在降低频率的同时降低电压,才能真正地降低能量的消耗。
[0003] 现有技术大多是针对CPU处理器来设计DVFS管理策略,然而,随着人工智能技术的发展,神经网络处理器(NPU)的应用也越来越多。但是,CPU处理器与神经网络处理器的架构不一致,且基于CPU处理器的DVFS算法依赖于运行在CPU处理器本身的软件进行操作,而NPU处理器因为其专用化程度高,无法运行CPU处理器相应的软件。因此,亟需一种针对NPU处理器的DVFS管理方法。

发明内容

[0004] 为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种功率参数的调整方法,解决了针对NPU处理器的DVFS管理方法。
[0005] 根据本申请的一个方面,提供了一种功率参数的调整方法,包括:确定神经网络处理器在运行时的状态参数和第一功率参数;根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数;以及将所述神经网络处理的功率参数由所述第一功率参数调整到所述第二功率参数。
[0006] 根据本申请的另一个方面,提供了一种应用于功率参数调整的强化学习模型的训练方法,包括:获取神经网络处理器运行时的状态参数和功率参数,其中,所述状态参数和所述功率参数由协处理器获取,所述状态参数基于预设负载状态参数产生;计算所述状态参数和所述功率参数所代表的收益价值;将所述状态参数、功率参数及对应的所述收益价值作为经验样本存入所述强化学习模型的经验池中;更新所述功率参数,其中,所述功率参数的更新范围为给定的多个功率参数;以及当所述给定的多个功率参数都具有对应的收益价值时,停止训练所述强化学习模型。
[0007] 根据本申请的另一个方面,提供了一种功率参数的调整装置,包括:第一确定模,用于确定所述神经网络处理器在运行时的状态参数和第一功率参数;第二确定模块,用于根据所述状态参数和所述第一功率参数确定所述神经网络处理器的第二功率参数;以及调整模块,用于将所述神经网络处理器的功率参数由所述第一功率参数调整到所述第二功率参数。
[0008] 根据本申请的另一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的方法。
[0009] 根据本申请的另一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述任一所述的方法。
[0010] 本申请实施例提供的功率参数的调整方法,通过确定神经网络处理器在运行时的状态参数和第一功率参数,根据状态参数和第一功率参数确定神经网络处理器的第二功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。附图说明
[0011] 通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0012] 图1是本申请所适用的神经网络处理器的功率参数调整的系统图。
[0013] 图2是本申请一示例性实施例提供的功率参数的调整方法的流程示意图。
[0014] 图3是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。
[0015] 图4是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。
[0016] 图5是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。
[0017] 图6是本申请一示例性实施例提供的强化学习方法的流程示意图。
[0018] 图7是本申请另一示例性实施例提供的强化学习方法的流程示意图。
[0019] 图8是本申请一示例性实施例提供的功率参数的调整装置的结构图。
[0020] 图9是本申请一示例性实施例提供的第一确定模块的结构图。
[0021] 图10是本申请一示例性实施例提供的强化学习模型训练装置的结构图。
[0022] 图11是本申请另一示例性实施例提供的强化学习模型训练装置的结构图。
[0023] 图12是本申请一示例性实施例提供的电子设备的结构图。

具体实施方式

[0024] 下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
[0025] 申请概述
[0026] 本申请可以应用于任何使用神经网络处理器进行任务处理的领域。例如,本申请实施例可以应用于图像处理或者语音处理等场景下,本申请是针对神经网络处理器的动态电压和频率的调整方法和装置,因此,只要是有神经网络处理器的领域均可以采用本申请所提供的方法和装置。
[0027] 如上所述,在能量有限的应用场景下,如手机、电脑等带有处理器的设备在没有联通电源时,为了尽可能的延长使用设备的运行时间,通常会对处理器进行动态电压频率的调整,即根据负载的情况以及处理器运行的状态调整处理器的电压和频率,以保证处理器的功耗较低,从而降低处理器的能耗,节省能量。
[0028] 然而现有的对处理器的动态电压频率的调整都是针对CPU处理器来设计的管理策略,而随着人工智能技术的发展,神经网络处理器(NPU)的应用也越来越多。但是,CPU处理器与神经网络处理器的架构不一致,且基于CPU处理器的DVFS算法依赖于运行在CPU处理器本身的软件进行操作,而NPU处理器因为其专用化程度高,无法运行CPU处理器相应的软件。因此,不能直接将针对CPU处理器的动态电压频率的调整方法应用于NPU处理器上。
[0029] 针对上述的技术问题,本申请的基本构思是提出一种功率参数的调整方法,通过确定神经网络处理器在运行时的状态参数和第一功率参数,根据状态参数和第一功率参数确定神经网络处理器的第二功率参数,并且也将神经网络处理的功率参数由第一功率参数调整到第二功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。
[0030] 在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
[0031] 示例性系统
[0032] 图1是本申请所适用的神经网络处理器的功率参数调整的系统图。如图1所示,本申请实施例中的神经网络处理器的功率参数调整的系统包括神经网络处理器1和协处理器2,其中,神经网络处理器1与协处理器2通信连接。通过协处理器2确定神经网络处理器1在运行时的状态参数和第一功率参数,根据状态参数和第一功率参数确定神经网络处理器1的第二功率参数,并且也将状态参数做相应调整。
[0033] 神经网络处理器1运行并处理负载时,协处理器2根据神经网络处理器1运行时的状态参数和第一功率参数,确定神经网络处理器1的第二功率参数以实现神经网络处理器1的功率参数的调整,从而实现神经网络处理器1运行在能耗最优的状态,达到节省能耗的目的。
[0034] 神经网络处理器1的负载可以包括图像、语音等,状态参数也可以相应的包括温度和性能参数。其中,性能参考可以包括运行率、语音延时时间等,在神经网络处理器1的运行过程中,通常会利用协处理器2实现神经网络处理器1的性能调度工作,因此,神经网络处理器1的性能参数也存在于协处理器2中。温度可以是神经网络处理器1的核心温度,可以通过设置于神经网络处理器1处的晶体管直接得到神经网络处理器1的核心温度值,协处理器2也可以从该晶体管处读取神经网络处理器1的核心温度。
[0035] 示例性方法
[0036] 图2是本申请一示例性实施例提供的功率参数的调整方法的流程示意图。本实施例可应用在电子设备上,如图2所示,包括如下步骤:
[0037] 步骤210:确定神经网络处理器1在运行时的状态参数和第一功率参数。
[0038] 在一实施例中,状态参数可以基于神经网络处理器需要处理的数据类型来确定,例如,当数据类型为图像数据时,状态参数可以包括帧率和神经网络处理器1的温度;当数据类型为语音数据时,状态参数可以包括语音延时时间和经网络处理器1的温度。
[0039] 在一实施例中,第一功率参数可以包括电压、电流及频率。当神经网络处理器1在处理负载时会产生相应的第一功率参数的数值,即产生相应的电压值、电流值及频率值,而电压值、电流值及频率值能够反映神经网络处理器1的瞬时能耗。
[0040] 当神经网络处理器1在处理负载时,例如,在进行图像数据处理时,神经网络处理器1会根据处理图像的帧率以及图像的参数(包括图像的帧率和分辨率等)对图像进行处理,从而会产生相应的状态参数的具体数值,包括温度值、帧率值等;在进行语音数据处理时,神经网络处理器1根据处理语音的延时时间等对语音进行处理,从而产生相应的状态参数的具体数值,包括延时时间和神经网络处理器的温度值等。神经网络处理器的状态参数也能反映神经网络处理器1的运行状态,从而可以根据神经网络处理器1运行时的状态参数确定其运行状态。
[0041] 步骤220:根据状态参数和第一功率参数确定神经网络处理器1的第二功率参数。
[0042] 在一实施例中,第二功率参数可以包括电压、电流及频率。当根据神经网络处理器1当前的状态参数和第一功率参数确定其不是运行在最优状态时,根据当前的状态参数和第一功率参数确定神经网络处理器1的第二功率参数。其中,第二功率参数及对应的状态参数为神经网络处理器1的最优运行状态,最优运行状态可以是神经网络处理器1在满足负载需求的前提下,神经网络处理器1的输出功率最小且核心温度小于预设的温度阈值
[0043] 步骤230:将神经网络处理器1的功率参数由第一功率参数调整到第二功率参数。
[0044] 在确定了神经网络处理器1的第二功率参数后,将神经网络处理器1的功率参数调整为第二功率参数,以实现神经网络处理器1运行在最优运行状态。
[0045] 本申请实施例提供的功率参数的调整方法,通过状态参数和第一功率参数确定神经网络处理器的第二功率参数,并将神经网络处理的功率参数调整为第二功率参数,由于第二功率参数综合考虑到了神经网络处理器自身的状态参数以及功率参数,因此通过将神经网络处理器的功率参数由第一功率参数调整到第二功率参数,可以使神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。
[0046] 图3是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。如图3所示,步骤220可以包括子步骤:
[0047] 步骤221:将状态参数和第一功率参数输入已训练的强化学习模型。
[0048] 强化学习是智能体(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价,而不是告诉强化学习模型如何去产生正确的动作。由于外部环境提供的信息很少,强化学习模型必须靠自身的经历进行学习,通过这种方式,强化学习模型在行动-评价的环境中获得知识,改进行动方案以适应环境。本申请实施例中的强化学习模型可以为Q learning模型、Deep Q learning模型、Sarsa模型、Policy Gradients模型等。
[0049] 步骤222:通过强化学习模型计算神经网络处理器1的第二功率参数。
[0050] 本实施例中,选取强化学习模型输出的收益最高的功率参数为第二功率参数,通过设置强化学习模型,以简单的实现第二功率参数的获取,避免了复杂的计算公式或逻辑运算。
[0051] 图4是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。如图4所示,步骤222可以包括子步骤:
[0052] 步骤2221:通过强化学习模型计算神经网络处理器的所有功率参数所对应的至少一个收益价值。
[0053] 本实施例中,收益价值可以是与神经网络处理器运行时的能耗所对应的一个表征值,用于代表神经网络处理器运行所浪费的能耗值,即收益价值与能耗负相关。
[0054] 步骤2222:从至少一个收益价值中确定最高的收益价值。
[0055] 步骤2223:将最高的收益价值对应的功率参数确定为神经网络处理器的第二功率参数。
[0056] 本实施例中,通过已经完成学习的强化学习模型计算神经网络处理器的所有功率参数所对应的至少一个收益价值,并从中选取最高的收益价值所对应的功率参数作为神经网络处理器的第二功率参数,以实现神经网络处理器运行在最优运行状态。
[0057] 图5是本申请另一示例性实施例提供的功率参数的调整方法的流程示意图。如图5所示,步骤210可以包括子步骤:
[0058] 步骤211:确定神经网络处理器1在运行时需要处理的数据类型。
[0059] 在一实施例中,神经网络处理器1需要处理的数据类型可以包括图像数据、语音数据等。
[0060] 步骤212:基于数据类型确定神经网络处理器1的状态参数。
[0061] 根据神经网络处理器1所处理的数据类型确定神经网络处理器1的状态参数。例如,当神经网络处理器1所处理的数据类型是图像数据时,相应的状态参数可以包括神经网络处理器1的核心温度、运行帧率和性能参数;当神经网络处理器1所处理的数据类型是语音数据时,相应的状态参数可以包括神经网络处理器1的核心温度、语音延时时间。
[0062] 应当理解,本申请实施例可以根据不同的数据类型而选取不同的状态参数,只要所选取的状态参数能够反映神经网络处理器的运行状态即可,本申请实施例对于状态参数的具体内容不做限定。
[0063] 图6是本申请一示例性实施例提供的强化学习方法的流程示意图。如图6所示,该强化学习方法可以包括如下步骤:
[0064] 步骤510:获取神经网络处理器运行时的状态参数和功率参数。其中,状态参数和功率参数由协处理器获取,状态参数基于预设负载状态参数产生。
[0065] 本实施例中的强化学习模型的训练可以在训练模块(如服务器)中进行,并且在训练的过程中,可以由协处理器2将神经网络处理器1的状态参数传送至该训练模块,以供训练模块训练该强化学习模型。该强化学习模型在训练模块中训练完成后,将该强化学习模型传送至协处理器2中,由协处理器2实现该强化学习模型的执行过程。
[0066] 步骤520:计算状态参数和功率参数所代表的收益价值。
[0067] 强化学习过程是一种在训练初始不需要提供数据样本的机器学习方式,其核心理念在于使得被训练的强化学习模型以“试错”的方式进行学习,通过与环境进行交互获得的收益,并利用收益来指导动作行为,强化学习的目标是使被训练的强化学习模型可以获得最大的收益。
[0068] 步骤530:将状态参数、功率参数及对应的收益价值作为经验样本存入经验池中。
[0069] 本申请实施例通过计算收益价值,将每次学习输出的功率参数转化为收益价值,并将状态参数、功率参数及收益价值作为强化学习模型的经验池中的经验样本。在执行时,根据神经网络处理器运行负载所产生的不同的状态参数,在该经验池中选取对应的收益价值最高的功率参数作为模型的输出。即负载决定了当前的神经网络处理器的运行状态,根据该运行状态从经验池中选取收益价值最高的功率参数作为神经网络处理器的最优的功率参数,以实现神经网络处理器运行在能耗最优的状态。
[0070] 步骤540:更新功率参数。其中,功率参数的更新范围为给定的多个功率参数。
[0071] 根据给定的功率参数的取值依次更新功率参数,以计算给定的所有功率参数所对应的收益价值,以提供足够多的经验样本来满足执行时的需求。
[0072] 步骤550:当给定的多个功率参数都具有对应的收益价值时,停止训练强化学习模型。
[0073] 由于处理器(包括神经网络处理器)在实际运行过程中只能在有限个功率参数中选取一个,即处理器的功率参数是离散存在的,而非连续变化的,因此,在处理负载时,处理器理论上最优的功率参数取值并不一定在给定的功率参数内,而实际执行过程中只能在给定的功率参数中选取一个最为最优的功率参数。针对本领域的特殊性,在训练强化学习模型时,需要尽可能提高模型的泛化能,即需要强化学习模型的经验池中包含执行过程中可能涉及到的所有样本,这样才能保证执行时所产生的状态参数和功率参数在该模型的经验池中均有对应的经验样本,因此,在给定的多个功率参数都分别计算了对应的收益价值后,停止训练强化学习模型。
[0074] 本申请实施例通过计算收益价值,并将状态参数、功率参数及对应的收益价值作为经验样本存入经验池中,在实际执行过程中,选取收益价值最高的功率参数作为神经网络处理器最优的功率参数,实现根据神经网络处理器当前的状态参数和第一功率参数来确定神经网络处理器的第二功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。
[0075] 在一实施例中,本申请还可以根据离散的功率参数拟合得出一个连续变化的趋势,从而得到连续的收益价值与功率参数的对应关系,当运行负载的理论最优功率参数不存在于给定的功率参数范围内时,可以选取功率参数范围内与理论最优功率参数最近的功率参数作为最优的功率参数。
[0076] 在一实施例中,在强化学习模型的训练过程中,还可以将状态参数对应的收益价值不高或不是最高的经验样本删除,经验池中只保留最优的经验样本,这样可以提高执行过程中的调整效率。
[0077] 在一实施例中,停止训练强化学习模型的条件还可以是:计算得到的收益价值大于第一预设收益阈值。通过设置第一预设收益阈值,在计算某一功率参数代表的收益价值后对其判断是否达到最优,当判断结果为该功率参数所代表的收益价值已经达到最优时,可以停止训练,简化训练的过程;否则,继续训练该强化学习模型。
[0078] 在一实施例中,上述强化学习模型的训练方法还可以包括:当所有给定的功率参数所代表的收益价值都小于或等于第一预设收益阈值时,选取最大收益所对应的训练控制信息为强化学习模型的输出,停止训练强化学习模型。
[0079] 应当理解,本申请实施例可以根据不同的应用场景选取不同的停止训练的条件,只要所选取的停止训练的条件能够实现强化学习模型的训练即可,本申请实施例中的停止训练的条件包括但不限于上述的任意种条件。
[0080] 图7是本申请另一示例性实施例提供的强化学习方法的流程示意图。如图7所示,本申请实施例的强化学习模型训练方法还可以包括如下步骤:
[0081] 步骤610:将给定的预设负载状态参数通过排列组合的方式获取组合负载状态参数。
[0082] 具体而言,预设负载状态参数可以包括以下参数中的任一种或多种的组合:负载数量,负载分辨率,负载类型,负载延时时间,负载帧率,负载处理所需的网络层数和类型。在进一步的实施例中,负载分辨率可以包括以下任一种:1080p、720p;和/或,负载帧率可以包括以下任一种帧率值:10帧/每秒、24帧/每秒、30帧/每秒;和/或,负载类型可以包括以下任一种类型:检测、跟踪、识别。
[0083] 为了得到更多的负载状态参数,本申请实施例可以将给定的所有负载状态参数通过排列组合的方式获取新的组合负载状态参数。例如,给定的负载状态参数包括第一负载状态参数和第二负载状态参数,其中,第一负载状态参数为分辨率720P、帧率10帧/每秒的单个图像的检测任务,第二负载状态参数为分辨率1080P、帧率24帧/每秒的两个图像的识别任务。在分别针对第一负载状态参数和第二负载状态参数进行强化学习后,可以有第一负载状态参数和第二负载状态参数通过排列组合的方式获取组合负载状态参数,该组合负载状态参数包括:分辨率720P、帧率24帧/每秒的单个图像的检测任务,分辨率1080P、帧率10帧/每秒的单个图像的检测任务,分辨率720P、帧率10帧/每秒的两个图像的识别任务等。
[0084] 步骤620:获取基于组合负载状态参数产生的状态参数。
[0085] 步骤630:基于所产生的状态参数对强化学习模型进行训练。
[0086] 将获取的新的组合负载状态参数输入神经网络处理器以产生新的状态参数,并以此新的状态参数进一步训练强化学习模型,以提高该强化学习模型的应用范围及精确度。
[0087] 应当理解,本申请实施例中只是示例性的给出了两个给定的负载状态参数,在实际的应用中,给定的负载状态参数可以是两个或两个以上,并且以上是示例性说明中也只列举出了部分组合负载状态参数,本申请实施例可以根据给定的负载状态参数获取非常多的组合负载状态参数来训练该强化学习模型,在给定的负载状态参数有限的条件下,尽可能获取最多的负载状态参数训练该强化学习模型,以最大限度的提高该强化学习模型的应用范围,同时也能提高该强化学习模型的精确度。
[0088] 在一实施例中,上述步骤520的具体实现方式可以包括:根据状态参数和处理负载所需要的最小状态参数的差值、功率参数计算收益价值,其中,状态参数与处理负载所需要的最小状态参数的差值与收益价值负相关,功率参数与收益价值负相关。更新收益价值的方式可以是通过状态参数和功率参数计算得到,其中,收益价值与状态参数满足处理负载需要的程度(即状态参数与处理负载所需要的最小状态参数的差值)负相关,收益价值与功率参数负相关。即状态参数超出负载需要越多、功率参数越大,则收益价值的取值越小,因此,要想得到收益价值最大,就要求状态参数超出负载需要尽量最小、功率参数尽量最小。
[0089] 在一实施例中,上述步骤520的具体实现方式还可以包括:对状态参数与处理负载所需要的最小状态参数的差值进行加权处理,加权处理后的差值与收益价值负相关;和/或,对功率参数进行加权处理,加权处理后的功率参数与收益价值负相关。根据状态参数和功率参数对于强化训练模型输出结果的重要性,可以对状态参数和/或功率参数进行加权,并通过加权处理后的状态参数和功率参数计算收益价值,从而改变状态参数和功率参数对收益价值的影响程度,以加快强化训练模型的收敛速度。
[0090] 在一实施例中,当负载为图像数据时,上述步骤520的具体实现公式可以具体为:R(a)=-((a-a0)*β+P);其中,R为收益价值,a为运行帧率,a0为负载帧率,β为加权系数,P为神经网络处理器的运行功率。通过该公式可以根据状态参数满足处理负载需要的程度(即运行帧率与负载帧率之差)和功率参数(即神经网络处理器的输出功率)直接计算得到。
[0091] 应当理解,本申请实施例可以根据不同的应用场景而选取不同的加权系数,可以理解上述公式中输出功率的加权系数为1,当然,也可以根据需求选择输出功率的加权系统,本申请对于上述公式中的加权系数不做限定。应当理解,上述公式只是本申请实施例给出的示例性的计算收益价值的一种方式,本申请实施例可以选取其他的公式计算收益价值,本申请实施例对于收益价值计算公式不做限定。
[0092] 示例性装置
[0093] 本申请提供的一种神经网络处理器的功率参数的调整装置,用于实现上述神经网络处理器的功率参数的调整方法。
[0094] 图8是本申请一示例性实施例提供的功率参数的调整装置的结构图。如图8所示,该调整装置包括:第一确定模块21,用于确定神经网络处理器1在运行时的状态参数和第一功率参数;第二确定模块22,用于根据状态参数和第一功率参数确定神经网络处理器1的第二功率参数;以及调整模块11,用于将神经网络处理1的功率参数由第一功率参数调整到第二功率参数。
[0095] 本申请实施例提供的功率参数的调整装置,通过第一确定模块确定神经网络处理器在运行时的状态参数和第一功率参数,第二确定模块根据状态参数和第一功率参数确定神经网络处理器的第二功率参数,并由调整模块将神经网络处理器的功率参数调整为第二功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。
[0096] 在一实施例中,第一确定模块21及第二确定模块22可以设置于协处理器2中,其中,协处理器2与神经网络处理器1通信连接,用于协助调整神经网络处理器1运行时的功率参数。
[0097] 在一实施例中,调整模块11可以设置于神经网络处理器1中,用于在确定了神经网络处理器1的第二功率参数后,将神经网络处理1的功率参数由第一功率参数调整到第二功率参数。
[0098] 在一实施例中,第二确定模块22可以配置为:
[0099] 将状态参数和第一功率参数输入已训练的强化学习模型,通过强化学习模型计算神经网络处理器1的第二功率参数。通过设置强化学习模型,以简单的实现第二功率参数的获取,避免了复杂的计算公式或逻辑运算。
[0100] 图9是本申请一示例性实施例提供的第一确定模块的结构图。如图9所示,第一确定模块21可以包括:
[0101] 任务确定子模块211,用于确定神经网络处理器1在运行时处理的数据类型。
[0102] 状态参数确定子模块212,用于基于数据类型确定神经网络处理器1的状态参数。
[0103] 根据神经网络处理器1所处理的数据类型确定神经网络处理器1的状态参数。例如,当神经网络处理器1所处理的数据类型是图像处理时,相应的状态参数可以包括神经网络处理器1的核心温度、运行帧率、运行电压、运行电流和性能参数;当神经网络处理器1所处理的数据类型是语音处理时,相应的状态参数可以包括神经网络处理器1的核心温度、运行电压、运行电流、语音延时时间。
[0104] 图10是本申请一示例性实施例提供的强化学习模型训练装置的结构图。如图10所示,包括:
[0105] 获取模块31,用于获取神经网络处理器运行时的状态参数和功率参数,其中,状态参数和功率参数由协处理器获取,状态参数基于预设负载状态参数产生。
[0106] 计算模块32,用于计算状态参数和功率参数所代表的收益价值。
[0107] 样本建立模块33,用于将状态参数、功率参数及对应的收益价值作为经验样本存入经验池中。通过计算收益价值,将每次学习输出的功率参数转化为收益价值,并将状态参数、功率参数及收益价值作为强化学习模型的经验池中的经验样本。在执行时,根据神经网络处理器运行负载所产生的不同的状态参数,在该经验池中选取对应的收益价值最高的功率参数作为模型的输出。
[0108] 更新模块34,用于更新功率参数,其中,功率参数的更新范围为给定的多个功率参数。根据给定的功率参数的取值依次更新功率参数,以计算给定的所有功率参数所对应的收益价值,以提供足够多的经验样本来满足执行时的需求。
[0109] 停止模块35,用于当给定的多个功率参数都具有对应的收益价值时,停止训练强化学习模型。在训练强化学习模型时,需要尽可能提高模型的泛化能力,即需要强化学习模型的经验池中包含执行过程中可能涉及到的所有样本,这样才能保证执行时所产生的状态参数和功率参数在该模型的经验池中均有对应的经验样本,因此,在给定的多个功率参数都分别计算了对应的收益价值后,停止训练强化学习模型。
[0110] 本申请实施例通过计算收益价值,并将状态参数、功率参数及对应的收益价值作为经验样本存入经验池中,在实际执行过程中,选取收益价值最高的功率参数作为神经网络处理器最优的功率参数,实现根据神经网络处理器当前的状态参数和第一功率参数来确定神经网络处理器的第二功率参数,以实现神经网络处理器运行在能耗最优的状态,达到节省能耗的目的。
[0111] 在一实施例中,停止模块235可以配置为:计算得到的收益价值大于第一预设收益阈值。通过设置第一预设收益阈值,在计算某一功率参数代表的收益价值后对其判断是否达到最优,当判断结果为该功率参数所代表的收益价值已经达到最优时,可以停止训练,简化训练的过程;否则,继续训练该强化学习模型。
[0112] 在一实施例中,停止模块235可以进一步配置为:当所有给定的功率参数所代表的收益价值都小于或等于第一预设收益阈值时,选取最大收益所对应的训练控制信息为强化学习模型的输出,停止训练强化学习模型。
[0113] 图11是本申请另一示例性实施例提供的强化学习模型训练装置的结构图。如图11所示,训练装置3还可以包括:
[0114] 负载组合模块36,用于将给定的所有预设负载状态参数通过排列组合的方式获取组合负载状态参数。并且获取模块33获取基于组合负载状态参数产生的状态参数和功率参数进行训练。
[0115] 通过将获取的新的组合负载状态参数输入神经网络处理器以产生新的状态参数和功率参数,并以此新的状态参数和功率参数进一步训练强化学习模型,可以提高该强化学习模型的应用范围及精确度。
[0116] 在一实施例中,更新模块34可以配置为:根据状态参数和处理负载所需要的最小状态参数的差值、功率参数计算收益价值,其中,状态参数与处理负载所需要的最小状态参数的差值与收益价值负相关,功率参数与收益价值负相关。更新收益价值的方式可以是通过状态参数和功率参数计算得到,其中,收益价值与状态参数满足处理负载需要的程度(即状态参数与处理负载所需要的最小状态参数的差值)负相关,收益价值与功率参数负相关。即状态参数超出负载需要越多、功率参数越大,则收益价值的取值越小,因此,要想得到收益价值最大,就要求状态参数超出负载需要尽量最小、功率参数尽量最小。
[0117] 在一实施例中,更新模块34还可以配置为:对状态参数与处理负载所需要的最小状态参数的差值进行加权处理,加权处理后的差值与收益价值负相关;和/或,对功率参数进行加权处理,加权处理后的功率参数与收益价值负相关。根据状态参数和功率参数对于强化训练模型输出结果的重要性,可以对状态参数和/或功率参数进行加权,并通过加权处理后的状态参数和功率参数计算收益价值,从而改变状态参数和功率参数对收益价值的影响程度,以加快强化训练模型的收敛速度。
[0118] 在一实施例中,当负载为图像时,更新模块34可以配置为:R(a)=-((a-a0)*β+P);其中,R为奖励函数的反馈变量,a为运行帧率,a0为负载帧率,β为加权系数,P为神经网络处理器的运行功率。通过该公式可以根据状态参数满足处理负载需要的程度(即运行帧率与负载帧率之差)和功率参数(即神经网络处理器的输出功率)直接计算得到。
[0119] 示例性电子设备
[0120] 图12图示了根据本申请实施例的电子设备的框图。需要说明的是,当电子设备执行上述图2至图5所示实施例的方法流程时,其可以为摄像装置、录音装置、智能装置等电子设备。当电子设备执行上述图6至图7所示实施例的方法流程时,其可以为技术人员用于训练强化学习模型的服务器等电子设备。
[0121] 如图12所示,电子设备11包括一个或多个处理器111和存储器112。
[0122] 处理器111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
[0123] 存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的功率参数调整方法或强化学习模型的训练方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
[0124] 在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
[0125] 例如,该输入装置113可以是上述的摄像头或麦克、麦克风阵列等,用于捕捉图像或声源的输入信号。在该电子设备是单机设备时,该输入装置123可以是通信网络连接器,用于从神经网络处理器接收所采集的输入信号。
[0126] 此外,该输入设备113还可以包括例如键盘鼠标等等。
[0127] 该输出装置114可以向外部输出各种信息,包括确定出的输出电压、输出电流信息等。该输出设备114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
[0128] 当然,为了简化,图12中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
[0129] 示例性计算机程序产品和计算机可读存储介质
[0130] 除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请图2至图5所示实施例的功率参数调整方法或图6至图7强化学习模型的训练方法中的步骤。
[0131] 所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0132] 此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的功率参数调整方法或强化学习模型的训练方法中的步骤。
[0133] 所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0134] 以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
[0135] 本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0136] 还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
[0137] 提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0138] 为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈