BERT 大模型
BERT 特点 :
- 优点 : 在语言理解相关任务中表现很好
- 缺点 : 更适合 NLU 任务,不适合 NLG 任务
BERT 架构:双向编码模型 :
- Embedding 模块
- Transformer 模块
- 预微调模块
Embedding
Embedding 组成 :
- Token Embeddings:词嵌入张量,第一个单词是CLS标志,用于分类任务
- Segment Embeddings:句子分段嵌入张量,用于两个句子为输入的预训练任务
- Position Embeddings:位置编码张量
- 输出张量 : 这3个张量的直接加和结果
Transformer
Transformer :
- 只用 Transformer 的 Encoder 部分 , 舍弃 Decoder
- 预训练任务集中在训练 Transformer 中
预微调模块
- 根据任务不同需求调整最后一层
- 对于sequence-level的分类任务,取第一个[CLS]token的final hidden state,加一层全连接层后进行softmax预测标签
预训练任务
MaskedLM(带 mask 的语言模型训练)
- 输入句子中随机抽取 15% 的 token 作为训练对象
- 80% 概率用 MASK 标记替换 token ,10% 概率用随机单词替换 token,10% 概率保持 token 不变
NextSentencePrediction(下一句话预测任务)
- 输入句子对 (A , B) ,预测句子B是否是句子A的真实下一句
- 50% 的 B 是原始文本中真实跟随A的下一句(正样本),50% 的 B 是随机抽取的一句话(负样本)