当前位置: 首页 > 专利查询>北京大学专利>正文

一种基于通用子网络剪枝的预训练语言模型持续学习方法技术

技术编号:39166444 阅读:12 留言:0更新日期:2023-10-23 15:04
本发明专利技术提供了一种基于通用子网络剪枝的预训练语言模型持续学习方法,该方法通过通用子网络剪枝,将网络中的冗余神经元置零,从而对原有知识进行压缩,再对置零的空闲神经元在新的专业领域数据上进行预训练更新,进行领域协同继续预训练,在保持模型大小不变的情况下,增加模型中所包含的领域知识,且不同领域知识之间可以协同工作,达到知识迁移的效果。达到知识迁移的效果。达到知识迁移的效果。

【技术实现步骤摘要】
一种基于通用子网络剪枝的预训练语言模型持续学习方法


[0001]本专利技术提供一种预训练语言模型持续学习技术,具体涉及一种基于通用子网络剪枝的预训练语言模型持续学习方法,属于自然语言处理中的预训练语言模型


技术介绍

[0002]预训练语言模型是支撑现代自然语言处理应用的核心技术,目前预训练语言模型通常基于使用自注意力机制的Transformer架构,采用大规模预训练语言任务进行预训练。Delvin等人(2018)基于掩码语言模型(Masked Language Model)任务训练出双向语言模型BERT,后续Radford等人(2018)、Lewis等人(2019)、Raffel等人(2020)使用不同的架构或不同的预训练任务训练出各种适用于不同场景的预训练语言模型,如GPT

2、BART、T5等。由于现有预训练语言模型大多针对通用领域无标注数据进行预训练,在实际应用场景中,这些预训练语言模型由于缺乏相关专业领域知识,往往不能够表现出较好的性能,因此需要在专业领域数据上对现有预训练语言模型进行持续学习预训练,以增强其在专业领域任务上的性能。在持续学习过程中,通常会出现灾难性遗忘现象(catastrophic forgetting),即在新的数据上进行训练之后,在原始任务上的性能会发生严重的下降,如何解决遗忘问题是预训练语言模型持续学习技术的关键。
[0003]现有的预训练语言模型持续学习方法中,Gururangan等人(2020)提出了简单的持续预训练策略DAPT,该方法直接使用专业领域数据对预训练语言模型进行继续预训练,然而,此方法未考虑遗忘问题。Qin等人(2022)提出了ELLE持续预训练策略,该策略不断增加模型大小以提高模型容量,并且设计领域提示来充分利用领域知识,但是由于该方法需要不断增大模型,在实际应用中的存储和计算效率都比较低。在持续学习过程中,不同领域之间可能存在知识迁移作用,如生物领域知识同样可以应用于医药领域,如何促进领域知识迁移也是预训练语言模型持续学习中需要关注的问题。

技术实现思路

