首页 > 其他分享 >MiniRBT中文小型预训练模型:结合了全词掩码技术和两段式知识蒸馏技术,加快推理速度

MiniRBT中文小型预训练模型:结合了全词掩码技术和两段式知识蒸馏技术,加快推理速度

时间:2023-08-06 21:25:53浏览次数:73  
标签:RoBERTa 蒸馏 训练 两段式 模型 MiniRBT H256 掩码

MiniRBT中文小型预训练模型:结合了全词掩码(Whole Word Masking)技术和两段式知识蒸馏(Knowledge Distillation)技术,加快推理速度

在自然语言处理领域中,预训练语言模型(Pre-trained Language Models)已成为非常重要的基础技术。为了进一步促进中文信息处理的研究发展,哈工大讯飞联合实验室(HFL)基于自主研发的知识蒸馏工具TextBrewer,结合了全词掩码(Whole Word Masking)技术和知识蒸馏(Knowledge Distillation)技术推出中文小型预训练模型MiniRBT


中文LERT | 中英文PERT | 中文MacBERT | 中文ELECTRA | 中文XLNet | 中文BERT | 知识蒸馏工具TextBrewer | 模型裁剪工具TextPruner

1.简介

目前预训练模型存在参数量大,推理时间长,部署难度大的问题,为了减少模型参数及存储空间,加快推理速度,我们推出了实用性强、适用面广的中文小型预训练模型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-H256MiniRBT-H288,表示隐层维数256和288,均为6层Transformer结构,由两段式蒸馏得到。同时为了方便实验效果对比,我们也提供了TinyBERT结构的RBT4-H312模型下载。

我们会在近期提供完整的技术报告,敬请期待。

2.模型下载

模型简称 层数 隐层大小 注意力头 参数量 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"选项卡 → 下载对应的模型文件。

3.快速加载

3.1使用Huggingface-Transformers

依托于

标签:RoBERTa,蒸馏,训练,两段式,模型,MiniRBT,H256,掩码
From: https://www.cnblogs.com/ting1/p/17610055.html

相关文章

  • ​注意力机制中的掩码详解
    注意力机制的掩码允许我们发送不同长度的批次数据一次性的发送到transformer中。在代码中是通过将所有序列填充到相同的长度,然后使用“attention_mask”张量来识别哪些令牌是填充的来做到这一点,本文将详细介绍这个掩码的原理和机制。我们先介绍下如果不使用掩码,是如何运行的。这......
  • 子网掩码和子网掩码划分IP地址
    1.什么是子网掩码,为什么要有子网掩码IP子网划分实际上就是设计子网掩码的过程。由于在五类的IP地址中,网络号与主机号的的位数并不一致,就造成了要么是网络号太多,要么是主机号太多。为了解决这些问题,就需要划分子网。将一个网络划分为子网:采用借位的方式,从主机位最高位开始借位变为......
  • 子网掩码整理
    子网俺码用于划分网段,目前划分方法分为平均划分和可变划分两种,最长用的是平均划分法。计算如下:1、计算规则IP的二进制&MASK二进制=IP网段2、前缀表示法192.168.1.16/27其中27表示,32位中,多少位为netip,剩余的便是hostip,maskip便是:255.255.255.224。maskip的二进制:111......
  • 前缀长度转成子网掩码
    原文地址:https://www.cnblogs.com/liqinglucky/p/ipv6_mask.html将前缀长度转成子网掩码#include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<string.h>#include<stdlib.h>intmask_fun(intm......
  • IP地址、子网掩码和地址分类
    http://blog.csdn.net/bluishglc/article/details/47909593?utm_source=tuicool&utm_medium=referral 实际工作中用到网络知识的机会并不多,虽然以前学习过,但是许久不用自然也就生疏了。最近拿到几台云上的虚拟机,需要为它们建立一个VPC(虚拟私有云,就是一个虚拟的局域网),得益于......
  • 计算机网络知识——IP地址和子网掩码
    一、IP地址                IP地址由网络号和主机号组成。每台连在Internet网上的主机有唯一的IP地址。IP地址采用二进制形式,通常以"点分十进制表示法"表示(8个比特为一段,用十进制整数)。IP地址分为A、B、C、D、E五类,下图所示:(本文介绍的都是版本4......
  • 【计算机网络】IP地址和子网掩码的关系
     目录一、IP地址(1)IP地址分类(2)IP地址构成二、子网掩码三、广播地址四、子网容量相关(1)子网数(2)最大主机数(2)可用主机数总结一、IP地址了解IP地址扮演的角色有助于明白IP地址的含义乃至IP地址和子网掩码的关系IP(InternetProtocol—网际互连协议),是TCP/IP体系中的网络层......
  • IP地址、网络地址与子网掩码的理解
    一、介绍电脑之间要实现网络通信,就必须要有一个合法的ip地址。IP地址=网络地址+主机地址,(又称:主机号和网络号组成)ip地址的结构使我们可以在Internet上很方便的寻址。ip地址通常用更直观的,以点分十进制表示,每个数字从0到255,如某一台主机的ip地址为:128.20.4.1。在局域网里,同样也需......
  • 斯坦福大学李飞飞团队新作:孪生掩码自编码器SiamMAE,刷榜视觉自监督方法
    前言 只需一个简单操作扩展MAE,即可实现自监督学习新sota!本文转载自新智元仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈指......
  • IP 地址与子网掩码概念、关系图解
    一、IP地址的概念1、IP地址组成IP地址源于Internet,是一种层次结构的地址,适合于众多的互联网。Internet中每一台主机至少有一个IP地址,且这个IP地址必须是全网唯一的。一个IP地址标识一个网络和与此网络相连的一台主机。IP地址由4个字节32位二进制数组成,使用点分十进制数表示......