【技术实现步骤摘要】
一种神经网络训练方法以及装置
[0001]本申请涉及人工智能领域,尤其涉及一种神经网络训练方法以及装置。
技术介绍
[0002]目前大规模预训练语言模型成为了神经网络训练领域的主导模型,在几乎所有的自然语言理解任务上大大超越了之前的模型。这类模型基于先进的转化器Transformer的结构,在大规模语料(如10G到100G)中通过自监督预训练任务训练得到。但由于这些模型需要庞大的计算资源且推断时间慢,如何将它部署到实际生产环境成为目前的技术挑战。
[0003]通常,可以通过模型搜索的方法去构建预训练语言模型或者神经翻译模型,这些方式将改变Transformer的结构,引入结构不同的组件,因此搜索空间和训练代价都巨大,得到最终模型的效率低。
技术实现思路
[0004]本申请提供一种神经网络训练方法以及装置,用于通过在资源约束条件的约束下进行同质搜索,减少搜索空间的大小,高效地搜索得到符合需求的模型。
[0005]有鉴于此,第一方面,本申请提供一种神经网络训练方法,包括:获取超预训练语言模型;获取资源约束条件以及超参数搜索空间,资源约束条件指示针对模型占用的资源的约束,超参数搜索空间指示模型的超参数的范围;在资源约束条件的约束下从超参数搜索空间中搜索出目标模型的结构,目标模型的至少两层网络层的超参数相同;对目标模型进行训练,得到训练后的目标模型。
[0006]因此,本申请实施方式中,搜索得到的子模型的至少两层网络层的超参数相同,从而需要构建的超参数搜索空间更小,搜索子模型的效率也更 ...
【技术保护点】
【技术特征摘要】
1.一种神经网络训练方法,其特征在于,包括:获取超预训练语言模型;获取资源约束条件以及超参数搜索空间,所述资源约束条件指示针对模型占用的资源的约束,所述超参数搜索空间指示模型的超参数的范围;在资源约束条件的约束下从所述超参数搜索空间中搜索出目标模型的结构,所述目标模型的至少两层网络层的超参数相同;对所述目标模型进行训练,得到训练后的目标模型。2.根据要求1所述的方法,其特征在于,所述获取超预训练语言模型,包括:构建神经网络,得到初始模型;将训练集分为多个子集;从所述初始模型中采集子模型,得到多个第一子模型;使用所述多个子集并行对所述多个第一子模型进行训练,得到所述超预训练语言模型。3.根据权利要求2所述的方法,其特征在于,所述使用所述多个子集并行对所述多个第一子模型进行训练,得到所述超预训练语言模型,包括:将所述多个子集和所述多个第一子模型分配至多个计算节点,以在所述多个计算节点中计算所述多个第一子模型的梯度;根据所述多个第一子模型的梯度更新所述初始模型的参数,得到所述超预训练语言模型。4.根据权利要求3所述的方法,其特征在于,所述根据所述多个子模型的梯度更新所述初始模型的参数,得到所述超预训练语言模型,包括:融合所述多个第一子模型的梯度,得到融合梯度;根据所述融合梯度更新所述初始模型的参数,得到所述超预训练语言模型。5.根据权利要求1
‑
4中任一项所述的方法,其特征在于,所述在资源约束条件的约束下从所述超参数搜索空间中搜索出目标模型的结构,包括:在资源约束条件的约束下,从所述超参数搜索空间中搜索得到至少一个模型结构,所述至少一个模型结构中每个模型结构对应的模型的至少两层网络层的超参数相同;从所述超预训练语言模型中采集与所述至少一个模型结构对应的至少一个第二子模型;根据所述至少一个第二子模型从所述至少一个模型结构中筛选出输出结果符合预设条件的模型结构,得到所述目标模型的结构。6.根据权利要求5所述的方法,其特征在于,所述从所述超预训练语言模型中采集与所述至少一个模型结构对应的至少一个第二子模型包括:从所述初始模型中采集子模型,得到至少一个第三子模型;从所述至少一个第三子模型中的每个第三子模型的每层网络层中采集至少一个模块,得到所述至少一个第二子模型。7.根据权利要求5所述的方法,其特征在于,所述在资源约束条件的约束下,从所述超参数搜索空间中搜索出至少一个模型结构,包括:获取多个模型结构对应的模型在硬件中运行的多个运行结果,所述多个模型是从所述
超参数搜索空间搜索得到的模型结构;从所述多个模型结构中筛选出运行结果符合所述资源约束条件的模型结构,得到所述至少一个模型结构。8.根据权利要求5
‑
7中任一项所述的方法,其特征在于,所述根据所述至少一个第二子模型从所述至少一个模型结构中筛选出输出结果符合预设条件的模型结构,得到所述目标模型的结构,包括:使用测试集对所述至少一个第二子模型的输出结果进行评估,得到每个第二子模型的评估结果;根据所述每个第二子模型的评估结果从所述至少一个模型结构中筛选出符合所述预设条件的模型的结构;将所述符合所述预设条件的模型的结构,作为所述目标模型的结构。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:根据所述符合所述预设条件的模型的结构,构建得到所述目标模型;或者,从所述超预训练语言模型中采集对应的子模型,得到所述目标模型。10.根据权利要求5
‑
9中任一项所述的方法,其特征在于,所述超预训练语言模型的每一层网络层包括多头注意力网络,所述多头注意力网络包括多个注意力模块,每个注意力模块具有多个维度的参数,所述多头注意力网络用于计算多个输入向量之间的关联度,并根据所述关联度得到包括上下文语义的输出向量;所述从所述超预训练语言模型中采集与所述至少一个模型结构对应的至少一个第二子模型,包括:从所述超预训练语言模型的每一层网络层的所述多头注意力网络中的所述多个注意力模块中采集至少一个注意力模块,以及从所述多个维度的参数中采集至少一个维度的参数,得到所述多个第二子模型;或者,从所述超预训练语言模型的每一层网络层的所述多头注意力网络中的每个注意力模块中的每个维度采集至少一种参数,得到所述多个第二子模型。11.根据权利要求1
‑
10中任一项所述的方法,其特征在于,所述获取资源约束条件,包括:接收用户输入数据;从所述用户输入数据中获取所述资源约束条件,所述资源约束条件包括与模型的时延或者占用内存相关的约束条件。12.一种神经网络训练装置,其特征在于,包括:预训练模块,用于获取超预训练语言模型;获取模块,用于获取资源约束条件以及超参数搜索空间,所...
【专利技术属性】
技术研发人员:尹伊淳,尚利峰,蒋欣,陈晓,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。