MiniRBT中文小型预训练模型
在自然语言处理领域中,预训练语言模型(Pre-trained Language Models)已成为非常重要的基础技术。为了进一步促进中文信息处理的研究发展,哈工大讯飞联合实验室(HFL)基于自主研发的知识蒸馏工具TextBrewer,结合了全词掩码(Whole Word Masking)技术和知识蒸馏(Knowledge Distillation)技术推出中文小型预训练模型 MiniRBT。
中文LERT | 中英文PERT | 中文MacBERT | 中文ELECTRA | 中文XLNet | 中文BERT | 知识蒸馏工具TextBrewer | 模型裁剪工具TextPruner
MiniRBT 采用了如下技术:
-
全词掩码技术:全词掩码技术(Whole Word Masking)是预训练阶段的训练样本生成策略。简单来说,原有基于WordPiece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被mask(替换成[MASK];保持原词汇;随机替换成另外一个词)。而在WWM中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他部分也会被mask。更详细的说明及样例请参考:Chinese-BERT-wwm,本工作中使用了哈工大 LTP 作为分词工具。
-
两段式蒸馏:相较于教师模型直接蒸馏到学生模型的传统方法,该项目采用中间模型辅助教师模型到学生模型蒸馏的两段式蒸馏方法,即教师模型先蒸馏到助教模型(Teacher Assistant),学生模型通过对助教模型蒸馏得到,以此提升学生模型在下游任务的表现。并在下文中贴出了下游任务上两段式蒸馏与一段式蒸馏的实验对比,结果表明两段式蒸馏能取得相比一段式蒸馏更优的效果。
-
构建窄而深的学生模型。相较于宽而浅的网络结构,如 TinyBERT 结构(4层,隐层维数312),开发团队构建了窄而深的网络结构作为学生模型MiniRBT(6层,隐层维数256和288),实验表明窄而深的结构下游任务表现更优异。
MiniRBT目前有两个分支模型,分别为MiniRBT-H256和MiniRBT-H288,表示隐层维数256和288,均为6层Transformer结构,由两段式蒸馏得到。同时为了方便实验效果对比,也提供了TinyBERT结构的RBT4-H312模型下载。
模型下载
模型简称 | 层数 | 隐层大小 | 注意力头 | 参数量 | Google下载 | 百度盘下载 |
---|---|---|---|---|---|---|
MiniRBT-h288 | 6 | 288 | 8 | 12.3M | [PyTorch] | [PyTorch] (密码:7313) |
MiniRBT-h256 | 6 | 256 | 8 | 10.4M | [PyTorch] | [PyTorch] (密码:iy53) |
RBT4-h312 (TinyBERT同大小) | 4 | 312 | 12 | 11.4M | [PyTorch] | [PyTorch] (密码:ssdw) |
也可以直接通过huggingface官网下载模型(PyTorch & TF2):https://huggingface.co/hfl
下载方法:点击任意需要下载的模型 → 选择"Files and versions"选项卡 → 下载对应的模型文件。