预训练语⾔模型

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):为适配句级任务(如问答匹配、自然语言推理)而设计,让模型判断两个句子是否为连续上下文。
  • 下游任务微调: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)从另一个角度出发,旨在大幅减少模型参数的同时保持甚至提升模型性能。

 
posted @ 2025-11-19 23:24  十一分平庸  阅读(18)  评论(0)    收藏  举报