[0004]为了克服上述现有技术的不足,并且促进预训练语言模型持续学习过程中不同领域知识之间的迁移作用,本专利技术提出一种基于通用子网络剪枝的预训练语言模型持续学习方法,通过通用子网络剪枝,将网络中的冗余神经元置零,从而对原有知识进行压缩,再对置零的神经元在专业领域数据上进行预训练,在保持模型大小不变的情况下,增加模型中所包含的领域知识,且不同领域知识之间可以协同工作,达到知识迁移的效果。
[0005]为方便起见,以下列出本专利技术相关术语名称及含义:
[0006]预训练语言模型:近年来,以BERT、GPT为代表的预训练语言模型(Pretrained Language Models)在自然语言处理领域的诸多任务上取得了令人惊艳的成绩,预训练语言模型已然成为现代自然语言处理技术中的基石。目前大多数的预训练语言模型都是基于Transformer架构,从网络爬取大规模无标注语料,并设置预训练任务进行预训练(Pretrain)。在应用于下游任务时,仅需要在预训练语言模型上叠加完成特定任务所需的
层,在少量任务数据上进行微调(fine

tune)后即可取得较好效果。本专利技术针对常用的预训练语言模型BERT进行改进,BERT基于Transformer架构,通过掩码语言模型(Masked Language Model)预训练任务,在海量通用领域无标注数据上进行预训练,最终在GLUE自然语言处理任务评测数据集上取得了当时最好的成绩。
[0007]预训练:预训练(Pretraining)是指在大规模数据上进行的一种基于无监督学习的训练过程,用于提前学习模型的参数和特征表示。在传统的机器学习任务中,通常需要手工提取和设计特征来表示数据。然而,预训练的思想是通过在大量未标记数据上进行训练,让模型自动学习有关数据的低级别和高级别特征。这些学到的特征可以提取和编码数据的潜在结构、语义信息和上下文。预训练旨在为模型提供一个更好的初始状态,以便在特定任务上进行进一步微调或迁移学习。预训练通常包括以下步骤:数据收集、构建模型、在预训练任务上无监督学习。预训练的优势在于通过大规模数据的自我学习,模型可以捕捉数据的一般性特征和潜在结构,能够更好地泛化到未见过的数据。预训练已经在许多领域(如自然语言处理、计算机视觉、语音识别等)取得了令人瞩目的成果,并成为构建先进模型的重要组成部分之一。
[0008]掩码语言模型任务:BERT使用了掩码语言模型(Masked Language Modeling,MLM)任务作为预训练的目标之一。掩码语言模型是一种基于上下文的预测任务,旨在让模型学会对输入文本中的某些标记进行预测,而不是仅仅理解整个句子或文本。在BERT中,大约15%的输入标记将被随机选择并掩盖(用一个特殊的"[MASK]"标记替换)。然后,模型会尝试预测这些被掩盖的标记。模型基于整个句子的上下文进行预测,即它可以利用句子中其他标记的信息来猜测掩码标记的内容。模型通过最大似然估计(MLE)训练来优化预测掩码标记的准确性。通过进行掩码语言模型任务的预训练,BERT能够学习到丰富的句子表示,能够理解句子中的语法、语义和上下文信息。
[0009]持续学习:持续学习(Continual Learning),也被称为持续学习或增量学习,是机器学习中的一个重要概念,指的是在面临不断变化的数据流的情况下,系统能够持续地积累新知识和技能,不需要丢弃先前学习的知识。传统的机器学习模型通常是在固定的训练集上进行训练,然后被应用于未知的测试数据。然而,在持续学习的场景下,数据是逐步到达的,新的数据实例可能与旧的数据实例存在不同的分布或标签。持续学习首先面临遗忘问题,新学到的知识可能会导致对旧知识的遗忘。其次是学习效率:对于新的数据实例,系统需要花费较少的资源和时间来进行快速学习。在持续学习中,模型需要同时处理不同的任务,希望不同任务之间能够共享知识和特征。预训练语言模型的持续学习是指在已经通过大规模数据进行预训练的语言模型上,继续使用新的数据进行训练和更新,以适应后续任务。传统上,预训练语言模型(如BERT、GPT)通常是在大规模文本语料库上进行离线训练,并生成一个固定的模型。然而,随着时间的推移,新的数据和任务可能会不断涌现,而预训练模型可能需要更新以适应新的环境,提高模型的灵活性和应用范围。。随着预训练语言模型的广泛应用,如何在其基础上进行持续学习也成为了学术界研究的热点,特别是预训练语言模型的训练往往需要消耗大量的计算资源,如何在尽可能减少遗忘的情况下进行高效持续学习是关键问题。
[0010]通用子网络剪枝:通用子网络剪枝(Lottery Ticket Hypothesis)是一种关于神经网络训练和剪枝的观点。其核心思想是:在一个较大的、过参数化的神经网络中,存在一
小部分通用子网络,它们具有与完整网络相当的能力,可以单独训练成一个小而高效的网络。对于拥有巨量参数的预训练语言模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于通用子网络剪枝的预训练语言模型持续学习方法,包括如下步骤:1)基于通用子网络剪枝的知识压缩,对当前模型中的知识进行压缩,腾出空间以容纳新的领域知识;包括步骤A~C:A.预训练语言模型在原有领域数据进行训练,将模型原始参数记作θ
old
,模型之前训练使用的领域数据记为D
old
,将使用Adam或者SGD训练模型的算法记为其中t为训练的步数,首先将模型在之前使用的领域数据D
old
上使用掩码语言模型任务训练t0步,即得到模型B.进行迭代幅值剪枝,通过剪枝得到通用子网络,即剪枝看作对模型f(x;θ)施加掩码M∈{0,1}
|θ|
,剪枝后的模型f(x;M

θ)即为通用子网络;C.将模型参数恢复至初始状态。由于A和B步骤中的训练过程改变了预训练语言模型的参数,将其恢复到初始参数θ
old
,得到通用子网络模型f(x;M

θ
old
);2)领域协同继续预训练;包括步骤D~E:D.冻结剪枝后保留的参数,对剪枝过程中置零的空闲参数保留梯度,后续进行更新;E.在专业领域数据上进行继续预训练,专业领域大规模无标注数据D
new
,模型在D
new
上训练t2步,更新空闲参数:其中~M表示对掩码M取反,原本为0的元素变为1,原本为1的元素变为0,表示仅对通用子网络剪枝中置零的空闲元素进行更新,最后得到同时包含D
old
和D
new
两个专业领域知识的模型f(x;θ
new
),实现基于通用子网络剪枝的预训练语言模型持续学习。2.如权利要求1所述基于通用子网络剪枝的预训练语言模型持续学习方法,其特征是,步骤A基于BERT进行持续预训练,BERT预训练语言模型f(x;θ)的参数为θ,θ={W
Emb
...

【专利技术属性】
技术研发人员:宋一帆李成王科姚荣李素建
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1