CN117875397A - 一种待更新参数选择方法、装置、计算设备及存储介质 - Google Patents
一种待更新参数选择方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN117875397A CN117875397A CN202410269821.9A CN202410269821A CN117875397A CN 117875397 A CN117875397 A CN 117875397A CN 202410269821 A CN202410269821 A CN 202410269821A CN 117875397 A CN117875397 A CN 117875397A
- Authority
- CN
- China
- Prior art keywords
- parameters
- parameter
- model
- auxiliary
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 67
- 238000010187 selection method Methods 0.000 title description 9
- 238000003062 neural network model Methods 0.000 claims abstract description 115
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000012549 training Methods 0.000 claims abstract description 66
- 210000002569 neuron Anatomy 0.000 claims abstract description 61
- 239000011159 matrix material Substances 0.000 claims description 230
- 230000006870 function Effects 0.000 claims description 37
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 229930014626 natural product Natural products 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种待更新参数选择方法、装置、计算设备及存储介质,涉及计算机技术领域,方法应用于计算设备,计算设备存储有待训练的神经网络模型,包括:在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与神经网络模型中的各网络层对应的辅助网络;辅助网络包含与网络层中的各神经元对应的辅助参数,辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;利用门控单元确定各辅助参数对应的门控值;将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数;门控阈值利用计算设备的存储资源量设置;可减少对计算设备存储资源的消耗。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种待更新参数选择方法、装置、计算设备及存储介质。
背景技术
随着人工智能技术的不断发展,神经网络模型所包含的参数量呈现指数级增长趋势。由于对包含大量参数的大规模神经网络模型进行训练需要耗费大量存储空间来存储模型参数、中间结果及训练数据,因此不利于降低大规模神经网络模型所需的硬件成本。为解决上述问题,相关技术可采用动态稀疏训练方法(Dynamic Sparse Training)对神经网络模型进行训练,该方式可在每次迭代时从神经网络模型中选择部分模型参数进行更新。然而,现有的动态稀疏训练方法一般基于固定的稀疏度进行模型参数选择,这不仅容易导致选择到不适合更新的参数,进而导致训练精度的损失,同时这种模型参数的选择方式也并没有考虑硬件资源的限制,进而无法在各类计算设备中进行有效应用。
发明内容
本发明的目的是提供一种待更新参数选择方法、装置、计算设备及存储介质,可在计算设备存储资源量的限制下自适应地在神经网络模型中选择待更新参数,从而可在保障模型训练效果的前提下减少对计算设备存储空间的占用。
为解决上述技术问题,本发明提供一种待更新参数选择方法,应用于计算设备,所述计算设备存储有待训练的神经网络模型,所述方法包括:
在对所述神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与所述神经网络模型中的各网络层对应的辅助网络;所述辅助网络包含与所述网络层中的各神经元对应的辅助参数,所述辅助参数利用与所述神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;
利用门控单元确定各所述辅助参数对应的门控值;
将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,以仅对所述待更新参数执行所述反向传播操作;所述门控阈值利用所述计算设备的存储资源量设置。
可选地,还包括:
利用所述计算设备支持的模型参数存储量设置所述门控阈值,以使所述待更新参数的数量小于所述模型参数存储量。
可选地,所述利用所述计算设备支持的模型参数存储量设置所述门控阈值,包括:
利用所述计算设备可存储的模型参数存储量基于如下公式设置所述门控阈值:
;
其中,T i 表示所述神经网络模型的第i层网络层对应的门控阈值,W i 表示由所述第i层网络层中所有模型参数组成的参数序列,D表示所述计算设备的模型参数存储量,M表示所述神经网络模型的模型参数总数量,percentile表示百分位数函数,所述百分位数函数用于以D/M为百分比在所述参数序列中选择作为百分位数的目标模型参数值并以所述目标模型参数值作为所述门控阈值。
可选地,所述辅助网络中的辅助参数排布为辅助参数矩阵,所述辅助参数矩阵与模型参数矩阵具有相同尺寸,所述辅助参数矩阵中的每一位置与所述模型参数矩阵中的相同位置相映射,所述模型参数矩阵中的各位置存储有所述网络层中各所述神经元的模型参数。
可选地,所述辅助网络包含输出层矩阵,所述输出层矩阵与所述模型参数矩阵具有相同尺寸;
所述将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,包括:
将所述门控值大于所述门控阈值的辅助参数在所述输出层矩阵对应位置的数值设置为0,将所述门控值不大于所述门控阈值的辅助参数在所述输出层矩阵对应位置中的数值设置为1;
利用所述输出层矩阵与所述网络层对应的模型参数矩阵进行掩码处理,以清除所述输出层矩阵中数值为0的位置在所述模型参数矩阵中对应位置的模型参数、保留所述输出层矩阵中数值为1的位置在所述模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为所述待更新参数。
可选地,所述辅助网络包括行辅助参数和列辅助参数,各所述行辅助参数与模型参数矩阵中的各行相对应,各所述列辅助参数与所述模型参数矩阵中的各列相对应,所述模型参数矩阵中的各位置存储有所述网络层中各所述神经元的模型参数。
可选地,所述辅助网络包含输出层矩阵,所述输出层矩阵与所述模型参数矩阵具有相同尺寸;
所述将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,包括:
将所述门控值大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为1;
将所述门控值大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为1;
利用所述输出层矩阵与所述网络层对应的模型参数矩阵进行掩码处理,以清除所述输出层矩阵中数值为0的位置在所述模型参数矩阵中对应位置的模型参数、保留所述输出层矩阵中数值为1的位置在所述模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为所述待更新参数。
可选地,所述仅对所述待更新参数执行所述反向传播操作,包括:
将所述模型参数矩阵中的待更新参数重组为满秩的有效值矩阵;
对所述有效值矩阵执行所述反向传播操作。
可选地,在将所述模型参数矩阵中的待更新参数重组为满秩的有效值矩阵之后,还包括:
记录所述待更新参数在所述模型参数矩阵中的参数位置;
在对所述有效值矩阵执行所述反向传播操作之后,还包括:
利用所述有效值矩阵对原始的模型参数矩阵中与所述参数位置对应的模型参数进行更新。
可选地,所述利用门控单元确定各所述辅助参数对应的门控值,包括:
利用门控单元基于如下公式确定各所述辅助参数对应的门控值:
;
其中,g()表示门控单元,a表示所述辅助参数,e表示自然常数,β表示超参数。
可选地,在将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数之后,还包括:
利用所述辅助参数与所述待更新参数共同确定所述神经网络模型在本轮迭代训练的损失值;
利用所述损失值分别对所述辅助参数和所述待更新参数执行所述反向传播操作。
可选地,所述利用所述辅助参数与所述待更新参数共同确定所述神经网络模型在本轮迭代训练的损失值,包括:
利用所述辅助参数与所述待更新参数基于如下公式共同确定所述神经网络模型在本轮迭代训练中的损失值:
;
其中,Loss表示所述损失值,f()表示所述神经网络模型的损失函数,w表示所述模型参数,a表示所述辅助参数,f(w,a)表示利用基于所述辅助参数在所述模型参数中选择出的所述待更新参数所确定的损失函数值,g()表示门控函数,g(a)表示所述门控值,μ表示学习率。
可选地,利用损失值对所述辅助参数执行所述反向传播操作,包括:
利用反向传播算法计算所述辅助参数关于所述损失值的梯度值,并利用所述梯度值更新所述辅助参数。
可选地,所述利用所述梯度值更新所述辅助参数,包括:
利用所述梯度值基于随机梯度下降算法更新所述辅助参数。
可选地,所述神经网络模型的推理任务为问答任务,所述问答任务的任务内容为根据对话文本从预设答案库中选择正确的答案文本,所述损失函数为:
;
其中,N表示对话文本的数量,M表示每个所述对话文本对应答案的可能数量,w j 表示第j个答案的权重,y ij 表示第i组对话中第j个答案的标签,所述标签为正确标签或错误标签,p ij 表示所述神经网络模型预测第i组对话中第j个答案为正确的概率。
可选地,还包括:
清除不属于所述待更新参数的模型参数对应的参数更新数据;所述参数更新数据包括优化器状态,所述优化器状态包括一阶动量和二阶动量。
本发明还提供一种待更新参数选择装置,应用于计算设备,所述计算设备存储有待训练的神经网络模型,所述装置包括:
获取模块,用于在对所述神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与所述神经网络模型中的各网络层对应的辅助网络;所述辅助网络包含与所述网络层中的各神经元对应的辅助参数,所述辅助参数利用与所述神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;
门控模块,用于利用门控单元确定各所述辅助参数对应的门控值;
参数选择模块,用于将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,以仅对所述待更新参数执行所述反向传播操作;所述门控阈值利用所述计算设备的存储资源量设置。
本发明还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的待更新参数选择方法。
可选地,所述计算设备为显卡设备。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的待更新参数选择方法。
本发明提供一种待更新参数选择方法,应用于计算设备,所述计算设备存储有待训练的神经网络模型,所述方法包括:在对所述神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与所述神经网络模型中的各网络层对应的辅助网络;所述辅助网络包含与所述网络层中的各神经元对应的辅助参数,所述辅助参数利用与所述神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;利用门控单元确定各所述辅助参数对应的门控值;将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,以仅对所述待更新参数执行所述反向传播操作;所述门控阈值利用所述计算设备的存储资源量设置。
本发明的有益效果在于:本发明中的计算设备在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,首先可获取与神经网络模型中的各网络层对应的辅助网络,该辅助网络包含与网络层中的各神经元对应的辅助参数,且辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新,即该辅助参数将会参与到神经网络模型的每轮迭代训练中,且辅助参数的参数更新情况将与各神经元的参数更新情况相吻合。随后,本发明可利用门控单元确定各辅助参数对应的门控值,并可将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,以仅对待更新参数执行反向传播操作,其中门控阈值利用计算设备的存储资源量设置,即可通过在神经网络模型中引入可训练的辅助参数实现自动化的参数选择,这样不仅可减少每轮迭代训练需要更新的参数量,进而减少参数更新对计算设备存储资源的占用量,此外可根据神经网络模型的实际训练情况进行参数选择,从而实现更好的参数选择效果,更重要的是,本发明中的门控阈值可根据计算设备的存储资源量进行设置,可确保待更新参数的选择契合计算设备的实际存储能力。本发明还提供一种待更新参数选择装置、计算设备及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种待更新参数选择方法的流程图;
图2为本发明实施例所提供的一种待更新参数选择的示意图;
图3为本发明实施例所提供的另一种待更新参数选择的示意图;
图4为本发明实施例所提供的一种模型参数矩阵压缩的示意图;
图5为本发明实施例所提供的一种待更新参数选择装置的结构框图;
图6为本发明实施例所提供的一种计算设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着人工智能技术的不断发展,神经网络模型所包含的参数量呈现指数级增长趋势。例如,对于大语言模型(LLM,Large Language Model)而言,其重要特点是其拥有巨大的模型规模和复杂的结构,并通常包含数十亿甚至万亿级别的参数。这虽然为此类模型提供了可捕捉到语言的细微差别和复杂模式的能力,同时也导致此类模型的训练需要耗费大量存储空间来存储模型参数、中间结果及训练数据,难以降低训练大规模神经网络模型所需的硬件成本。因此,如何降低神经网络模型训练对计算设备硬件资源的需求,是本领域技术人员亟需解决的技术问题。
相关技术中,可采用动态稀疏训练方法(Dynamic Sparse Training)对神经网络模型进行训练,这种方法可随机从神经网络模型的模型参数中选择固定比例的待更新参数进行更新,避免对神经网络模型中的模型参数进行全量更新,从而可减少为计算设备存储资源所带来的消耗。然而,不同的模型参数在神经网络模型中的重要程度是不同的,例如有些参数对模型推理准确度的贡献更大,需要更加频繁地更新,而另一些参数对模型推理准确度的贡献较小,无需频繁更新。显然,上述随机挑选待更新参数的方式忽略了参数自身的重要程度,进而容易影响模型的训练效果,甚至会导致模型精度下降。此外,选择待更新参数所使用的固定比例不仅会限制神经网络模型的学习能力,同时容易与计算设备自身的存储资源限制不匹配,进而也会影响神经网络模型在计算设备中的有效训练。有鉴于此,本发明可提供一种待更新参数选择方法,可为神经网络模型的每个神经元增加可训练的辅助参数,并利用这些辅助参数形成辅助网络,进而可在计算设备存储资源量的约束之下利用该辅助网络自适应地从神经网络模型中选择待更新参数,从而既可以保障模型训练效果,同时也可减少对计算设备存储资源的消耗。
需要说明的是,本发明实施例并不限定具体的神经网络模型,可根据实际应用需求进行设定。例如,该神经网络模型可以为自然语言处理模型,其推理任务可以为:根据输入的对话文本在预设的答案库中选择正确的答案文本。因此,该自然语言处理模型的训练数据可以为对话文本与答案文本所形成的文本对,训练该自然语言处理模型的目的在于降低模型为该对话文本所生成的预测答案文本与该对话文本对应的真实答案文本间的损失,以提升该模型从对话文本生成最佳答案的能力。本发明实施例也不限定具体的计算设备,其可以为任意可训练神经网络模型的设备,例如可以为显卡设备。
下面将对本发明实施例所提供的待更新参数选择方法进行具体介绍。为便于理解,请参考图1,图1为本发明实施例所提供的一种待更新参数选择方法的流程图。该方法应用于计算设备,计算设备存储有待训练的神经网络模型,方法可以包括:
S101、在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与神经网络模型中的各网络层对应的辅助网络;辅助网络包含与网络层中的各神经元对应的辅助参数,辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新。
神经网络模型在每轮迭代训练中一般需要经过两个操作处理:前向传播操作和反向传播操作。其中,前向传播操作用于确定神经网络模型对训练数据的推理结果,反向传播操作用于根据该推理结果所确定的损失值对神经网络模型的模型参数进行更新。为避免对全量的模型参数进行更新,本发明实施例需在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,确定该模型在本轮迭代训练中需要更新的待更新参数。
进一步,为实现待更新参数的自适应选择,本发明实施例设置了与神经网络模型的各网络层对应的辅助网络,该辅助网络包含与网络层中的各神经元对应的辅助参数,且该辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新。换句话说,本发明实施例可为神经网络模型中的每一神经元均设置可训练的辅助参数,该辅助参数并不参与模型推理,但可根据模型的损失值与对应神经元中的其他模型参数一同更新。这样,辅助参数的数值将直接反映神经元对模型推理的重要性,进而计算设备可利用该辅助参数实现对待更新参数的自适应选择,并可确保所选的待更新参数均为对模型推理精度有重要贡献的模型参数。
需要说明的是,神经元与辅助参数间的数量对应关系可以为一对一,也可以为一对二。具体的,当神经元与辅助参数间呈现一对一关系时,辅助网络中的辅助参数可排布为辅助参数矩阵,辅助参数矩阵与模型参数矩阵具有相同尺寸,且辅助参数矩阵中的每一位置与模型参数矩阵中的相同位置相映射,而模型参数矩阵中的各位置存储有网络层中各神经元的模型参数。当神经元与辅助参数间呈现一对二关系时,辅助网络可以包括行辅助参数和列辅助参数,各个行辅助参数与上述模型参数矩阵中的各行相对应,各个列辅助参数与上述模型参数矩阵中的各列相对应。换句话说,既可以使用单个辅助参数来确定对应的神经元的模型参数是否需要更新,也可以同时使用一个行辅助参数及一个列辅助参数来确定对应的神经元的模型参数是否需要更新。以上两种方式各有优势,其中为每个神经元设置唯一对应的辅助参数能够取得更高的模型精度,而为每个神经元设置一个行辅助参数及一个列辅助参数能够节约更多的存储资源,可根据实际应用需求。
S102、利用门控单元确定各辅助参数对应的门控值。
本发明实施例可使用任何可微分函数作为门控单元所使用的门控函数,例如该门控函数具体可以为sigmoid函数。
基于此,利用门控单元确定各辅助参数对应的门控值,可以包括:
步骤11:利用门控单元基于如下公式确定各辅助参数对应的门控值:
;
其中,g()表示门控单元,a表示辅助参数,e表示自然常数,β表示超参数。该超参数用于控制门控函数的斜率。
S103、将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,以仅对待更新参数执行反向传播操作;门控阈值利用计算设备的存储资源量设置。
在本发明实施例中,对于门控制大于门控阈值的辅助参数而言,其对应的神经元对模型的贡献度较低,可不进行更新;对于门控制不大于门控阈值的辅助参数而言,其对应的神经元对模型的贡献度较高,需要进行更新。因此,本发明实施例可将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,从而仅对待更新参数进行反向传播操作,同时也可减少无需更新的模型参数对计算设备存储资源的消耗。
为实现待更新参数的高效筛选,本发明实施例还可利用辅助参数构造掩码层,并利用掩码层在模型参数矩阵中直接进行参数选择与清除。具体的,辅助网络可包含输出层矩阵,该输出层矩阵的尺寸与模型参数矩阵的尺寸相同,且输出层矩阵中的每一位置与模型参数矩阵中的对应位置呈映射关系。该输出层矩阵的特点在于:每一位置的数值仅为0或1。当输出层矩阵中的某一位置的数值为0时,意味着模型参数矩阵中对应位置的模型参数无需更新;当输出层矩阵中的某一位置的数值为1时,意味着模型参数矩阵中对应位置的模型参数需要更新。因此,本发明实施例所提供的辅助网络可以为二值网络,该二值网络可将各辅助参数压缩为0或1两个值,且该二值网络的输出层可用于执行掩码操作。进一步,如上文所述,本发明实施例提供有两种设置辅助参数的方式,下面将基于这两种辅助参数设置方式介绍如何设置辅助网络的输出层。
当网络层中的每一神经元都设置有对应的辅助参数时,可将门控值不大于门控阈值的辅助参数在输出层矩阵中对应位置的数值设置为0,以及可将门控值大于门控阈值的辅助参数在输出层矩阵中对应位置的数值设置为1。进而,可利用设置好的输出层矩阵对模型参数矩阵进行掩码处理,即可完成对待更新参数的筛选和对其余模型参数的清除。
基于此,辅助网络包含输出层矩阵,输出层矩阵与模型参数矩阵具有相同尺寸;将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,可以包括:
步骤21:将门控值大于门控阈值的辅助参数在输出层矩阵对应位置的数值设置为0,将门控值不大于门控阈值的辅助参数在输出层矩阵对应位置中的数值设置为1;
步骤22:利用输出层矩阵与网络层对应的模型参数矩阵进行掩码处理,以清除输出层矩阵中数值为0的位置在模型参数矩阵中对应位置的模型参数、保留输出层矩阵中数值为1的位置在模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为待更新参数。
为方便理解,请参考图2,图2为本发明实施例所提供的一种待更新参数选择的示意图。可见,本发明实施例首先可利用门控函数对位于右侧的辅助参数矩阵进行处理,得到各辅助参数对应的门控值。随后,可将各门控值与门控阈值进行比较,并可根据比较结果生成辅助参数矩阵对应的掩码层(即输出层矩阵)。进而,可将掩码层对位于左侧的模型参数矩阵进行掩码处理,得到稀疏化的模型参数矩阵,其中模型参数矩阵中的白色位置表示被清除的模型参数,而灰色位置表示被保留的模型参数。最后,仅需对稀疏的模型参数矩阵进行反向传播即可,能够节约存储空间。
以一种具体的示例介绍利用与神经元一一对应的辅助参数执行待更新参数筛选的具体流程。例如,对于4x3大小的模型参数矩阵W,在模型剪枝过程中,得到的辅助参数为:A=[1.3,5.8,-3.2;1.5,-0.8,2.1;-3.2,1.0,-0.5;8.6,-0.8,1.2],则对应的掩码为M=[1,1,0;1,0,1;0,1,0;1,0,1](0表示被该处参数被置为零;1表示该处参数可以不为零)。
进一步,当网络层中的每一神经元需由一个行辅助参数和一个列辅助参数确定时,可分别利用行辅助参数和列辅助参数对输出层矩阵进行设置。具体的,首先可将门控值大于门控阈值的行辅助参数在输出层矩阵中对应的行所包含的所有数值均设置为0,并将门控值不大于门控阈值的行辅助参数在输出层矩阵中对应的行所包含的所有数值均设置为1;随后,可将门控值大于门控阈值的列辅助参数在输出层矩阵中对应的列所包含的所有数值均设置为0,并将门控值不大于门控阈值的列辅助参数在输出层矩阵中对应的列所包含的所有数值均设置为1,从而完成对输出层矩阵的设置。进而,可利用设置好的输出层矩阵对模型参数矩阵进行掩码处理,即可完成对待更新参数的筛选和对其余模型参数的清除。
基于此,辅助网络包含输出层矩阵,输出层矩阵与模型参数矩阵具有相同尺寸;将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,包括:
步骤31:将门控值大于门控阈值的行辅助参数在输出层矩阵中对应的行所包含的所有数值均设置为0,将门控值不大于门控阈值的行辅助参数在输出层矩阵中对应的行所包含的所有数值均设置为1;
步骤32:将门控值大于门控阈值的列辅助参数在输出层矩阵中对应的列所包含的所有数值均设置为0,将门控值不大于门控阈值的列辅助参数在输出层矩阵中对应的列所包含的所有数值均设置为1;
步骤33:利用输出层矩阵与网络层对应的模型参数矩阵进行掩码处理,以清除输出层矩阵中数值为0的位置在模型参数矩阵中对应位置的模型参数、保留输出层矩阵中数值为1的位置在模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为待更新参数。
为方便理解,请参考图3,图3为本发明实施例所提供的另一种待更新参数选择的示意图。可见,本发明实施例首先可利用门控函数对位于右侧的行辅助参数和列辅助参数进行处理,得到各辅助参数对应的门控值。随后,可将各门控值与门控阈值进行比较,并可根据比较结果分别对行辅助参数在掩码层中对应的行及列辅助参数在掩码层中对应的列进行设置。进而,可将掩码层对位于左侧的模型参数矩阵进行掩码处理,得到稀疏化的模型参数矩阵,其中模型参数矩阵中的白色位置表示被清除的模型参数,而灰色位置表示被保留的模型参数。最后,仅需对稀疏的模型参数矩阵进行反向传播即可。显然,与前一种方式不同的是,在使用行辅助参数和列辅助参数设置掩码时,能够采用结构化的手段进行待更新参数筛选,能够使得待更新参数的分布更加结构化,便于对模型参数矩阵进行进一步压缩,从而可进一步节省存储空间。
以一种具体的示例介绍利用与神经元一一对应的辅助参数执行待更新参数筛选的具体流程。对于4x3大小的模型参数矩阵W,在模型剪枝过程中,得到的行、列稀疏度参数可能为:Srow=[-5.5,3.0,1.2,-1.5], Scolumn=[3.3,-2.2,1.0],则对应到W上,第1行、第2列和第4行被归零,即对应的掩码为M=[0,0,0;1,0,1;1,0,1;0,0,0](0表示被该处参数被置为零;1表示该处参数可以不为零)。
进一步,值得指出的是本发明实施例所使用的门控阈值可基于计算设备的存储资源量设置。由于门控阈值用于筛选待更新参数,因此可确保待更新参数的数量与存储资源量相适宜,从而能够确保对模型参数的选择更加契合计算设备的实际存储能力。需要说明的是,本发明实施例并不限定如何设定门控阈值,例如可利用计算设备支持的模型参数存储量设置门控阈值,以使待更新参数的数量小于模型参数存储量。具体的,考虑到辅助参数属于神经元中的可训练参数,其数值与神经元中的其他模型参数有关,因此本发明实施例可利用计算设备支持的模型参数存储量与神经网络模型的模型参数总数量确定百分比,并根据该百分比在各网络层的模型参数中挑选百分位数,进而将百分位数作为所需的门控阈值,这样既可以确保门控阈值的设置与计算设备的实际存储能力相关,同时还可根据各网络层中各模型参数的实际模型参数值动态设置门控阈值。
基于此,利用计算设备支持的模型参数存储量设置门控阈值,可以包括:
利用计算设备可存储的模型参数存储量基于如下公式设置门控阈值:
;
其中,T i 表示神经网络模型的第i层网络层对应的门控阈值,W i 表示由第i层网络层中所有模型参数组成的参数序列,D表示计算设备的模型参数存储量,M表示神经网络模型的模型参数总数量,percentile表示百分位数函数,百分位数函数用于以D/M为百分比在参数序列中选择作为百分位数的目标模型参数值并以目标模型参数值作为门控阈值。
需要指出的是,百分位数函数在处理参数序列时,会对该序列中的所有模型参数进行排序,并根据D/M从排序后的序列中选择百分位数,具体可参考百分位数函数的相关技术。
进一步,由于不需要更新除待更新参数外的其他模型参数,因此与这些模型参数相关的参数更新数据(如优化器状态,优化器状态可包含一阶动量和二阶动量)也可进行清除,从而可进一步减少对计算设备存储资源的消耗。
基于此,本方法还可以包括:
步骤41:清除不属于待更新参数的模型参数对应的参数更新数据;参数更新数据包括优化器状态,优化器状态包括一阶动量和二阶动量。
基于上述实施例,本发明中的计算设备在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,首先可获取与神经网络模型中的各网络层对应的辅助网络,该辅助网络包含与网络层中的各神经元对应的辅助参数,且辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新,即该辅助参数将会参与到神经网络模型的每轮迭代训练中,且辅助参数的参数更新情况将与各神经元的参数更新情况相吻合。随后,本发明可利用门控单元确定各辅助参数对应的门控值,并可将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,以仅对待更新参数执行反向传播操作,其中门控阈值利用计算设备的存储资源量设置,即可通过在神经网络模型中引入可训练的辅助参数实现自动化的参数选择,这样不仅可减少每轮迭代训练需要更新的参数量,进而减少参数更新对计算设备存储资源的占用量,此外可根据神经网络模型的实际训练情况进行参数选择,从而实现更好的参数选择效果,更重要的是,本发明中的门控阈值可根据计算设备的存储资源量进行设置,可确保待更新参数的选择契合计算设备的实际存储能力。
基于上述实施例,下面将对辅助参数的迭代更新方式进行详细介绍。在一种可能的情况中,在将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数之后,还可以包括:
S201、利用辅助参数与待更新参数共同确定神经网络模型在本轮迭代训练的损失值。
如上所述,由于辅助参数是为神经网络模型各神经元添加的可训练参数,因此辅助参数可跟随神经网络模型的更新而更新。具体的,本发明实施例可利用辅助参数与待更新参数共同确定神经网络模型在本轮迭代训练的损失值,从而可利用该损失值分别对辅助参数和待更新参数进行更新。
具体的,利用辅助参数与待更新参数共同确定神经网络模型在本轮迭代训练的损失值,可以包括:
利用辅助参数与待更新参数基于如下公式共同确定神经网络模型在本轮迭代训练中的损失值:
;
其中,Loss表示损失值,f()表示神经网络模型的损失函数,w表示模型参数,a表示辅助参数,f(w,a)表示利用基于辅助参数在模型参数中选择出的待更新参数所确定的损失函数值,g()表示门控函数,g(a)表示门控值,μ表示学习率。
可见,上述公式包含部分,f(w,a)表征神经网络模型在待更新参数的作用下为训练数据所生成的推理结果与该训练数据原先对应的标注结果间的损失,侧重于神经网络模型;表征辅助参数所带来的损失,侧重于辅助网络。由于计算损失值的目的是为了优化神经网络模型,以使损失值最小,因此上述损失值计算方式既可针对性地对神经网络模型中的待更新参数进行优化,也可结合神经网络模型的实际训练情况对辅助参数进行优化。
需要说明的是,本发明实施例并不限定具体的损失函数,其与神经网络模型的推理任务有关。例如,当神经网络模型的推理任务为问答任务,问答任务的任务内容为根据对话文本从预设答案库中选择正确的答案文本时,损失函数为:
;
其中,N表示对话文本的数量,M表示每个对话文本对应答案的可能数量,w j 表示第j个答案的权重,y ij 表示第i组对话中第j个答案的标签,标签为正确标签或错误标签,p ij 表示神经网络模型预测第i组对话中第j个答案为正确的概率,一组对话由对话文本和该对话文本对应的答案组成。值得注意的是,由于神经网络模型中的模型参数已经过辅助参数的筛选,因此p ij 实际上表征神经网络模型凭借已挑选出的待更新参数所预测第i组对话中第j个答案为正确的概率。
S202、利用损失值分别对辅助参数和待更新参数执行反向传播操作。
在本发明实施例中,由于辅助参数不参与模型推理,因此辅助参数和待更新参数需要单独进行反向传播处理。本发明实施例并不限定如何对待更新参数执行反向传播操作,可参考神经网络模型训练的相关技术。对于辅助参数,可利用反向传播算法(BP,BackPropagation)计算辅助参数关于损失值的梯度值,并利用梯度值更新辅助参数,其中反向传播算法为训练人工神经网络的常见方法,该算法可对网络中所有权重计算损失函数的梯度,而这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。
基于此,利用损失值对辅助参数执行反向传播操作,可以包括:
步骤61:利用反向传播算法计算辅助参数关于损失值的梯度值,并利用梯度值更新辅助参数。
需要说明的是,本发明实施例并不限定上述梯度值的计算方式,可参考相关技术。需要指出的是,由于辅助网络可以为二值网络,而二值网络的更新方式与常规神经网络模型的更新方式不同,因此也可参考二值网络的相关技术。进一步,在得到梯度值后,可使用优化器对辅助参数进行更新。本发明实施例并不限定优化器具体使用的优化算法,例如可以为随机梯度下降算法(SDG,Stochastic Gradient Descent),其中随机梯度下降算法是一种基于梯度的优化算法,用于更新深度神经网络的参数,其基本思想为:在每一次迭代中,随机选择一个小批量的样本来计算损失函数的梯度,并用梯度来更新参数。换句话说,可利用梯度值基于随机梯度下降算法更新辅助参数。辅助参数的更新过程可以表示为:
;
其中,箭头左侧的a i 表示更新后的辅助参数,箭头右侧的a i 表示更新前的辅助参数,η表示学习率,表示辅助参数a i 关于损失值L的梯度值。
基于上述实施例,如上所述,在使用行辅助参数和列辅助参数筛选待更新参数时,能够确保筛选后的模型参数矩阵呈现更强的结构性,这有利于对模型参数矩阵进行压缩,从而能够节省计算设备(如显卡设备)执行矩阵计算的时间及计算设备的存储资源。下面对压缩模型参数矩阵的方式进行详细介绍。基于此,仅对待更新参数执行反向传播操作,可以包括:
S301、将模型参数矩阵中的待更新参数重组为满秩的有效值矩阵。
为方便理解,请参考图4,图4为本发明实施例所提供的一种模型参数矩阵压缩的示意图。可见,原始的模型矩阵在经过行辅助矩阵和列辅助矩阵的处理之后,部分行及部分列将被清除,如图4中白色的区块所示。此时,完整的模型参数矩阵被切分为多个小矩阵。需要指出的是,尽管模型参数矩阵已清除了本轮无需更新的模型参数,但这些模型参数所处位置中的空值仍会参加矩阵计算,不利于降低计算设备执行矩阵计算的耗时。因此,本发明实施例可将稀疏化的模型参数矩阵中的各个“小矩阵”重组为满秩的有效值矩阵,并可对有效值矩阵执行反向传播操作。由于有效值矩阵中仅包含非零的有效值,因此能够显著减少矩阵计算所需的耗时,从而能够对反向传播操作执行速度进行加速。
S302、对有效值矩阵执行反向传播操作。
进一步,可以理解的是在利用有效值矩阵完成反向传播操作之后,需要利用该矩阵中的值对原始的模型参数矩阵进行更新,其中原始的模型参数矩阵指未经稀疏化的模型参数矩阵。为方便更新,在构建有效值矩阵时,可记录记录待更新参数在模型参数矩阵中的参数位置;随后,可利用有效值矩阵对原始的模型参数矩阵中与参数位置对应的模型参数进行更新。
基于此,在将模型参数矩阵中的待更新参数重组为满秩的有效值矩阵之后,还可以包括:
步骤71:记录待更新参数在模型参数矩阵中的参数位置;
在对有效值矩阵执行反向传播操作之后,还包括:
步骤72:利用有效值矩阵对原始的模型参数矩阵中与参数位置对应的模型参数进行更新。
下面对本发明实施例提供的待更新参数选择装置、计算设备及计算机可读存储介质进行介绍,下文描述的待更新参数选择装置、计算设备及计算机可读存储介质与上文描述的待更新参数选择方法可相互对应参照。
请参考图5,图5为本发明实施例所提供的一种待更新参数选择装置的结构框图,该装置应用于计算设备,计算设备存储有待训练的神经网络模型,本装置可以包括:
获取模块501,用于在对神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与神经网络模型中的各网络层对应的辅助网络;辅助网络包含与网络层中的各神经元一一对应的辅助参数,辅助参数利用与神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;
门控模块502,用于利用门控单元确定各辅助参数对应的门控值;
参数选择模块503,用于将门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于待更新参数的模型参数,以仅对待更新参数执行反向传播操作;门控阈值利用计算设备的存储资源量设置。
可选地,该装置还可以包括:
门控阈值设置模块,用于利用计算设备支持的模型参数存储量设置门控阈值,以使待更新参数的数量小于模型参数存储量。
可选地,门控阈值设置模块,可以用于:
利用计算设备可存储的模型参数存储量基于如下公式设置门控阈值:
;
其中,T i 表示神经网络模型的第i层网络层对应的门控阈值,W i 表示由第i层网络层中所有模型参数组成的参数序列,D表示计算设备的模型参数存储量,M表示神经网络模型的模型参数总数量,percentile表示百分位数函数,百分位数函数用于以D/M为百分比在参数序列中选择作为百分位数的目标模型参数值并以目标模型参数值作为门控阈值。
可选地,辅助网络中的辅助参数根据神经元在网络层中的位置排布为辅助参数矩阵,辅助参数矩阵与模型参数矩阵具有相同尺寸,辅助参数矩阵中的每一位置与模型参数矩阵中的相同位置相映射,模型参数矩阵中的各位置存储有网络层中各神经元的模型参数。
可选地,辅助网络包含输出层矩阵,输出层矩阵与模型参数矩阵具有相同尺寸;
参数选择模块503,可以包括:
第一输出层矩阵设置子模块,用于将门控值大于门控阈值的辅助参数在输出层矩阵对应位置的数值设置为0,将门控值不大于门控阈值的辅助参数在输出层矩阵对应位置中的数值设置为1;
第一掩码处理子模块,用于利用输出层矩阵与网络层对应的模型参数矩阵进行掩码处理,以清除输出层矩阵中数值为0的位置在模型参数矩阵中对应位置的模型参数、保留输出层矩阵中数值为1的位置在模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为待更新参数。
可选地,所述辅助网络包括行辅助参数和列辅助参数,各所述行辅助参数与模型参数矩阵中的各行相对应,各所述列辅助参数与所述模型参数矩阵中的各列相对应,模型参数矩阵中的各位置存储有网络层中各神经元的模型参数。
可选地,所述辅助网络包含输出层矩阵,所述输出层矩阵与所述模型参数矩阵具有相同尺寸;
参数选择模块503,可以包括:
第二输出层矩阵设置子模块,用于将所述门控值大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为1;
第三输出层矩阵设置子模块,用于将所述门控值大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为1;
第二掩码处理子模块,用于利用所述输出层矩阵与所述网络层对应的模型参数矩阵进行掩码处理,以清除所述输出层矩阵中数值为0的位置在所述模型参数矩阵中对应位置的模型参数、保留所述输出层矩阵中数值为1的位置在所述模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为所述待更新参数。
可选地,该装置还可以包括:
重组模块,用于将模型参数矩阵中的待更新参数重组为满秩的有效值矩阵;
模型参数更新模块,用于对有效值矩阵执行反向传播操作。
可选地,该装置还可以包括:
记录模块,用于记录待更新参数在模型参数矩阵中的参数位置;
矩阵更新模块,用于利用有效值矩阵对原始的模型参数矩阵中与参数位置对应的模型参数进行更新。
可选地,门控模块502,可以用于:
利用门控单元基于如下公式确定各辅助参数对应的门控值:
;
其中,g()表示门控单元,a表示辅助参数,e表示自然常数,β表示超参数。
可选地,该装置还可以包括:
损失值计算模块,用于利用辅助参数与待更新参数共同确定神经网络模型在本轮迭代训练的损失值;
反向传播模块,用于利用损失值分别对辅助参数和待更新参数执行反向传播操作。
可选地,损失值计算模块,可以用于:
利用辅助参数与待更新参数基于如下公式共同确定神经网络模型在本轮迭代训练中的损失值:
;
其中,Loss表示损失值,f()表示神经网络模型的损失函数,w表示模型参数,a表示辅助参数,f(w,a)表示利用基于辅助参数在模型参数中选择出的待更新参数所确定的损失函数值,g()表示门控函数,g(a)表示门控值,μ表示学习率。
可选地,反向传播模块,可以包括:
反向传播子模块,用于利用反向传播算法计算辅助参数关于损失值的梯度值,并利用梯度值更新辅助参数。
可选地,反向传播子模块,可以用于:
利用梯度值基于随机梯度下降算法更新辅助参数。
可选地,神经网络模型的推理任务为问答任务,问答任务的任务内容为根据对话文本从预设答案库中选择正确的答案文本,损失函数为:
;
其中,N表示对话文本的数量,M表示每个对话文本对应答案的可能数量,w j 表示第j个答案的权重,y ij 表示第i组对话中第j个答案的标签,标签为正确标签或错误标签,p ij 表示神经网络模型预测第i组对话中第j个答案为正确的概率。
可选地,该装置还可以包括:
清除模块,用于清除不属于待更新参数的模型参数对应的参数更新数据;参数更新数据包括优化器状态,优化器状态包括一阶动量和二阶动量。
请参考图6,图6为本发明实施例所提供的一种计算设备的结构框图,本发明实施例提供了一种计算设备60,包括处理器61和存储器62;其中,所述存储器62,用于保存计算机程序;所述处理器61,用于在执行所述计算机程序时执行前述实施例提供的应用于聚合组管理模块、协议数据模块及驱动模块的待更新参数选择方法。
关于上述待更新参数选择方法的具体过程可以参考前述实施例中提供的相应内容,在此不再进行赘述。
并且,所述存储器62作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述计算设备60还包括电源63、通信接口64、输入输出接口65和通信总线66;其中,所述电源63用于为所述计算设备60上的各硬件设备提供工作电压;所述通信接口64能够为所述计算设备60创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口65,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
可选地,上述计算设备60可以为显卡设备,上述存储器62可以为显存。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上实施例所述的应用于聚合组管理模块、协议数据模块及驱动模块的待更新参数选择方法。
由于计算机可读存储介质部分的实施例与待更新参数选择方法部分的实施例相互对应,因此存储介质部分的实施例请参见待更新参数选择方法部分的实施例的描述,这里不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种待更新参数选择方法、装置、计算设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
Claims (20)
1.一种待更新参数选择方法,其特征在于,应用于计算设备,所述计算设备存储有待训练的神经网络模型,所述方法包括:
在对所述神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与所述神经网络模型中的各网络层对应的辅助网络;所述辅助网络包含与所述网络层中的各神经元对应的辅助参数,所述辅助参数利用与所述神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;
利用门控单元确定各所述辅助参数对应的门控值;
将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,以仅对所述待更新参数执行所述反向传播操作;所述门控阈值利用所述计算设备的存储资源量设置。
2.根据权利要求1所述的待更新参数选择方法,其特征在于,还包括:
利用所述计算设备支持的模型参数存储量设置所述门控阈值,以使所述待更新参数的数量小于所述模型参数存储量。
3.根据权利要求2所述的待更新参数选择方法,其特征在于,所述利用所述计算设备支持的模型参数存储量设置所述门控阈值,包括:
利用所述计算设备可存储的模型参数存储量基于如下公式设置所述门控阈值:
;
其中,T i 表示所述神经网络模型的第i层网络层对应的门控阈值,W i 表示由所述第i层网络层中所有模型参数组成的参数序列,D表示所述计算设备的模型参数存储量,M表示所述神经网络模型的模型参数总数量,percentile表示百分位数函数,所述百分位数函数用于以D/M为百分比在所述参数序列中选择作为百分位数的目标模型参数值并以所述目标模型参数值作为所述门控阈值。
4.根据权利要求1所述的待更新参数选择方法,其特征在于,所述辅助网络中的辅助参数排布为辅助参数矩阵,所述辅助参数矩阵与模型参数矩阵具有相同尺寸,所述辅助参数矩阵中的每一位置与所述模型参数矩阵中的相同位置相映射,所述模型参数矩阵中的各位置存储有所述网络层中各所述神经元的模型参数。
5.根据权利要求4所述的待更新参数选择方法,其特征在于,所述辅助网络包含输出层矩阵,所述输出层矩阵与所述模型参数矩阵具有相同尺寸;
所述将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,包括:
将所述门控值大于所述门控阈值的辅助参数在所述输出层矩阵对应位置的数值设置为0,将所述门控值不大于所述门控阈值的辅助参数在所述输出层矩阵对应位置中的数值设置为1;
利用所述输出层矩阵与所述网络层对应的模型参数矩阵进行掩码处理,以清除所述输出层矩阵中数值为0的位置在所述模型参数矩阵中对应位置的模型参数、保留所述输出层矩阵中数值为1的位置在所述模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为所述待更新参数。
6.根据权利要求1所述的待更新参数选择方法,其特征在于,所述辅助网络包括行辅助参数和列辅助参数,各所述行辅助参数与模型参数矩阵中的各行相对应,各所述列辅助参数与所述模型参数矩阵中的各列相对应,所述模型参数矩阵中的各位置存储有所述网络层中各所述神经元的模型参数。
7.根据权利要求6所述的待更新参数选择方法,其特征在于,所述辅助网络包含输出层矩阵,所述输出层矩阵与所述模型参数矩阵具有相同尺寸;
所述将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,包括:
将所述门控值大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的行辅助参数在所述输出层矩阵中对应的行所包含的所有数值均设置为1;
将所述门控值大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为0,将所述门控值不大于所述门控阈值的列辅助参数在所述输出层矩阵中对应的列所包含的所有数值均设置为1;
利用所述输出层矩阵与所述网络层对应的模型参数矩阵进行掩码处理,以清除所述输出层矩阵中数值为0的位置在所述模型参数矩阵中对应位置的模型参数、保留所述输出层矩阵中数值为1的位置在所述模型参数矩阵中对应位置的模型参数、并将保留的模型参数作为所述待更新参数。
8.根据权利要求7所述的待更新参数选择方法,其特征在于,所述仅对所述待更新参数执行所述反向传播操作,包括:
将所述模型参数矩阵中的待更新参数重组为满秩的有效值矩阵;
对所述有效值矩阵执行所述反向传播操作。
9.根据权利要求8所述的待更新参数选择方法,其特征在于,在将所述模型参数矩阵中的待更新参数重组为满秩的有效值矩阵之后,还包括:
记录所述待更新参数在所述模型参数矩阵中的参数位置;
在对所述有效值矩阵执行所述反向传播操作之后,还包括:
利用所述有效值矩阵对原始的模型参数矩阵中与所述参数位置对应的模型参数进行更新。
10.根据权利要求1所述的待更新参数选择方法,其特征在于,所述利用门控单元确定各所述辅助参数对应的门控值,包括:
利用门控单元基于如下公式确定各所述辅助参数对应的门控值:
;
其中,g()表示门控单元,a表示所述辅助参数,e表示自然常数,β表示超参数。
11.根据权利要求1所述的待更新参数选择方法,其特征在于,在将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数之后,还包括:
利用所述辅助参数与所述待更新参数共同确定所述神经网络模型在本轮迭代训练的损失值;
利用所述损失值分别对所述辅助参数和所述待更新参数执行所述反向传播操作。
12.根据权利要求11所述的待更新参数选择方法,其特征在于,所述利用所述辅助参数与所述待更新参数共同确定所述神经网络模型在本轮迭代训练的损失值,包括:
利用所述辅助参数与所述待更新参数基于如下公式共同确定所述神经网络模型在本轮迭代训练中的损失值:
;
其中,Loss表示所述损失值,f()表示所述神经网络模型的损失函数,w表示所述模型参数,a表示所述辅助参数,f(w,a)表示利用基于所述辅助参数在所述模型参数中选择出的所述待更新参数所确定的损失函数值,g()表示门控函数,g(a)表示所述门控值,μ表示学习率。
13.根据权利要求11所述的待更新参数选择方法,其特征在于,利用损失值对所述辅助参数执行所述反向传播操作,包括:
利用反向传播算法计算所述辅助参数关于所述损失值的梯度值,并利用所述梯度值更新所述辅助参数。
14.根据权利要求13所述的待更新参数选择方法,其特征在于,所述利用所述梯度值更新所述辅助参数,包括:
利用所述梯度值基于随机梯度下降算法更新所述辅助参数。
15.根据权利要求12所述的待更新参数选择方法,其特征在于,所述神经网络模型的推理任务为问答任务,所述问答任务的任务内容为根据对话文本从预设答案库中选择正确的答案文本,所述损失函数为:
;
其中,N表示对话文本的数量,M表示每个所述对话文本对应答案的可能数量,w j 表示第j个答案的权重,y ij 表示第i组对话中第j个答案的标签,所述标签为正确标签或错误标签,p ij 表示所述神经网络模型预测第i组对话中第j个答案为正确的概率。
16.根据权利要求1所述的待更新参数选择方法,其特征在于,还包括:
清除不属于所述待更新参数的模型参数对应的参数更新数据;所述参数更新数据包括优化器状态,所述优化器状态包括一阶动量和二阶动量。
17.一种待更新参数选择装置,其特征在于,应用于计算设备,所述计算设备存储有待训练的神经网络模型,所述装置包括:
获取模块,用于在对所述神经网络模型的模型参数执行每轮迭代训练的反向传播操作前,获取与所述神经网络模型中的各网络层对应的辅助网络;所述辅助网络包含与所述网络层中的各神经元对应的辅助参数,所述辅助参数利用与所述神经网络模型在每轮迭代训练中共同确定的损失值进行迭代更新;
门控模块,用于利用门控单元确定各所述辅助参数对应的门控值;
参数选择模块,用于将所述门控值不大于门控阈值的辅助参数对应的神经元所包含的模型参数设置为待更新参数,并清除不属于所述待更新参数的模型参数,以仅对所述待更新参数执行所述反向传播操作;所述门控阈值利用所述计算设备的存储资源量设置。
18.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至16任一项所述的待更新参数选择方法。
19.根据权利要求18所述的计算设备,其特征在于,所述计算设备为显卡设备。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至16任一项所述的待更新参数选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410269821.9A CN117875397B (zh) | 2024-03-11 | 2024-03-11 | 一种待更新参数选择方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410269821.9A CN117875397B (zh) | 2024-03-11 | 2024-03-11 | 一种待更新参数选择方法、装置、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117875397A true CN117875397A (zh) | 2024-04-12 |
CN117875397B CN117875397B (zh) | 2024-06-04 |
Family
ID=90584901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410269821.9A Active CN117875397B (zh) | 2024-03-11 | 2024-03-11 | 一种待更新参数选择方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117875397B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118070879A (zh) * | 2024-04-17 | 2024-05-24 | 浪潮电子信息产业股份有限公司 | 一种模型更新方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539460A (zh) * | 2020-04-09 | 2020-08-14 | 咪咕文化科技有限公司 | 图像分类方法、装置、电子设备及存储介质 |
WO2021007812A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
CN113807496A (zh) * | 2021-05-31 | 2021-12-17 | 华为技术有限公司 | 构建神经网络模型的方法、装置、设备、介质和程序产品 |
CN114462594A (zh) * | 2022-01-11 | 2022-05-10 | 广东轩辕网络科技股份有限公司 | 神经网络训练方法、装置、电子设备及存储介质 |
CN114925829A (zh) * | 2022-07-18 | 2022-08-19 | 山东海量信息技术研究院 | 一种神经网络训练方法、装置、电子设备及存储介质 |
CN116629344A (zh) * | 2023-05-29 | 2023-08-22 | 重庆大学 | 基于Ca-LIF神经元模型的Spike-BP片上学习方法、系统及处理器 |
CN117668563A (zh) * | 2024-01-31 | 2024-03-08 | 苏州元脑智能科技有限公司 | 文本识别方法、装置、电子设备及可读存储介质 |
-
2024
- 2024-03-11 CN CN202410269821.9A patent/CN117875397B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021007812A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
CN111539460A (zh) * | 2020-04-09 | 2020-08-14 | 咪咕文化科技有限公司 | 图像分类方法、装置、电子设备及存储介质 |
CN113807496A (zh) * | 2021-05-31 | 2021-12-17 | 华为技术有限公司 | 构建神经网络模型的方法、装置、设备、介质和程序产品 |
CN114462594A (zh) * | 2022-01-11 | 2022-05-10 | 广东轩辕网络科技股份有限公司 | 神经网络训练方法、装置、电子设备及存储介质 |
CN114925829A (zh) * | 2022-07-18 | 2022-08-19 | 山东海量信息技术研究院 | 一种神经网络训练方法、装置、电子设备及存储介质 |
CN116629344A (zh) * | 2023-05-29 | 2023-08-22 | 重庆大学 | 基于Ca-LIF神经元模型的Spike-BP片上学习方法、系统及处理器 |
CN117668563A (zh) * | 2024-01-31 | 2024-03-08 | 苏州元脑智能科技有限公司 | 文本识别方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
MEHRABI, A.等: "Efficient Implementation of a Multi-Layer Gradient-Free Online-Trainable Spiking Neural Network on FPGA", ARXIV, 14 July 2023 (2023-07-14) * |
杨怡滨;: "基于TPOT的信用卡逾期识别算法", 企业科技与发展, no. 03, 10 March 2020 (2020-03-10) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118070879A (zh) * | 2024-04-17 | 2024-05-24 | 浪潮电子信息产业股份有限公司 | 一种模型更新方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117875397B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210150372A1 (en) | Training method and system for decision tree model, storage medium, and prediction method | |
CN117875397B (zh) | 一种待更新参数选择方法、装置、计算设备及存储介质 | |
CN112651509A (zh) | 量子线路的确定方法及装置 | |
CN109416758A (zh) | 神经网络及神经网络训练的方法 | |
CN111401557A (zh) | 智能体决策制定方法、ai模型训练方法、服务器及介质 | |
CN115437795B (zh) | 一种异构gpu集群负载感知的显存重计算优化方法及系统 | |
CN116644804B (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
Johar et al. | A review of genetic algorithms and parallel genetic algorithms on graphics processing unit (GPU) | |
CN111740925B (zh) | 一种基于深度强化学习的Coflow调度方法 | |
CN114792378A (zh) | 一种量子图像识别方法及装置 | |
CN114971066A (zh) | 融合遗忘因素和学习能力的知识追踪方法及系统 | |
CN116938323B (zh) | 一种基于强化学习的卫星转发器资源分配方法 | |
CN113052316B (zh) | 基于因果推理的知识追踪方法、系统、设备及存储介质 | |
US20230342626A1 (en) | Model processing method and related apparatus | |
CN112488399A (zh) | 电力负荷预测方法及装置 | |
CN117808120A (zh) | 用于大语言模型的强化学习的方法和装置 | |
Rasekh et al. | EDNC: Evolving differentiable neural computers | |
CN116911459A (zh) | 适应于虚拟电厂的多输入多输出超短期电力负荷预测方法 | |
CN113128771B (zh) | 一种并行差分进化算法的昂贵函数寻优方法及其装置 | |
CN115619563A (zh) | 一种基于神经网络的股票价格分析方法 | |
CN114969148A (zh) | 一种基于深度学习的系统访问量预测方法、介质和设备 | |
CN114064235A (zh) | 多任务教与学优化方法、系统及设备 | |
KR20210157826A (ko) | 심층 신경망 구조 학습 및 경량화 방법 | |
CN113162780B (zh) | 实时网络拥塞分析方法、装置、计算机设备和存储介质 | |
CN116521584B (zh) | 一种基于多智能体的mpc缓存更新方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |