预训练模型:GPT

GPT 是 OpenAI 在论文《Improving Language Understanding by Generative Pre-Training》中提出的生成式预训练语言模型。该模型的核心思想是通过二段式的训练,以通用语言模型加微调训练的模型完成各项下游NLP任务,包括文本生成、二分类、蕴含、相似度、多分类等。

1. 预训练任务

GPT模型采用标准的语言模型训练方法,即给定上文令模型预测下一单词,模型的目标函数为:

L i = ∑ t ∈ T l o g P ( u t ∣ u t − k , ⋯   , u t − 1 ; θ ) L_i = \sum_{t \in T} logP(u_t|u_{t-k}, \cdots, u_{t-1};\theta) Li=tTlogP(ututk,,ut1;θ)式中, k k k 是上下文窗口大小。

2. 模型结构

GPT模型整体继承了 Transform 的解码器(Decoder)结构,除删除了 Decoder 模块中的 Encoder-Decoder Attention 层,并将输入层中的位置编码模块从三角函数编码改为用可学习的模型参数编码外,在模型结构上未做任何改动,仅扩充了原有网络的规模:

  1. 将Decoder模块的层数从6层扩展到12层;
  2. 将Attention层输出向量的维度从512维扩大到768维;
  3. 将Attention层多头注意力的头数从8增加到12;
  4. 将Feed Forward层的隐藏层神经元数量从2048增加到3072。

此外还优化了学习率预热算法,使用更大的BPE码表(融合次数为40000),将激活函数从 ReLU 改变为对梯度更新更友好的 GeLU(高斯误差线性单元)。

3. 下游任务

4. 微调训练

你可能感兴趣的:(#,深度学习,#,自然语言处理,深度学习,tensorflow,python)