Various Bert
Bert-base-chinese
两个预训练任务
MLM(Masked Language Model)
从待预测序列中随机选择15%的位置用于预测任务
- 80%的概率下,将对应位置的词替换为[MASK],12% of sequence
- 10%的概率下,将对应位置的词替换为随机词 , 1.5% of sequence
- 10%的概率下,将对应位置的词保持不变 , 1.5% of sequence
NSP (Next Sentence Prediction)
- 不同document选segment 作为负样本【不同topic】
- 相同document选连续segment作为正样本
- 正负样本比例 1:1
可以理解为一个topic分类+一个segment连贯性预测任务
Bert-wwm
Whole Word Masking 全词mask
分词
RoBERTa
- 训练数据更多,训练时间更长,batch_size更大
- remove NSP task
- dynamic masking 【对比 static masking】
- BPE
- char-level bpe 【原始bert】
- bytes-level bpe 【roberta】
- 使用 bytes 而不是 unicode 字符作为 sub-word 的基本单位,因此可以编码任何输入文本而不会引入 UNKOWN 标记。 - 当采用 bytes-level 的 BPE 之后,词表大小从3万(原始 BERT 的 char-level )增加到5万。这分别为 BERT-base和 BERT-large增加了1500万和2000万额外的参数。这种统一编码的优势会超过性能的轻微下降。且作者在未来工作中将进一步对比不同的encoding方案。
SpanBert
- word piece masking
- named entity masking
- random span masking
- phrase masking
- whole word masking
- SBO span boundary objective
- remove nsp
- 训练的长度更长
- 随机选择其他document的文本进来,增加了噪声
- nsp过于简单,只学会了top信息,没学会句子之间顺序sop的信息 from Albert
AlBert
- 跨层参数共享 (cross-layers sharing)
- SOP(sentence order prediction)
- 从同一个文档中取两个连续的段落作为一个正样本
- 交换这两个段落的顺序,并使用它作为一个负样本
- 嵌入参数分解
embedding 层做参数分解
参数规模 对比bert-base 降低18倍
XLnet (Generalized Autoregressive Pretraining for Language Understanding)
- 通过最大化所有可能的因式分解顺序的对数似然,学习双向语境信息;
- 用自回归本身的特点克服 BERT 的缺点。
- 此外,XLNet 还融合了当前最优自回归模型 Transformer-XL 的思路。
Transformer-XL :《Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context》
ERNIE(Enhanced Representation from kNowledge IntEgration)
- entity-level masking
- phrase-level masking
- 构建先验语义知识、实体概念,学习真实世界的语义关系
- 引入多源数据知识,百度百科、新闻资讯、论坛对话
- DLM (dialogue language model)
- query-response
MacBert
- wwm and Ngram masking 【从unigram到4-gram的比例分别为40%, 30%, 20%, 10%】
- 没有采用【MASK】token,用相似词替代
- SOP
SimBert
- 类似于UniLM的训练方式
- unidirectional prediction
- bidrectional prediction
- seq2seq LM
- 区别
- [CLS] SENT_a [SEP] SENT_b [SEP],SENT_a和SENT_b是一组近义句
- [CLS] SENT_b [SEP] SENT_a [SEP],也加入到训练中,增加【分类】任务来增强模型对于近义句的学习
SimBERT模型的损失函数包括两部分,
第一块是构建Seq2Seq任务,也就是通过输入文本去预测对应相似文本;
第二块是构建语义相似度任务,会根据文本对应的CLS向量来计算相似度。
https://zhuanlan.zhihu.com/p/355552495
WoBert [Word-based BERT]
- 专门为生成式下游任务训练的模型
- 在bert字的基础上,增加了一定数量的词
- 用字的embedding的平均作为词的embedding的初始化
RoFormer
RoFormer: Enhanced Transformer with Rotary Position Embedding
- 引入词编码
- 复数位置编码