从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史
BERT模型训练
BERT是一个双向模型编码器 -> 获得token的语义信息
(1)pre-training + fine tuning(MLM、NSP + Softmax)
(2)pre-training + prompt
BERT模型参数量计算
(1)Embedding层
vocab_size * hidden_size(词表大小 * 隐藏层维度)
base: 30522 * 768
(2)Transformer块
由L个transformer块组成, 每个transformer块由多头注意力机制和MLP组成
每个transformer块参数量计算:
hidden_size * hidden_size * 3 + hidden_size * hidden_size + 2 * hidden_size * 4 * hidden_size = 12 * hidden_size * hidden_size(QKV三个投影矩阵 + 一个全连接矩阵 + 两个MLP维度扩张转换矩阵)
base:12 * 12 * 768 * 768
BERT中的全连接层参数量占比达到50%,而注意力机制参数量只有30%左右,通过压缩全连接层参数量可以达到小而美的效果。
不同预训练模型对比