抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

GPT-1

  • 简述一下GPT的训练过程。

    GPT的训练过程采用了预训练和微调的二段式训练策略。

    • 非监督式预训练: 利用大规模无标记语料,构建预训练单向语言模型。训练目标是Language Modeling loss。
    • 监督式微调: 用预训练的结果作为下游任务的初始化参数,增加一个线性层,匹配下游任务。训练目标是有监督的目标函数,并加上Language Modeling作为辅助目标。
  • GPT的Decoder与Transformer Decoder的区别

    • 激活函数为GELU
    • 位置编码为Learning Position embedding
    • 去除了Cross attention。
    • Tokenizer采用的是BPE。
  • 为什么GPT是Decoder-only?

    Transformer 结构提出是用于机器翻译任务,机器翻译是一个Seq2Seq的任务,因此 Transformer 设计了Encoder 用于提取源端语言的语义特征,而用 Decoder 提取目标端语言的语义特征,并生成相对应的译文。GPT目标是服务于单序列文本的生成式任务,所以舍弃了关于 Encoder部分以及包括 Decoder 的 Cross Attention 层。

GPT-2

  • GPT-2与GPT的区别?

    主推zero-shot,而GPT-1为pre-train+fine-tuning。
    模型更大。参数量达到1.5B,而GPT只有0.117B.
    数据集更大。
    训练参数变化,batch_size 从 64 增加到 512,上文窗口大小从 512 增加到 1024。
    模型结构变化:

    • 后置层归一化( post-norm )改为前置层归一化( pre-norm );
    • 在模型最后一个自注意力层之后,额外增加一个层归一化;
    • 调整参数的初始化方式,按残差层个数进行缩放,缩放比例为;
    • 输入序列的最大长度从 512 扩充到 1024;

GPT-3

  • GPT-3与GPT-2区别?

    GPT-2虽然提出zero-shot,比bert有新意,但是有效性方面不佳。GPT-3考虑few-shot,用少量文本提升有效性。
    模型结构:

    • 大部分和GPT-2一样,但应用了Sparse attention。
      论文尝试了四种方式的评估方法:
    • fine-tuning:预训练 + 训练样本计算loss更新梯度,然后预测。会更新模型参数.
    • zero-shot:预训练 + task description + prompt,直接预测。不更新模型参数.
    • one-shot:预训练 + task description + example + prompt,预测。不更新模型参数.
    • few-shot(又称为in-context learning):预训练 + task description + examples + prompt,预测。不更新模型参数.

Instruct-GPT

  • 介绍一下InstructGPT。
    为了和人类的需求对齐—— 主要由三个阶段组成 : (1) SFT(Supervised Fine-tuning):收集一系列人工标注的(Question,Response)作为数据集,使用LM目标函数监督学习微调GPT-3(16个epoch)。根据验证集上的RM分数,选择最终的SFT模型。 (2) RM(Reward Modeling):RM是训练一个Reward Model,将SFT模型最后的嵌入层去掉后的模型,它的输入是prompt和response,输出是标量的奖励值。奖励模型的损失函数如下,这里使用的是排序中常见的pairwise ranking loss。这是因为人工标注的是答案的顺序,而不是分数,所以中间需要转换一下。 (3) RL(PPO):训练RL policy,即之前SFT过的GPT-3。用SFT的GPT-3输出Response,用上一步训练的Reward Model输出标量作为Reward,来训练这个RL policy。为了确保输出的质量不降低,有时也会在PPO的目标函数之外额外加上加权的LM目标函数。