CN112232511B - 面向多任务的预训练语言模型自动压缩方法及平台 - Google Patents

面向多任务的预训练语言模型自动压缩方法及平台 Download PDF

Info

Publication number
CN112232511B
CN112232511B CN202011470331.3A CN202011470331A CN112232511B CN 112232511 B CN112232511 B CN 112232511B CN 202011470331 A CN202011470331 A CN 202011470331A CN 112232511 B CN112232511 B CN 112232511B
Authority
CN
China
Prior art keywords
distillation
model
training
network
knowledge
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.)
Active
Application number
CN202011470331.3A
Other languages
English (en)
Other versions
CN112232511A (zh
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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202011470331.3A priority Critical patent/CN112232511B/zh
Priority to PCT/CN2020/138016 priority patent/WO2022126683A1/zh
Priority to JP2022570738A priority patent/JP7381814B2/ja
Priority to GB2214196.4A priority patent/GB2619569A/en
Publication of CN112232511A publication Critical patent/CN112232511A/zh
Application granted granted Critical
Publication of CN112232511B publication Critical patent/CN112232511B/zh
Priority to US17/564,071 priority patent/US11526774B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Machine Translation (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种面向多任务的预训练语言模型自动压缩方法及平台。该方法设计一种结构生成器的元网络,基于Transformer层采样的知识蒸馏方法构建知识蒸馏编码向量,利用结构生成器生成与当前输入的编码向量对应的蒸馏结构模型;同时提出伯努利分布采样的方法训练结构生成器;每轮迭代时,利用伯努利分布采样的方式迁移各个编码器单元,组成对应的编码向量;通过改变输入结构生成器的编码向量和小批次的训练数据,联合训练结构生成器和对应的蒸馏结构,可以学得能够为不同蒸馏结构生成权重的结构生成器;同时在已训练好的元学习网络基础上,通过进化算法搜索最优压缩结构,由此得到与任务无关的预训练语言模型的最优通用压缩架构。

Description

面向多任务的预训练语言模型自动压缩方法及平台
技术领域
本发明属于语言模型压缩领域,尤其涉及一种面向多任务的预训练语言模型自动压缩方法及平台。
背景技术
大规模预训练语言模型在自然语言理解和生成任务上都取得了优异的性能,然而,将具有海量参数的预训练语言模型部署到内存有限的设备中仍然面临巨大挑战。在模型压缩领域,已有的语言模型压缩方法都是针对特定任务的语言模型压缩。尽管针对特定任务的知识蒸馏很有效,但是对大模型微调和推理仍费时费力,计算成本也很高。当面向下游其它任务时,使用特定任务知识蒸馏生成的预训练模型仍需要重新微调大模型以及生成相关的大模型知识。
已有的模型压缩中采用的知识蒸馏策略多数为逐层知识蒸馏,即给定一个教师网络和一个学生网络,为了实现对学生网络的监督训练,逐层知识蒸馏的方法是最小化两个网络之间的特征图距离。在训练数据充足时,该方法通常可以取得较好的效果。但是在小样本数据下,训练容易受到过拟合的影响,估计误差显著增大并会逐层传播。因此,小样本情况下进行神经网络压缩的核心挑战是:压缩后的模型很容易在少样本训练实例上过拟合,从而导致推断过程中与原始网络之间存在较大的估计误差。估计误差可能会逐层累积和传播,最终破坏网络输出。
另外,已有的知识蒸馏方法主要是数据驱动的稀疏约束或人工设计的蒸馏策略;考虑到通常一个BERT网络具有12层Transformer单元,每个单元包含8头的自注意力单元;自注意力单元可能的连接方式有上亿种情况,由于受计算资源等限制,人工设计所有可能的蒸馏结构并且寻找最优结构几乎不可能。
发明内容
本发明的目的在于针对现有技术的不足,提供一种面向多任务的预训练语言模型自动压缩方法及平台。
本发明的目的是通过以下技术方案实现的:一种面向多任务的预训练语言模型自动压缩方法,包括三个阶段:
第一阶段,构建基于Transformer层采样的知识蒸馏编码向量:采用伯努利分布对BERT模型的所有Transformer单元进行层采样,生成知识蒸馏编码向量;
第二阶段,训练元学习的知识蒸馏网络:定义搜索空间,将第一阶段构建的知识蒸馏编码向量输入该搜索空间,剔除不符合条件的知识蒸馏编码向量;定义结构生成器,将经过筛选的知识蒸馏编码向量作为输入,输出用于构建蒸馏结构模型的权重矩阵,并生成对应的蒸馏结构模型;训练生成的蒸馏结构模型从而更新结构生成器;
第三阶段,基于进化算法的蒸馏结构模型搜索的过程:将多个满足特定约束的知识蒸馏编码向量输入第二阶段更新后的结构生成器生成对应的权重矩阵,得到多个蒸馏结构模型;评估每个蒸馏结构模型的精度;采用进化算法搜索其中满足特定约束的精度最高的蒸馏结构模型,得到通用压缩架构。
进一步地,所述第一阶段具体为:依次对BERT模型的12层Transformer单元进行伯努利采样生成知识蒸馏编码向量,每一层对应一个随机变量;当随机变量为1的概率大于等于0.5时,知识蒸馏编码向量对应的元素为1,代表当前Transformer单元进行迁移学习;当随机变量为1的概率值小于0.5时,层采样向量对应的元素为0,代表当前Transformer单元不进行迁移学习。
进一步地,所述定义搜索空间具体为:知识蒸馏编码向量中元素为1的数量不少于6。
进一步地,所述定义结构生成器具体为:结构生成器由两个全连接层组成,输入为第一阶段构建的知识蒸馏编码向量,输出为用于生成蒸馏结构模型的权重矩阵。
进一步地,所述训练生成的蒸馏结构模型从而更新结构生成器,包括以下子步骤:
步骤(2.1):将知识蒸馏编码向量输入结构生成器并输出权重矩阵;
步骤(2.2):基于结构生成器输出的权重矩阵构建蒸馏结构模型;
步骤(2.3):联合训练结构生成器和蒸馏结构模型:将训练数据输入步骤(2.2)生成的蒸馏结构模型进行模型训练,且结构生成器一起更新;同时结合伯努利分布采样的方法训练结构生成器。
进一步地,所述步骤(2.2)具体为:根据第一阶段构建的知识蒸馏编码向量,其中每一个元素对应一层Transformer单元,对教师网络的每个Transformer层进行层采样知识蒸馏,使用教师模型中知识蒸馏编码向量对应元素为1的Transformer单元的权重来初始化学生模型迁移的Transformer单元;即每个层采样为1的元素经过结构生成器生成学生模型对应的Transformer单元以及其权重;通过知识蒸馏编码向量将教师模型和学生模型建立一对一的映射关系,根据知识蒸馏编码向量生成对应的蒸馏网络结构。
进一步地,所述结合伯努利分布采样的方法训练结构生成器具体为:利用伯努利分布对各层Transformer单元进行层采样构建不同的知识蒸馏编码向量,用训练数据集进行多次迭代训练,每轮迭代时基于一个知识蒸馏编码向量同时训练结构生成器和蒸馏结构模型,通过改变输入的知识蒸馏编码向量学习得到能够为不同蒸馏结构模型生成权重矩阵的结构生成器。
进一步地,所述第三阶段包括以下子步骤:
步骤(3.1):将知识蒸馏编码向量定义为蒸馏结构模型的基因,随机选取满足特定约束的一系列基因作为初始种群;
步骤(3.2):评估现有种群中各个基因对应的蒸馏结构模型的精度,选取精度较高的前k个基因;
步骤(3.3):利用步骤(3.2)选取的精度较高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中;
步骤(3.4):重复迭代设定轮次的步骤(3.2)~(3.3),选择现有种群中前k个精度较高的基因并生成新基因,最终获得满足特定约束并且精度最高的基因。
进一步地,所述步骤(3.3)中,基因变异是指通过随机改变基因里一部分元素值;基因重组是指随机地将两个父辈的基因进行重组;剔除不满足特定约束的新基因。
一种基于上述面向多任务的预训练语言模型自动压缩方法的平台,包括以下组件:
数据加载组件:用于获取面向多任务的预训练语言模型的训练样本,所述训练样本是满足监督学习任务的有标签的文本样本;
自动压缩组件:用于将面向多任务的预训练语言模型自动压缩,包括知识蒸馏向量编码模块、蒸馏网络生成模块、结构生成器和蒸馏网络联合训练模块、蒸馏网络搜索模块和特定任务微调模块;
知识蒸馏向量编码模块包括Transformer的层采样向量;前向传播过程中,将知识蒸馏编码向量输入结构生成器,生成对应结构的蒸馏网络和结构生成器的权重矩阵;
蒸馏网络生成模块是基于结构生成器构建与当前输入的知识蒸馏编码向量对应的蒸馏网络,调整结构生成器输出的权重矩阵的形状,使其与知识蒸馏编码向量对应的蒸馏结构的输入输出的编码器单元数目一致;
结构生成器和蒸馏网络联合训练模块是端到端的训练结构生成器,具体地,将基于Transformer层采样的知识蒸馏编码向量和一个小批次的训练数据输入蒸馏网络;更新蒸馏结构的权重和结构生成器的权重矩阵;
蒸馏网络搜索模块是为了搜索出满足特定约束条件的最高精度的蒸馏网络,提出进化算法搜索满足特定约束条件的最高精度的蒸馏网络;将知识蒸馏编码向量输入训练好的结构生成器,生成对应蒸馏网络的权重,在验证集上对蒸馏网络进行评估,获得对应蒸馏网络的精度;在元学习蒸馏网络中采用的进化搜索算法中,每个蒸馏网络是由包含基于Transformer层采样的知识蒸馏编码向量生成,所以将知识蒸馏编码向量定义为蒸馏网络的基因;在满足特定约束条件下,首先选取一系列知识蒸馏编码向量作为蒸馏网络的基因,通过在验证集上评估获得对应蒸馏网络的精度;然后,选取精度较高的前k个基因,采用基因重组和变异生成新的基因;通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因;
特定任务微调模块是在所述自动压缩组件生成的预训练模型蒸馏网络上构建下游任务网络,利用蒸馏网络的特征层和输出层对下游任务场景进行微调,输出最终微调好的学生模型,即登陆用户需求的包含下游任务的预训练语言模型压缩模型;将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型大小的对比信息;
推理组件:登陆用户从所述平台获取预训练压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的自然语言处理下游任务的新数据进行推理;并在所述平台的压缩模型推理页面呈现压缩前后推理速度的对比信息。
本发明的有益效果是:首先,本发明研究基于元学习的知识蒸馏生成多种预训练语言模型的通用压缩架构;其次,在已训练好的元学习网络基础上,通过进化算法搜索最优压缩结构,由此得到与任务无关的预训练语言模型的最优通用压缩架构。利用本发明所述的面向多任务的预训练语言模型自动压缩平台,压缩生成面向多任务的预训练语言模型的通用架构,充分利用已压缩好的模型架构提高下游任务的压缩效率,并且可将大规模自然语言处理模型部署在内存小、资源受限等端侧设备,推动了通用深度语言模型在工业界的落地进程。
附图说明
图1是本发明压缩方法结合特定任务的整体架构图;
图2是元学习的知识蒸馏网络的训练流程图;
图3是基于结构生成器构建蒸馏网络的架构图;
图4是结构生成器和蒸馏网络联合训练过程图;
图5是基于进化算法的蒸馏网络搜索架构图。
具体实施方式
受神经网络架构搜索的启发,尤其是在少样本的情况下,自动机器学习能够基于一个反馈回路以迭代方式进行自动知识蒸馏,本发明研究基于元学习的知识蒸馏生成多种预训练语言模型的通用压缩架构。具体地,本发明首先构建一种基于Transformer层采样的知识蒸馏编码向量,在不同层级上蒸馏大模型的知识结构。设计一种结构生成器的元网络,利用该结构生成器生成与当前输入的编码向量对应的蒸馏结构模型。同时,提出伯努利分布采样的方法训练结构生成器。每轮迭代时,利用伯努利分布采样产生迁移的各个编码器单元,组成对应的编码向量。通过改变输入结构生成器的编码向量和小批次的训练数据,联合训练结构生成器和对应的蒸馏结构,可以学得能够为不同蒸馏结构生成权重的结构生成器。同时,在已训练好的元学习网络基础上,通过进化算法搜索最优压缩结构,由此得到与任务无关的预训练语言模型的最优通用压缩架构。本发明解决少样本数据下BERT模型压缩过程中过拟合学习和压缩模型泛化能力低的问题,深入地探索大规模深度语言模型在少样本条件下的语言理解的可行性和关键技术,提高压缩模型面向多种下游任务使用过程中的灵活性和有效性。与已有的知识蒸馏方法相比,元学习的知识蒸馏能够把人力彻底从繁琐的超参数调优中解放出来,同时允许利用多种目标度量方法直接优化压缩模型。与其它自动机器学习方法相比,元学习的知识蒸馏能够很容易地在搜索所需压缩结构时实施条件约束,无需手动调整强化学习的超参数。本发明压缩方法的应用技术路线如图1所示,基于大规模文本数据集,研究基于元学习的知识蒸馏以及基于进化算法的蒸馏网络自动搜索,通过元蒸馏学习将面向多任务的大规模预训练语言模型自动压缩生成满足不同硬约束条件(如浮点数运算次数)且与任务无关的通用架构;使用该通用架构时,在元蒸馏学习网络的基础上构建下游任务网络,输入下游任务数据集,仅微调特定的下游任务,节省计算成本,提高效率。
本发明一种面向多任务的预训练语言模型自动压缩方法,整个过程分为三个阶段:第一个阶段是构建基于Transformer层采样的知识蒸馏编码向量;第二个阶段是训练元学习的知识蒸馏网络;第三个阶段是基于进化算法搜索最优压缩结构;具体为:
第一阶段:构建基于Transformer层采样的知识蒸馏编码向量。采用伯努利分布对BERT模型的所有Transformer单元进行层采样,生成一个层采样向量,即知识蒸馏编码向量。
具体地,假设当前考虑迁移第i个Transformer单元(编码器);随机变量X i ~Bernoulli(p)是一个独立的伯努利随机变量,为1的概率为p,为0的概率为1-p。利用随机变量X i 依次对BERT模型的12层Transformer单元进行伯努利采样,生成一个由12个0或1元素组成的向量。当随机变量X i 为1的概率p大于等于0.5时,层采样向量对应的元素为1,代表当前Transformer单元进行迁移学习;当随机变量X i 为1的概率值小于0.5时,层采样向量对应的元素为0,代表当前Transformer单元不进行迁移学习。利用伯努利采样方式对BERT模型包含的所有Transformer单元依次进行层采样,组成知识蒸馏编码向量layersample,本实施例中layersample=[l 1l i l 12],其中l i 为layersample中的第i个元素,i=1~12。
第二阶段:训练元学习的知识蒸馏网络。如图2所示,定义搜索空间,将第一阶段构建的知识蒸馏编码向量输入该搜索空间,剔除不符合约束条件的向量;定义结构生成器,将经过筛选的知识蒸馏编码向量作为输入,输出用于构建蒸馏网络的权重矩阵,并生成对应的蒸馏结构模型;采用批数据集训练生成的蒸馏结构并更新蒸馏结构从而更新结构生成器;最终输出迭代更新后结构生成器输出的权重。
定义搜索空间:为了防止层采样Transformer单元迁移(l i =1)的数量过少,提出增加层采样约束条件:
s.t. sum(l i ==1)≥6
即每生成一个知识蒸馏网络结构时,对BERT模型的所有Transformer单元的层采样阶段构建约束条件,使得知识蒸馏编码向量中元素为1的数量不少于6,否则重新进行层采样。
定义结构生成器:结构生成器是一个元网络,由两个全连接层组成;输入为第一阶段构建的知识蒸馏编码向量,输出为用于生成蒸馏结构模型的权重矩阵。
训练结构生成器:包括以下子步骤:
步骤一:前向传播过程中,将知识蒸馏编码向量输入结构生成器并输出权重矩阵。
步骤二:如图3所示为基于结构生成器构建蒸馏结构模型的过程:
根据第一阶段构建的知识蒸馏编码向量,其中每一个元素l i 对应一层Transformer单元,对教师网络的每个Transformer层进行层采样知识蒸馏,使用教师模型中知识蒸馏编码向量对应元素为1的Transformer单元的权重来初始化学生模型迁移的Transformer单元;即每个层采样为1的元素经过结构生成器生成学生模型对应的Transformer单元以及其权重;通过知识蒸馏编码向量将教师模型和学生模型建立一对一的映射关系,根据知识蒸馏编码向量生成对应的蒸馏网络结构。
步骤三:如图4所示为联合训练结构生成器和蒸馏结构模型的过程:
将一个小批次的训练数据输入步骤二生成的蒸馏结构模型进行模型训练,蒸馏结构模型更新参数(权重矩阵)后,结构生成器根据更新后的参数也进行更新;即反向传播的过程中,蒸馏结构模型和结构生成器一起更新;结构生成器输出的权重可以使用链式法则计算,因此,可以端到端的训练结构生成器。
同时,提出伯努利分布采样的方法训练结构生成器,具体为:利用伯努利分布对各层Transformer单元进行层采样构建不同的知识蒸馏编码向量,用同一个训练数据集进行多次迭代训练,每轮迭代时基于一个知识蒸馏编码向量同时训练结构生成器和蒸馏结构模型,通过改变输入的知识蒸馏编码向量学习得到能够为不同蒸馏结构模型生成权重矩阵的结构生成器。
而且需要调整结构生成器输出的权重矩阵的形状,使其与知识蒸馏编码向量对应的蒸馏结构的输入输出的编码器单元数目一致。通过层采样所得的编码向量保持一致的,具体地,根据编码向量中元素为1的Transformer单元的数目和位置来调整结构生成器输出的权重矩阵的形状。
第三阶段:如图5所示为基于进化算法的蒸馏网络搜索的过程:
在第二阶段训练好的元学习的知识蒸馏网络基础上,将多个满足特定约束条件的知识蒸馏编码向量输入结构生成器生成对应的权重矩阵,得到多个蒸馏结构模型;在验证集上对每个蒸馏结构模型进行评估,获得对应的精度;采用进化算法搜索其中满足特定约束条件(如浮点数运算次数)的精度最高的蒸馏结构模型,由此得到与任务无关的预训练语言模型的通用压缩架构,如图5中方框标记的Network_2。进化搜索算法的具体步骤如下:
步骤一、每个蒸馏结构模型是由基于Transformer层采样的知识蒸馏编码向量生成的,所以将知识蒸馏编码向量定义为蒸馏结构模型的基因G,随机选取满足约束条件C的一系列基因作为初始种群。
步骤二、评估现有种群中各个基因G i 对应的蒸馏结构模型在验证集上的推理精度accuracy,选取精度最高的前k个基因。
步骤三、利用步骤二选取的精度最高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中。基因变异是指通过随机改变基因里一部分元素值来进行变异;基因重组是指随机地将两个父辈的基因进行重组产生后代;而且可以很容易地通过消除不合格的基因来加强约束C。
步骤四、重复迭代N轮步骤二和步骤三,选择现有种群中前k个精度最高的基因并生成新基因,直到获得满足约束条件C并且精度最高的基因。
本发明一种面向多任务的预训练语言模型自动压缩平台,包括以下组件:
数据加载组件:用于获取登陆用户上传的待压缩的包含具体自然语言处理下游任务的BERT模型和面向多任务的预训练语言模型的训练样本;所述训练样本是满足监督学习任务的带标签的文本样本。
自动压缩组件:用于将面向多任务的预训练语言模型自动压缩,包括知识蒸馏向量编码模块、蒸馏网络生成模块、结构生成器和蒸馏网络联合训练模块、蒸馏网络搜索模块、特定任务微调模块。
知识蒸馏向量编码模块包括Transformer的层采样向量。前向传播过程中,将蒸馏网络编码向量输入结构生成器,生成对应结构的蒸馏网络和结构生成器的权重矩阵。
蒸馏网络生成模块是基于结构生成器构建与当前输入的编码向量对应的蒸馏网络,调整结构生成器输出的权重矩阵的形状,使其与编码向量对应的蒸馏结构的输入输出的编码器单元数目一致。
结构生成器和蒸馏网络联合训练模块是端到端的训练结构生成器,具体地,将基于Transformer层采样的知识蒸馏编码向量和一个小批次的训练数据输入蒸馏网络。更新蒸馏结构的权重和结构生成器的权重矩阵。
蒸馏网络搜索模块是为了搜索出满足特定约束条件的最高精度的蒸馏网络,提出进化算法搜索满足特定约束条件的最高精度的蒸馏网络。将网络编码向量输入训练好的结构生成器,生成对应蒸馏网络的权重,在验证集上对蒸馏网络进行评估,获得对应蒸馏网络的精度。在元学习蒸馏网络中采用的进化搜索算法中,每个蒸馏网络是由包含基于Transformer层采样的编码向量编码生成,所以将蒸馏网络编码向量定义为蒸馏网络的基因。在满足特定约束条件下,首先选取一系列蒸馏网络编码向量作为蒸馏网络的基因,通过在验证集上评估获得对应蒸馏网络的精度。然后,选取精度最高的前k个基因,采用基因重组和变异生成新的基因。通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因。
特定任务微调模块是在所述自动压缩组件生成的预训练模型蒸馏网络上构建下游任务网络,利用蒸馏网络的特征层和输出层对下游任务场景进行微调,输出最终微调好的学生模型,即登陆用户需求的包含下游任务的预训练语言模型压缩模型。将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型大小的对比信息。
推理组件:登陆用户从所述平台获取预训练压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的自然语言处理下游任务的新数据进行推理。并在所述平台的压缩模型推理页面呈现压缩前后推理速度的对比信息。
登陆用户可直接下载本发明平台提供的训练好的预训练语言模型,根据用户对具体某个自然语言处理下游任务的需求,在所述平台生成的已压缩的预训练模型架构基础上构建下游任务网络并进行微调,最后部署在终端设备。也可以直接在所述平台上对自然语言处理下游任务进行推理。
下面将以电影评论进行情感分类任务对本发明的技术方案做进一步的详细描述。
通过所述平台的数据加载组件获取登陆用户上传的单个句子的文本分类任务的BERT模型和情感分析数据集SST-2;
通过所述平台的自动压缩组件,生成面向多任务的BERT预训练语言模型;
通过所述平台加载自动压缩组件生成的BERT预训练模型,在所述生成的预训练模型上构建文本分类任务的模型;
基于所述自动压缩组件的特定任务微调模块所得的学生模型进行微调,利用自动压缩组件生成的BERT预训练模型的特征层和输出层对下游文本分类任务场景进行微调,最终,平台输出登陆用户需求的包含文本分类任务的BERT模型的压缩模型。
将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型大小的对比信息,压缩前模型大小为110M,压缩后为56M,压缩了49%。如下表1所示。
表1:文本分类任务BERT模型压缩前后对比信息
文本分类任务(SST-2)(包含67K个样本) 压缩前 压缩后 对比
模型大小 110M 56M 压缩49%
推理精度 91.5% 92.0% 提升0.5%
通过所述平台的推理组件,利用所述平台输出的压缩模型对登陆用户上传的SST-2测试集数据进行推理,并在所述平台的压缩模型推理页面呈现压缩后比压缩前推理速度加快2.01倍,并且推理精度从压缩前的91.5%提升为92.0%。

Claims (9)

1.一种面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,包括以下组件:
数据加载组件:用于获取面向多任务的预训练语言模型的训练样本,所述训练样本是满足监督学习任务的有标签的文本样本;
自动压缩组件:用于将面向多任务的预训练语言模型自动压缩,包括知识蒸馏向量编码模块、蒸馏网络生成模块、结构生成器和蒸馏网络联合训练模块、蒸馏网络搜索模块和特定任务微调模块;
知识蒸馏向量编码模块包括Transformer的层采样向量;前向传播过程中,将知识蒸馏编码向量输入结构生成器,生成对应结构的蒸馏网络和结构生成器的权重矩阵;
蒸馏网络生成模块是基于结构生成器构建与当前输入的知识蒸馏编码向量对应的蒸馏网络,调整结构生成器输出的权重矩阵的形状,使其与知识蒸馏编码向量对应的蒸馏结构的输入输出的编码器单元数目一致;
结构生成器和蒸馏网络联合训练模块是端到端的训练结构生成器,具体地,将基于Transformer层采样的知识蒸馏编码向量和一个小批次的训练数据输入蒸馏网络;更新蒸馏结构的权重和结构生成器的权重矩阵;
蒸馏网络搜索模块是为了搜索出满足特定约束条件的最高精度的蒸馏网络,提出进化算法搜索满足特定约束条件的最高精度的蒸馏网络;将知识蒸馏编码向量输入训练好的结构生成器,生成对应蒸馏网络的权重,在验证集上对蒸馏网络进行评估,获得对应蒸馏网络的精度;在元学习蒸馏网络中采用的进化搜索算法中,每个蒸馏网络是由包含基于Transformer层采样的知识蒸馏编码向量生成,所以将知识蒸馏编码向量定义为蒸馏网络的基因;在满足特定约束条件下,首先选取一系列知识蒸馏编码向量作为蒸馏网络的基因,通过在验证集上评估获得对应蒸馏网络的精度;然后,选取精度较高的前k个基因,采用基因重组和变异生成新的基因;通过进一步重复前k个最优基因选择的过程和新基因生成的过程进行迭代,获得满足约束条件并且精度最高的基因;
特定任务微调模块是在所述自动压缩组件生成的预训练模型蒸馏网络上构建下游任务网络,利用蒸馏网络的特征层和输出层对下游任务场景进行微调,输出最终微调好的学生模型,即登陆用户需求的包含下游任务的预训练语言模型压缩模型;将所述压缩模型输出到指定的容器,可供所述登陆用户下载,并在所述平台的输出压缩模型的页面呈现压缩前后模型大小的对比信息;
推理组件:登陆用户从所述平台获取预训练压缩模型,用户利用所述自动压缩组件输出的压缩模型在实际场景的数据集上对登陆用户上传的自然语言处理下游任务的新数据进行推理;并在所述平台的压缩模型推理页面呈现压缩前后推理速度的对比信息;
所述面向多任务的预训练语言模型自动压缩方法,包括三个阶段:
第一阶段,构建基于Transformer层采样的知识蒸馏编码向量:采用伯努利分布对BERT模型的所有Transformer单元进行层采样,生成知识蒸馏编码向量;
第二阶段,训练元学习的知识蒸馏网络:定义搜索空间,将第一阶段构建的知识蒸馏编码向量输入该搜索空间,剔除不符合条件的知识蒸馏编码向量;定义结构生成器,将经过筛选的知识蒸馏编码向量作为输入,输出用于构建蒸馏结构模型的权重矩阵,并生成对应的蒸馏结构模型,其输入为文本数据;采用文本数据集训练生成的蒸馏结构模型从而更新结构生成器;
第三阶段,基于进化算法的蒸馏结构模型搜索的过程:将多个满足特定约束的知识蒸馏编码向量输入第二阶段更新后的结构生成器生成对应的权重矩阵,得到多个蒸馏结构模型;评估每个蒸馏结构模型的精度;采用进化算法搜索其中满足特定约束的精度最高的蒸馏结构模型,得到通用压缩架构。
2.如权利要求1所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述第一阶段具体为:依次对BERT模型的12层Transformer单元进行伯努利采样生成知识蒸馏编码向量,每一层对应一个随机变量;当随机变量为1的概率大于等于0.5时,知识蒸馏编码向量对应的元素为1,代表当前Transformer单元进行迁移学习;当随机变量为1的概率值小于0.5时,层采样向量对应的元素为0,代表当前Transformer单元不进行迁移学习。
3.如权利要求2所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述定义搜索空间具体为:知识蒸馏编码向量中元素为1的数量不少于6。
4.如权利要求3所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述定义结构生成器具体为:结构生成器由两个全连接层组成,输入为第一阶段构建的知识蒸馏编码向量,输出为用于生成蒸馏结构模型的权重矩阵。
5.如权利要求4所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述训练生成的蒸馏结构模型从而更新结构生成器,包括以下子步骤:
步骤(2.1):将知识蒸馏编码向量输入结构生成器并输出权重矩阵;
步骤(2.2):基于结构生成器输出的权重矩阵构建蒸馏结构模型;
步骤(2.3):联合训练结构生成器和蒸馏结构模型:将训练数据输入步骤(2.2)生成的蒸馏结构模型进行模型训练,且结构生成器一起更新;同时结合伯努利分布采样的方法训练结构生成器。
6.如权利要求5所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述步骤(2.2)具体为:根据第一阶段构建的知识蒸馏编码向量,其中每一个元素对应一层Transformer单元,对教师网络的每个Transformer层进行层采样知识蒸馏,使用教师模型中知识蒸馏编码向量对应元素为1的Transformer单元的权重来初始化学生模型迁移的Transformer单元;即每个层采样为1的元素经过结构生成器生成学生模型对应的Transformer单元以及其权重;通过知识蒸馏编码向量将教师模型和学生模型建立一对一的映射关系,根据知识蒸馏编码向量生成对应的蒸馏网络结构。
7.如权利要求6所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述结合伯努利分布采样的方法训练结构生成器具体为:利用伯努利分布对各层Transformer单元进行层采样构建不同的知识蒸馏编码向量,用训练数据集进行多次迭代训练,每轮迭代时基于一个知识蒸馏编码向量同时训练结构生成器和蒸馏结构模型,通过改变输入的知识蒸馏编码向量学习得到能够为不同蒸馏结构模型生成权重矩阵的结构生成器。
8.如权利要求7所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述第三阶段包括以下子步骤:
步骤(3.1):将知识蒸馏编码向量定义为蒸馏结构模型的基因,随机选取满足特定约束的一系列基因作为初始种群;
步骤(3.2):评估现有种群中各个基因对应的蒸馏结构模型的精度,选取精度较高的前k个基因;
步骤(3.3):利用步骤(3.2)选取的精度较高的前k个基因进行基因重组和基因变异生成新的基因,将新基因加入现有种群中;
步骤(3.4):重复迭代设定轮次的步骤(3.2)~(3.3),选择现有种群中前k个精度较高的基因并生成新基因,最终获得满足特定约束并且精度最高的基因。
9.如权利要求8所述面向多任务的预训练语言模型自动压缩方法的平台,其特征在于,所述步骤(3.3)中,基因变异是指通过随机改变基因里一部分元素值;基因重组是指随机地将两个父辈的基因进行重组;剔除不满足特定约束的新基因。
CN202011470331.3A 2020-12-15 2020-12-15 面向多任务的预训练语言模型自动压缩方法及平台 Active CN112232511B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202011470331.3A CN112232511B (zh) 2020-12-15 2020-12-15 面向多任务的预训练语言模型自动压缩方法及平台
PCT/CN2020/138016 WO2022126683A1 (zh) 2020-12-15 2020-12-21 面向多任务的预训练语言模型自动压缩方法及平台
JP2022570738A JP7381814B2 (ja) 2020-12-15 2020-12-21 マルチタスク向けの予めトレーニング言語モデルの自動圧縮方法及びプラットフォーム
GB2214196.4A GB2619569A (en) 2020-12-15 2020-12-21 Method and platform for automatically compressing multi-task-oriented pre-training language model
US17/564,071 US11526774B2 (en) 2020-12-15 2021-12-28 Method for automatically compressing multitask-oriented pre-trained language model and platform thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011470331.3A CN112232511B (zh) 2020-12-15 2020-12-15 面向多任务的预训练语言模型自动压缩方法及平台

Publications (2)

Publication Number Publication Date
CN112232511A CN112232511A (zh) 2021-01-15
CN112232511B true CN112232511B (zh) 2021-03-30

Family

ID=74123619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011470331.3A Active CN112232511B (zh) 2020-12-15 2020-12-15 面向多任务的预训练语言模型自动压缩方法及平台

Country Status (2)

Country Link
CN (1) CN112232511B (zh)
WO (1) WO2022126683A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2619569A (en) * 2020-12-15 2023-12-13 Zhejiang Lab Method and platform for automatically compressing multi-task-oriented pre-training language model
US11527074B1 (en) 2021-11-24 2022-12-13 Continental Automotive Technologies GmbH Systems and methods for deep multi-task learning for embedded machine vision applications
CN114298224A (zh) * 2021-12-29 2022-04-08 云从科技集团股份有限公司 图像分类方法、装置以及计算机可读存储介质
CN117807235B (zh) * 2024-01-17 2024-05-10 长春大学 一种基于模型内部特征蒸馏的文本分类方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611377A (zh) * 2020-04-22 2020-09-01 淮阴工学院 基于知识蒸馏的多层神经网络语言模型训练方法与装置
CN111767711A (zh) * 2020-09-02 2020-10-13 之江实验室 基于知识蒸馏的预训练语言模型的压缩方法及平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111062489B (zh) * 2019-12-11 2023-10-20 北京知道创宇信息技术股份有限公司 一种基于知识蒸馏的多语言模型压缩方法、装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611377A (zh) * 2020-04-22 2020-09-01 淮阴工学院 基于知识蒸馏的多层神经网络语言模型训练方法与装置
CN111767711A (zh) * 2020-09-02 2020-10-13 之江实验室 基于知识蒸馏的预训练语言模型的压缩方法及平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Distilling the Knowledge in a Neural Network;Geoffrey Hinton 等;《arXiv》;20150309;第1-9页 *
深度神经网络模型压缩方法与进展;赖叶静 等;《华东师范大学学报(自然科学版)》;20200930(第5期);第68-82页 *

Also Published As

Publication number Publication date
CN112232511A (zh) 2021-01-15
WO2022126683A1 (zh) 2022-06-23

Similar Documents

Publication Publication Date Title
CN112232511B (zh) 面向多任务的预训练语言模型自动压缩方法及平台
CN112396181A (zh) 一种卷积神经网络通用压缩架构的自动剪枝方法及平台
CN112241455B (zh) 基于多层级知识蒸馏预训练语言模型自动压缩方法及平台
US11526774B2 (en) Method for automatically compressing multitask-oriented pre-trained language model and platform thereof
US11501171B2 (en) Method and platform for pre-trained language model automatic compression based on multilevel knowledge distillation
CN111611488B (zh) 基于人工智能的信息推荐方法、装置、电子设备
Akgündüz et al. An adaptive genetic algorithm approach for the mixed-model assembly line sequencing problem
CN113033786B (zh) 基于时间卷积网络的故障诊断模型构建方法及装置
CN112578089B (zh) 一种基于改进tcn的空气污染物浓度预测方法
CN108959388A (zh) 信息生成方法及装置
CN111651576A (zh) 一种基于迁移学习的多轮阅读理解方法
CN115101145A (zh) 一种基于自适应元学习的药物虚拟筛选方法
CN115345106B (zh) 电子器件的Verilog-A模型构建方法、系统及设备
CN113538079A (zh) 一种推荐模型的训练方法及装置、一种推荐方法及装置
CN116302088A (zh) 一种代码克隆检测方法、存储介质及设备
CN116031879A (zh) 一种适应电力系统暂态电压稳定评估的混合智能特征选择方法
CN114936723A (zh) 一种基于数据增强的社交网络用户属性预测方法及系统
CN114880490A (zh) 一种基于图注意力网络的知识图谱补全方法
Panda A survey on application of population based algorithm on hyperparameter selection
Reddy Self-Replicating AI: Integrating New Neural Networks Through a Natural Selection Process
Li Research on University Book Purchasing Model Based on Genetic-Neural Network Algorithm
CN116738042A (zh) 基于图神经网络的主梁推荐方法
Nourian Design Optimization of Truss Structures Using Artificial Neural Networks
Bai et al. Application of BP Neural Network Based on Genetic Algorithm Optimization for Prediction of Vegetable Sales Datasets
CN117808182A (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
GR01 Patent grant
GR01 Patent grant