CN113486162A - 一种大规模预训练模型微调方法及装置 - Google Patents

一种大规模预训练模型微调方法及装置 Download PDF

Info

Publication number
CN113486162A
CN113486162A CN202110628376.7A CN202110628376A CN113486162A CN 113486162 A CN113486162 A CN 113486162A CN 202110628376 A CN202110628376 A CN 202110628376A CN 113486162 A CN113486162 A CN 113486162A
Authority
CN
China
Prior art keywords
training
parameters
data set
training model
network
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.)
Pending
Application number
CN202110628376.7A
Other languages
English (en)
Inventor
常宝宝
许润昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202110628376.7A priority Critical patent/CN113486162A/zh
Publication of CN113486162A publication Critical patent/CN113486162A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公布了一种大规模预训练模型微调方法及装置,所述方法包括:获取下游任务的训练数据集和预训练模型;根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;选取设定比例的参数组成下游任务的功能子网络;对预训练模型进行微调,只更所述新功能子网络中的参数。本发明对不同的下游任务,自动选择与其最相关的、最重要的功能子网络,在微调过程中只更新这个功能子网络,这样降低了模型的复杂度与假设空间,能够有效避免模型在下游任务中产生严重的过拟合现象。

Description

一种大规模预训练模型微调方法及装置
技术领域
本发明属于深度学习自然语言处理领域,涉及一种大规模预训练模型的微调方法及装置,用于发现预训练模型中与下游任务高度相关的特定功能子网络,并对其进行微调的方法及装置。
背景技术
自然语言处理(NLP),目的是使得计算机具备人类的听、说、读、写、译、问、答、搜索、摘要、对话和聊天等能力,并可利用知识和常识进行推理和决策,并支持客服、诊断、法律、教学等场景。预训练模型,则是使自然语言处理由原来的手工调参、依靠专家的阶段,进入到可以大规模、可复制的大工业施展的阶段,是已经用数据集训练好了的模型。预训练模型过微调之后,用于支持分类、序列标记、结构预测和序列生成等各项技术,并构建文摘、机器翻译、图片检索、视频注释等应用。
现有技术中的预训练模型微调方法包括:
1.将大规模预训练模型的所有参数设置为可训练参数,并在下游任务上同步进行微调,更新所有参数(BERT:Pre-training of Deep Bidirectional Transformers forLanguage Understanding,Jacob Devlin,Ming-Wei Chang,Kenton Lee,KristinaToutanova,NAACL2019)
2.将大规模预训练模型所有参数冻结住不更新,在下游任务上微调的时候只更新最顶层的分类层(To Tune or Not to Tune?Adapting Pretrained Representations toDiverse Tasks, Matthew E.Peters,Sebastian Ruder,Noah A.Smith,Proceedings ofthe 4th Workshop on Representation Learning for NLP)
3.将大规模预训练模型的最底下某些层冻结住不更新,在下游任务上微调的时候只更新最上面的K层以及分类层(Parameter-Efficient Transfer Learning for NLP,Neil Houlsby, Andrei Giurgiu,Stanislaw Jastrzebski,Bruna Morrone,Quentin deLaroussilhe,Andrea Gesmundo, Mona Attariyan,Sylvain Gelly,ICML2019)
现有技术存在的问题包括:
1.大规模预训练模型在下游任务上微调,特别是训练数据量比较少的下游任务上微调的时候,由于模型结构复杂、参数量大,而训练数据少,很容易出现过拟合现象,导致在下游任务上表现不佳,泛化性能差。
2.常见的解决手段,比如【现有技术2】将预训练模型所有参数冻结或者【现有技术3】只微调预训练模型的最上面K层的做法,尽管减少了模型假设空间从而缓解过拟合现象,但是其粒度太大为“层”级别,控制效果过于粗糙,从而效果不是很理想。
发明内容
本发明的目的是提供一种大规模预训练模型微调方法及装置,用以解决大规模预训练模型在下游任务上微调训练的时候的过拟合现象。
为了解决现有技术中存在的问题,一方面本发明提供一种大规模预训练模型微调方法,技术方案如下:
获取下游任务的训练数据集和预训练模型;
根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;
将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;
选取设定比例的参数组成下游任务的功能子网络;
对预训练模型进行微调,只更所述新功能子网络中的参数。
所述根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量,包括:
对第i个参数,其费希尔信息量由下面公式计算得到
Figure RE-GDA0003181581220000021
其中,w表示预训练模型的参数,x表示下游任务的训练数据集,y表示训练数据集的标签, |D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
所述按照计算出的费希尔信息量的绝对值进行排序,包括:
按照计算出的费希尔信息量的绝对值从大到小进行排序。
所述选取设定比例的参数作为与下游任务的功能子网络,包括:
选取设定比例为前10%至40%的参数作为下游任务的功能子网络。
所述方法还包括:
将功能子网络之外的参数冻住,保持原有的预训练权重。
另一方面本发明提供一种大规模预训练模型微调装置,所述装置包括以下模块:
获取模块,用于获取下游任务的训练数据集和预训练模型;
计算模块,用于根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;
排序模块,用于将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;
选择模块,用于选取设定比例的参数组成下游任务的功能子网络;
微调模块,用于对预训练模型进行微调,且只更所述新功能子网络中的参数。
所述计算模块用于:
对第i个参数,其费希尔信息量由下面公式计算得到
Figure RE-GDA0003181581220000031
其中,w表示预训练模型的参数,x表示下游任务的训练数据集,y表示训练数据集的标签, |D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
所述排序模块用于:
按照计算出的费希尔信息量的绝对值从大到小进行排序。
所述选择模块用于:
选取设定比例为前10%至40%的参数作为与下游任务的功能子网络。
还包括冻住模块,用于:将功能子网络之外的参数冻住,保持原有的预训练权重。
本发明提出的大规模预训练模型微调方法带来的最主要的好处:
1.通过自适应的方式,对不同的下游任务,自动选择与其最相关的、最重要的功能子网络,在微调过程中只更新这个功能子网络,这样降低了模型的复杂度与假设空间,能够有效避免模型在下游任务中产生严重的过拟合现象。
2.选出功能子网络之后,其他参数被固定为预训练模型的原始参数并一直保持下来,由于预训练过程中是任务无关的,预训练模型原始参数含有丰富的通用知识,所以当微调结束之后模型中有大部分参数都仍然为预训练模型原始参数,可以有效提高模型泛化能力。
3.本发明的功能子网络是元素级别的而非“层”级别的,更加细粒度,能够给微调过程带来更加精准有效的控制。
附图说明
图1为本发明大规模预训练模型微调方法的流程图;
图2为本发明预训练模型微调装置的示意图。
具体实施方式
近年来,预训练模型在各项自然语言处理任务中都起到了带来了非常高的效果提升。一般的使用思路是模型在大规模的无标注文本上进行语言模型的预训练,使其具有理解自然语言普适性知识的能力,之后再将其应用在具体下游任务(如文本分类,序列标注等)任务上进行模型微调。尽管取得了不错的效果,直接将大规模的预训练模型应用于训练数据量较少的下游任务依然面临模型过拟合的问题。因为模型的参数量太大,结构复杂,而数据量又比较有限,模型很容易在训练数据上过拟合,从而使得其在测试集的表现不佳。
本发明提出的基于功能子网络的大规模预训练模型微调方法就是为了解决上述过拟合问题。
如图1所示,所述方法包括:
第一步,本发明使用下游任务的训练数据为预训练模型各个参数计算其费希尔信息量 (fisher information)。费希尔信息量常常用来衡量一个随机变量中所包含的信息量,放在预训练模型的上下文中,就是可以用来衡量一个参数对于下游任务的重要性程度。其具体计算方式如下。
对于第i个参数,其Fisher information量由下面公式计算所得。
Figure RE-GDA0003181581220000041
其中,w表示预训练模型的参数,x表示下有任务的训练数据集,y表示训练数据集的标签,|D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
在本发明中,每一个下游任务都可以对应一个训练数据集,因此在实施过程中需要将预训练模型应用到某一下游任务时,可以获取该下游任务对应的数据集,并使用该数据集为预训练模型的各个参数计算其费希尔信息量。
需要说明的是,本发明的方法不对预训练模型有任何的限制,对每种预训练模型都适用。也不对下游任务有任何限制。
第二步,本发明选取费希尔信息量绝对值大小排在前百分之p比例的参数作为与下游任务高度相关且重要的功能子网络。
预训练模型可以类比人类的大脑,预训练模型中大规模的参数可以类比人类大脑中含有非常多的神经细胞。人类大脑在某个刺激到来时会引发某个特定区域强烈的反应,对预训练模型来说就是下游任务到来的时候,会激发最直接相关的最重要的子网络的反应。这样选出来的功能子网络对于下游任务是最为敏感且最为重要的。
本发明不对参数的排序进行限制,可以是从大到小,也可以是从小到大,P的取值范围从大到小排序时可以为10%到40%,这是为了得到跟下游任务更相关的参数,本领域技术人员可以根据经验选取合适范围的参数,本发明并不对p的取值范围进行具体的限制。
第三步,本发明按照传统微调方法来更新模型参数,但是本发明只更新对应的功能子网络,而将其他参数都冻住,让他们保持住原先的预训练权重。
以下以四个数据集CoLA、RTE、MRPC、STS-B为例,提供一种具体实施方式。
1.首先本实施方式使用Huggingface提供的BERT-Large-Cased模型 (https:// huggingface.co/transformers/)作为本实施方式的基础预训练模型,在四个数据集上使用本发明提出的方法进行微调,并以现有技术中传统微调方法和TopK微调方法作为对比。
在本发明实施例中每一个数据集都代表一个下游任务。
2.本实施方式使用大小为16的批处理大小,设置dropout率为0.1(,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃)。
3.使用AdamW作为本实施方式的优化器,并对学习率进行网格搜索,搜索范围为{1e-5,2e-5,…,1e-4},使用warmup策略在训练总步数的前10%步进行学习率的逐步增长,使学习率从0增长到目标学习率。
4.本实施方式训练使用的epochs数量为3,并使用梯度裁剪将梯度范数裁剪为最大值为1.
5.本实施方式设置输入的最大长度为128,如果超出则将右侧文字截断
6.本实施方式设置自动检测的功能子网络参数量为总参数量的20%。
在具体实施过程中,上述超参数均可以修改,可以有取值范围:
批处理大小取值范围:4~64;
Dropout率取值范围:0.05~0.3。
本实施方式的实验结果如下表所示:
Figure RE-GDA0003181581220000061
本实施方式中对各个数据集的评价指标如下:
CoLA:Matthews Corr马修斯相关系数。
RTE:Acc准确率。
MRPC:F1。
STS-B:Spearman Corr。
从上述实验结果可以看出,本发明实施方式通过使用下游任务的数据集计算出预训练模型参数的费希尔信息量,选取费希尔信息量绝对值大小排在前百分之p比例的参数作为与下游任务高度相关且重要的功能子网络,微调过程只更新对应的功能子网络中的参数,而将其他参数都冻住,这样得到的微调结果优于传统微调和TopK微调。
为了进一步验证本发明提出方法的效果,更好地证明该方法确实能够减少模型过你和现象并且提高模型泛化能力,本发明实施例还进行了下面两组实验。
第一组实验是领域迁移实验。本发明实施例在MNLI这个自然语言推理数据集上对预训练模型进行微调,然后直接将模型在属于其他领域的自然语言推理数据集上进行测试,包括 SNLI、SICK、SciTail与QQP数据集。如果模型没有过拟合,泛化能力足够好的话,就可以在这些领域外的数据集上表现的更好。(实验超参数设置与前面实验保持一致)。下面是实验结果。指标是Acc(准确率)
Figure RE-GDA0003181581220000062
Figure RE-GDA0003181581220000071
第二组实验是任务迁移实验。本发明实施例在MRPC这个下游任务数据集上先对预训练模型进行微调,之后将其参数固定住迁移到另外一个不同的下游数据集上(包括CoLA,STS-B, QNLI,QQP数据集),并基于这个固定住的模型在上面只简单训练一个线性分类器。如果模型没有过拟合,泛化能力足够好的话,就可以在迁移到另一个任务中依然取得比较好的效果。 (实验超参数设置与前面实验保持一致)。下面是实验结果。
Figure RE-GDA0003181581220000072
相应于上述的方法实施例,本发明实施例还提供一种预训练模型微调装置,该装置应用于服务器,如图2所示,该装置包括:
获取模块,用于获取下游任务的训练数据集和预训练模型;
计算模块,用于根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;
排序模块,用于将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;
选择模块,用于选取设定比例的参数组成下游任务的功能子网络;
微调模块,用于对预训练模型进行微调,且只更所述新功能子网络中的参数。
其中,所述计算模块用于:对第i个参数,其费希尔信息量由下面公式计算得到
Figure RE-GDA0003181581220000073
其中,w表示预训练模型的参数,x表示下游任务的训练数据集,y表示训练数据集的标签, |D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
所述排序模块用于:按照计算出的费希尔信息量的绝对值从大到小进行排序。
所述选择模块用于:选取设定比例为前10%至40%的参数作为与下游任务的功能子网络。还包括冻住模块,用于:将功能子网络之外的参数冻住,保持原有的预训练权重。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种大规模预训练模型微调方法,其特征在于,所述方法包括以下步骤:
获取下游任务的训练数据集和预训练模型;
根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;
将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;
选取设定比例的参数组成下游任务的功能子网络;
对预训练模型进行微调,只更所述新功能子网络中的参数。
2.如权利要求1所述的方法,其特征在于,所述根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量,包括:
对第i个参数,其费希尔信息量由下面公式计算得到
Figure FDA0003101109430000011
其中,w表示预训练模型的参数,x表示下游任务的训练数据集,y表示训练数据集的标签,|D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
3.如权利要求1所述的方法,其特征在于,所述按照计算出的费希尔信息量的绝对值进行排序,包括:
按照计算出的费希尔信息量的绝对值从大到小进行排序。
4.如权利要求3所述的方法,其特征在于,所述选取设定比例的参数作为与下游任务的功能子网络,包括:
选取设定比例为前10%至40%的参数作为下游任务的功能子网络。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
将功能子网络之外的参数冻住,保持原有的预训练权重。
6.一种大规模预训练模型微调装置,其特征在于,所述装置包括以下模块:
获取模块,用于获取下游任务的训练数据集和预训练模型;
计算模块,用于根据所述训练数据集为所述预训练模型的各个参数计算出费希尔信息量;
排序模块,用于将预训练模型的各个参数,按照计算出的费希尔信息量的绝对值进行排序;
选择模块,用于选取设定比例的参数组成下游任务的功能子网络;
微调模块,用于对预训练模型进行微调,且只更所述新功能子网络中的参数。
7.如权利要求6所述的装置,其特征在于,所述计算模块用于:
对第i个参数,其费希尔信息量由下面公式计算得到
Figure FDA0003101109430000021
其中,w表示预训练模型的参数,x表示下游任务的训练数据集,y表示训练数据集的标签,|D|表示的是整个下游任务数据集的规模大小,括号内部表示的是下游任务数据集每一个数据的对数似然概率对该参数求偏导的值。
8.如权利要求6所述的装置,其特征在于,所述排序模块用于:
按照计算出的费希尔信息量的绝对值从大到小进行排序。
9.如权利要求8所述的装置,其特征在于,所述选择模块用于:
选取设定比例为前10%至40%的参数作为与下游任务的功能子网络。
10.如权利要求6所述的装置,其特征在于,还包括冻住模块,用于:
将功能子网络之外的参数冻住,保持原有的预训练权重。
CN202110628376.7A 2021-06-04 2021-06-04 一种大规模预训练模型微调方法及装置 Pending CN113486162A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110628376.7A CN113486162A (zh) 2021-06-04 2021-06-04 一种大规模预训练模型微调方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110628376.7A CN113486162A (zh) 2021-06-04 2021-06-04 一种大规模预训练模型微调方法及装置

Publications (1)

Publication Number Publication Date
CN113486162A true CN113486162A (zh) 2021-10-08

Family

ID=77934800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110628376.7A Pending CN113486162A (zh) 2021-06-04 2021-06-04 一种大规模预训练模型微调方法及装置

Country Status (1)

Country Link
CN (1) CN113486162A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115438176A (zh) * 2022-11-08 2022-12-06 阿里巴巴达摩院(杭州)科技有限公司 下游任务模型生成及任务执行的方法和设备
WO2023142918A1 (zh) * 2022-01-28 2023-08-03 华为云计算技术有限公司 一种基于预训练大模型的图像处理方法及相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023142918A1 (zh) * 2022-01-28 2023-08-03 华为云计算技术有限公司 一种基于预训练大模型的图像处理方法及相关装置
CN115438176A (zh) * 2022-11-08 2022-12-06 阿里巴巴达摩院(杭州)科技有限公司 下游任务模型生成及任务执行的方法和设备

Similar Documents

Publication Publication Date Title
CN110442790B (zh) 推荐多媒体数据的方法、装置、服务器和存储介质
CN107301199B (zh) 一种数据标签生成方法和装置
CN110059716B (zh) 一种cnn-lstm-svm网络模型的构建及mooc辍学预测方法
CN110442781A (zh) 一种基于生成对抗网络的对级排序项目推荐方法
CN112100383A (zh) 一种面向多任务语言模型的元-知识微调方法及平台
CN113486162A (zh) 一种大规模预训练模型微调方法及装置
CN106203534A (zh) 一种基于Boosting的代价敏感软件缺陷预测方法
CN1637744A (zh) 为在大量电子文档中搜索而确定文档相关性的机器学习方法
CN108664658A (zh) 一种考虑用户偏好动态变化的协同过滤视频推荐方法
CN112487290B (zh) 基于大数据和人工智能的互联网精准化教学方法及系统
CN113393057A (zh) 一种基于深度融合机器学习模型的小麦产量集成预测方法
CN111651584A (zh) 一种基于用户行为特征及文章属性的保险文章推荐方法
Zhong et al. Design of a personalized recommendation system for learning resources based on collaborative filtering
CN112148994B (zh) 信息推送效果评估方法、装置、电子设备及存储介质
CN112184089A (zh) 试题难度预测模型的训练方法、装置、设备及存储介质
CN117112648A (zh) 一种基于智慧教育数据的高校学生学习画像生成系统及方法
CN111368081A (zh) 一种精选文本内容确定方法和系统
CN113221547B (zh) 基于信息抽取和知识图谱的试题推荐方法
CN110110784B (zh) 一种基于变压器相关运行数据的变压器故障辨识方法
CN113254513B (zh) 排序模型生成方法、排序方法、装置、电子设备
CN112530546B (zh) 一种基于K-means聚类与XGBoost算法的心理预判方法及系统
CN109726690A (zh) 基于DenseCap网络的学习者行为图像多区域描述方法
CN112699933A (zh) 用户教学素材加工处理能力自动识别方法及系统
Yue Dynamic database design of sports quality based on genetic data algorithm and artificial intelligence
CN118378049B (zh) 缺失表格数据公平预测方法及装置、电子设备

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20211008

WD01 Invention patent application deemed withdrawn after publication