预训练语⾔模型
1. BERT:NLU时代的开创者
BERT(Bidirectional Encoder Representations from Transformers)是NLP领域的里程碑,它确立了“预训练-微调”范式在NLP中的统治地位,并统一了多种NLU任务。
-
核心思想沿承:
- Transformer架构:完全采用Transformer的Encoder部分进行堆叠,抛弃了RNN/LSTM,利用自注意力机制高效捕捉长距离依赖。
- 预训练-微调范式:继承自ELMo,但将模型架构升级为Transformer,并通过创新的预训练任务使其威力倍增。
-
模型架构:
- Encoder-Only:由多层Transformer Encoder Layer堆叠而成,如BERT-base(12层)和BERT-large(24层)。
- 输入输出:输入是文本序列,通过WordPiece分词。输出通过顶层的
prediction_heads(分类头)映射到任务标签。特别引入了<CLS>token用于表示整句的语义。 - 技术细节:使用GELU激活函数;采用可训练的相对位置编码,相比Transformer的绝对位置编码能拟合更丰富的位置关系,但无法处理超出训练长度(512 token)的输入。
-
革命性的预训练任务:
- MLM (Masked Language Model):核心创新,通过“完形填空”任务让模型学习双向语义。随机遮蔽15%的token,其中80%替换为
<MASK>,10%随机替换,10%保持不变,以缓解预训练与微调的不一致并迫使模型学习上下文。 - NSP (Next Sentence Prediction):为适配句级任务(如问答匹配、自然语言推理)而设计,让模型判断两个句子是否为连续上下文。
- MLM (Masked Language Model):核心创新,通过“完形填空”任务让模型学习双向语义。随机遮蔽15%的token,其中80%替换为
-
下游任务微调:BERT的通用设计使其能高效迁移到多种任务。对于分类任务,使用
<CLS>token的输出;对于序列标注,使用各token的输出。通过少量标注数据微调即可取得SOTA效果。
2. RoBERTa:在BERT肩膀上的精进
RoBERTa(A Robustly optimized BERT approach)通过严谨的实验,对BERT的训练策略进行了系统性优化,证明了“大力出奇迹”的有效性。
- 优化一:去掉NSP任务:实验证明NSP任务收益甚微甚至有负面影响。RoBERTa完全摒弃NSP,专注于MLM。
- 优化二:动态遮蔽:将Mask操作从数据预处理阶段移至训练时,使每个epoch的mask位置都不同,增加了数据多样性,效果略优于静态遮蔽。
- 优化三:更大规模的数据与训练:
- 数据:使用160GB(10倍于BERT)的更多样化语料。
- 训练:采用更大的batch size(8K vs 256),更长的训练步数(500K步),并全程使用512的序列长度训练。
- 优化四:更大的BPE词表:将词表大小从30K提升至50K,增强了模型的编码能力。
3. ALBERT:参数效率的探索者
ALBERT(A Lite BERT)从另一个角度出发,旨在大幅减少模型参数的同时保持甚至提升模型性能。

浙公网安备 33010602011771号