【技术实现步骤摘要】
多语言BERT序列标注模型的压缩方法及系统
本专利技术涉及BERT类模型的知识蒸馏
,具体地,涉及多语言BERT序列标注模型的压缩方法及系统。
技术介绍
BERT是一种基于Transformers编码器的大规模预训练语言模型。近年来,BERT在很多下游任务上都展现出了强大的实力。序列标注是一类为序列中的元素进行分类的任务,常见的序列标注任务包括命名实体识别、词性标注等等。在多语言环境下,如果同时使用多个单语言BERT模型分别为不同的语言文本建模,会占用极大的计算资源;同时对于一些训练语料匮乏的语言类别,无论是BERT还是传统模型都很难达到很好的效果。多语言BERT可以通过共享词表和共同训练的方式同时对上百种语言进行建模,在节省资源的同时提高了多语言环境下BERT模型的整体效果。虽然多语言BERT模型在序列标注任务上可以达到出色的效果,但是单个BERT模型的推理速度仍然受限于其庞大的模型规模。为了在低延时的应用场景下使用多语言BERT解决序列标注问题,业界常常会使用知识蒸馏等方法对BERT模型进行压缩。知识蒸馏技 ...
【技术保护点】
1.多语言BERT序列标注模型的压缩方法,其特征在于,所述方法包括:/n步骤1:基于Wordpiece算法从多语语料中抽取词表;/n步骤2:将词表作为训练数据,对多/单语言BERT教师模型、多语言BERT学生模型进行预训练;/n步骤3:基于人工标注的下游任务数据对多/单语言BERT教师模型进行微调;/n步骤4:利用多/单语言BERT教师模型对预训练后的多语言BERT学生模型进行残差知识蒸馏;/n步骤5:基于人工标注的下游任务数据对蒸馏后的多语言BERT学生模型进行微调。/n
【技术特征摘要】
1.多语言BERT序列标注模型的压缩方法,其特征在于,所述方法包括:
步骤1:基于Wordpiece算法从多语语料中抽取词表;
步骤2:将词表作为训练数据,对多/单语言BERT教师模型、多语言BERT学生模型进行预训练;
步骤3:基于人工标注的下游任务数据对多/单语言BERT教师模型进行微调;
步骤4:利用多/单语言BERT教师模型对预训练后的多语言BERT学生模型进行残差知识蒸馏;
步骤5:基于人工标注的下游任务数据对蒸馏后的多语言BERT学生模型进行微调。
2.根据权利要求1所述的方法,其特征在于,所述步骤1包括:
步骤1.1:初始化词表为多语语料中的所有字符;
步骤1.2:对多语语料进行分词并统计词表中的所有元素对出现的频率;
步骤1.3:根据似然公式:
计算语料中所有句子的似然值,
其中s表示语料中的自然句,ci表示该句子中的第i个元素,n表示句子中的元素个数;
遍历步骤1.2中的元素对集合,选择能够使最大的元素对作为新增元素加入到词表中,sk表示语料中的第k个句子,m表示语料中的句子总数;
步骤1.4:重复步骤1.2和1.3,直到词表规模达到预设值,该值与语料中涉及到的语言数量有关。
3.根据权利要求1所述的方法,其特征在于,步骤2包括:
步骤2.1:确定教师模型和学生模型的BERT模型结构,包括模型的Transformers层数L,隐层维度H和多头注意力头数A;随机初始化所有模型参数;
步骤2.2:对预训练语料进行分词,并根据预设的最大片段长度对语料进行切分;多语言BERT教师模型和多语言BERT学生模型的预训练语料为全量多语语料,单语言BERT教师模型的预训练语料为多语语料中对应该语言的子集;
步骤2.3:对每一个切分片段进行随机遮盖;
步骤2.4:将片段中的每个词分别映射为对应的语义向量和位置向量,将这两个向量相加后输入到BERT模型中进行前向计算;
步骤2.5:将BERT模型的输出向量通过全连接预测层映射到词表大小的向量空间中,得到被遮盖词的预测概率分布,并计算交叉熵损失函数;
步骤2.6:计算损失函数对BERT模型参数的梯度,使用随机梯度下降法更新BERT模型的所有参数;
步骤2.7:重复步骤2.3到2.6,直到达到预设的迭代次数为止;保存预训练结束时各个教师模型和学生模型的参数。
4.根据权利要求1所述的方法,其特征在于,所述步骤3包括:
步骤3.1:加载步骤2中保存的各个教师模型的预训练参数;
步骤3.2:对人工标注的下游任务数据进行分词,并根据预设的最大片段长度对数据进行切分;多语言BERT教师模型的训练数据为全量下游任务数据,单语言BERT教师模型的训练数据为下游任务数据中对应该语言的子集;
步骤3.3:以训练数据的原始自然句子作为输入,得到BERT模型的对应输出向量;将每个词的输出向量通过全连接预测层映射到下游任务的标签空间,得到输入句子的标注结果;
步骤3.4:计算BERT模型的标注结果和人工标注之间的交叉熵损失函数,根据损失函数对模型参数的梯度微调BERT模型中的所有参数;
步骤3.5:重复步骤3.3到3.4,直到达到预设的迭代次数为止;保存训练结束时各个教师模型的参数。
5.根据权利要求1所述的方法,其特征在于,所述步骤4包括:
步骤4.1:加载步骤3中保存的各个教师模型的微调后的参数以及步骤2中保存的学生模型的预训练参数;
步骤4.2:选择合适的多语蒸馏语料;
步骤4.3:将多语蒸馏语料输入到多语言BERT教师模型中,得到相应的模型输出再通过得到多语言BERT教师模型预测的软标签其中,softmax(·)表示Softmax函数,T是平滑参数;
对于每个单语言BERT教师模型,将多语蒸馏语料中对应该语言的部分输入到模型中,得到相应的模型输出其中i代表第i种语言;
再通过得到单语言BERT教师模型预测的软标签
步骤4.4:初始化学生模型队列为空;初始化学生模型的学习目标为L=KL(Z′S|Z′T),其中KL(·)表示KL散度,Z′S表示多语言BERT学生模型输出的多语蒸馏语料的软标签,计算过程同步骤4.3,Z′T表示教师模型输出的软标签:
以该学习目标为损失函数训练多语言BERT学生模型S0,并将训练好的模型加入到学生模型队列中;
更新学生模型的学习目标中的Z′T为即教师模型输出的软标签和当前学生模型队列中所有学生模型输出的软标签的和之间的残差;
以该学习目标为损失函数继续训练多语言BERT学生模型S1,并将训练好的模型加入到学生模型队列中;
重复按上述方法更新学生模型的学习目标以及向学生模型队列中加入新的模型,直到学生模型队列的长度达到预设最大...
【专利技术属性】
技术研发人员:撖朝润,李琦,傅洛伊,王新兵,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。