本发明涉及神经网络推测领域,尤其涉及一种神经网络模型稀疏化方法、装置以及设备。
背景技术:
1、神经网络模型是一种计算模型,神经网络模型由大量的人工神经元组成,神经元之间通过加权连接进行通信。神经网络模型通常由多个层构成,每一层都包含多个神经元,并且与下一层的神经元相连接。神经网络模型通常包括输入层、隐藏层、输出层、权重、偏置、激活函数,神经网络模型适用于各种复杂的任务,如图像识别、语音识别、自然语言处理等,神经网络模型的性能优势主要体现在对非线性、高维数据的处理能力和学习能力。
2、对规模较大的神经网络模型(例如大语言模型)进行推理时,由于计算复杂高,导致推理使用的时候能耗高,等待时间久。通过对神经网络模型稀疏化,能够减少计算量和加速模型推理,达到减少算力消耗和减少等待时间的目的。规模较大的神经网络模型的层数多,且每层权重特征不同,目前的做法为每层均采用统一的稀疏度设置。但规模较大的神经网络模型中部分层可供稀疏化程度高,部分层可供稀疏化程度低,进而造成部分层信息损失或部分层未充分稀疏化。有鉴于此,如何针对性地对神经网络模型进行稀疏化设置是亟待解决地问题。
技术实现思路
1、本技术实施例通过提供一种神经网络模型稀疏化方法、装置以及设备,解决了现有技术中神经网络模型进行稀疏化时,稀疏分配程度不合理的技术问题,实现了合理地为神经网络模型各层分配稀疏度的技术效果。
2、第一方面,本技术提供了一种神经网络模型稀疏化方法,方法包括:
3、确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵;
4、根据目标层对应的权重重要性矩阵,确定该目标层在预设初始稀疏度下的若干个目标待剪枝位置;
5、针对每个目标层,根据目标层的预设初始稀疏度,对该目标层中的若干个目标待剪枝位置进行剪枝后,确定目标待稀疏化神经网络模型的初始精度指标,其中,各目标层的预设初始稀疏度相同;
6、基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对目标待稀疏化神经网络模型的初始精度指标进行更新,得到目标精度指标,其中,目标层之间的稀疏度总和不变;
7、当达到最大迭代次数或达到预设迭代终止条件时,将目标精度指标对应的稀疏度分配作为目标待稀疏化神经网络模型的目标稀疏度分配。
8、进一步地,基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对目标待稀疏化神经网络模型的初始精度指标进行更新,得到目标精度指标,包括:
9、在预设模拟退火算法中设定第一初始条件,第一初始条件包括初始温度、冷却速率以及最大迭代次数,并重复执行步骤s1401-s1404;
10、步骤s1401,调整两个目标层之间的稀疏度分配,并确定调整后的第一精度指标;
11、步骤s1402,根据第一精度指标、初始精度指标以及第一初始条件,确定将第一精度指标作为目标精度指标的目标概率;
12、步骤s1403,根据目标概率,对目标精度指标进行更新;
13、步骤s1404,对初始温度进行更新。
14、进一步地,基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对目标待稀疏化神经网络模型的初始精度指标进行更新,包括:
15、在预设遗传算法中设定第二初始条件,第二初始条件包括:初始种群的大小、最大迭代次数以及选择交叉变异概率,并重复执行步骤s1411-s1415,初始种群中包括若干目标层的预设初始稀疏度的向量;
16、步骤s1411,确定初始种群对应的第二精度指标,并将第二精度指标作为目标精度指标;
17、步骤s1412,根据第二精度指标,从若干预设初始稀疏度的向量中选择部分预设初始稀疏度的向量作为父代;
18、步骤s1413,选择父代进行交叉,生成若干子代,子代为新的稀疏度的向量;
19、步骤s1414,选择任意数量的子代,以对稀疏度分配进行调整;
20、步骤s1415,控制以子代替换父代,以对初始种群进行更新。
21、进一步地,确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵之前,包括:
22、获取历史数据集,历史数据集中包括若干条数据;
23、向目标待稀疏化神经网络模型输入历史数据集中的全部或部分数据,用以确定目标待稀疏化神经网络模型的目标待剪枝位置以及预设初始稀疏度。
24、进一步地,权重重要性矩阵的公式,包括:
25、
26、其中,w为权重矩阵,xi为第i个样本对应的特征,ai为第i个激活矩阵,a为权重重要性矩阵。
27、进一步地,确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵,包括:
28、输入特征矩阵和权重矩阵;
29、逐元素点乘,得到结果矩阵;
30、对结果矩阵的第一个维度求和,得到权重重要性矩阵。
31、进一步地,包括:
32、当达到最大迭代次数或初始温度降低至预设温度阈值时,将目标精度指标对应的稀疏度分配作为目标待稀疏化神经网络模型的目标稀疏度分配。
33、进一步地,包括:
34、当达到最大迭代次数或更新后的初始种群的第二精度指标的提升小于提升阈值时,将目标精度指标对应的稀疏度分配作为目标待稀疏化神经网络模型的目标稀疏度分配。
35、第二方面,本技术提供了一种神经网络模型稀疏化装置,装置包括:
36、矩阵确定模块,用于确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵;
37、剪枝位置确定模块,用于根据目标层对应的权重重要性矩阵,确定该目标层在预设初始稀疏度下的若干个目标待剪枝位置;
38、精度指标确定模块,用于针对每个目标层,根据目标层的预设初始稀疏度,对该目标层中的若干个目标待剪枝位置进行剪枝后,确定目标待稀疏化神经网络模型的初始精度指标,其中,各目标层的预设初始稀疏度相同;
39、更新模块,用于基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对目标待稀疏化神经网络模型的初始精度指标进行更新,得到目标精度指标,其中,目标层之间的稀疏度总和不变;
40、稀疏度分配模块,用于当达到最大迭代次数或达到预设迭代终止条件时,将目标精度指标对应的稀疏度分配作为目标待稀疏化神经网络模型的目标稀疏度分配。
41、第三方面,本技术提供了一种电子设备,包括:
42、处理器;
43、用于存储处理器可执行指令的存储器;
44、其中,处理器被配置为执行以实现如第一方面提供的一种神经网络模型稀疏化方法。
45、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
46、本技术提供了一种神经网络模型稀疏化方法,包括:确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵;根据目标层对应的权重重要性矩阵,确定该目标层在预设初始稀疏度下的若干个目标待剪枝位置;针对每个目标层,根据目标层的预设初始稀疏度,对该目标层中的若干个目标待剪枝位置进行剪枝后,确定目标待稀疏化神经网络模型的初始精度指标,其中,各目标层的预设初始稀疏度相同;基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对目标待稀疏化神经网络模型的初始精度指标进行更新,得到目标精度指标,其中,目标层之间的稀疏度总和不变;当达到最大迭代次数或达到预设迭代终止条件时,将目标精度指标对应的稀疏度分配作为目标待稀疏化神经网络模型的目标稀疏度分配。相较于现有技术中,只能机械的设置各层的稀疏度,本技术可以灵活地调整各目标层的稀疏度,并在若干稀疏度分配方案中选择目标待稀疏化神经网络模型精度较高的稀疏度分配方案,保证了目标待稀疏化神经网络模型精度,并且由于稀疏度总和不变,推测加速目标待稀疏化神经网络模型的时间的变化也不大,换而言之,本技术在保证了推测加速效率的同时,还兼顾了目标待稀疏化神经网络模型的精度。
47、除此之外,本技术基于启发式算法实现自适应稀疏度调整,可设定总稀疏度,在进行稀疏化的时候每层自适应调整稀疏度,达到总稀疏度不变,对比统一稀疏度设定方法模型准确性更好,精度损失更少的效果。本技术为训练后静态剪枝算法,不需要重新训练和微调模型,不依赖大量数据,仅需要少量数据帮助确定各层剪枝位置和比例。
1.一种神经网络模型稀疏化方法,其特征在于,所述方法包括:
2.如权利要求1所述的一种神经网络模型稀疏化方法,其特征在于,所述基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对所述目标待稀疏化神经网络模型的初始精度指标进行更新,得到目标精度指标,包括:
3.如权利要求1所述的一种神经网络模型稀疏化方法,其特征在于,所述基于预设启发式算法,多次迭代调整目标层之间的稀疏度分配,以对所述目标待稀疏化神经网络模型的初始精度指标进行更新,包括:
4.如权利要求1所述的一种神经网络模型稀疏化方法,其特征在于,确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵之前,包括:
5.如权利要求1所述的一种神经网络模型稀疏化方法,其特征在于,权重重要性矩阵的公式,包括:
6.如权利要求5所述的一种神经网络模型稀疏化方法,其特征在于,所述确定目标待稀疏化神经网络模型中每个目标层对应的权重重要性矩阵,包括:
7.如权利要求2所述的一种神经网络模型稀疏化方法,其特征在于,包括:
8.如权利要求3所述的一种神经网络模型稀疏化方法,其特征在于,包括:
9.一种神经网络模型稀疏化装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,包括:
