home..
预训练模型的技术进展总结 (张俊林)
huyi / January 2023
0. 引言
预训练: 在Transformer作为特征抽取器基础上,选定合适的模型结构,通过某种自监督学习任务,逼迫Transformer从大量无标注的自由文本中学习语言知识。这些语言知识以模型参数的方式,存储在Transformer结构中,以供下游任务使用。
1. RoBERTa
1.1 从bert到RoBERTa
在原始Bert模型的基础上,RoBERTa通过实验,证明了如下几点:
- 进一步增加预训练数据数量,能够改善模型效果;
- 延长预训练时间或增加预训练步数,能够改善模型效果;
- 急剧放大预训练的每个Batch的Batch Size,能够明显改善模型效果;
- 拿掉预训练任务中的Next Sentence Prediction子任务,它不必要存在;
- 输入文本的动态Masking策略有帮助;
其中4,5影响不大 –> roberta某种程度上是“充分训练”后的bert
2. 预训练的发动机:模型结构
transformer 特征抽取器
注意:
- 特征抽取器:知识 –> 模型参数
- transformer 潜力并没有被充分挖掘,但大家目前不急着改进
- 不同 transformer 的用法学习效率不同,即给定相同大小的数据量,能把这些数据中的多少知识编码到模型里去的能力不一样
- AutoEncoding 双向语言模型 AutoRegressive 单向语言模型
2.1 Encoder-AE
2.2 Decoder-AR
2.3 Encoder-Decoder
2.4 Prefix LM
2.5 Permuted Language Model (PLM)
3. 赢家好在哪里
数据:更高质量、更多数量的预训练数据
参数量:增加模型容量及复杂度
训练:更充分地训练模型
放大Batch Size、增加预训练步数