【学习ChatGPT】2. GPT2、GPT3、InstructGPT

复习: Transformer、GPT1 https://blog.csdn.net/Citroooon/article/details/130048167?spm=1001.2014.3001.5501

GPT2

论文

gpt1 + larger dataset + more params + zero shot

gpt2在预训练模型结构上几乎没有变化,用了更大的数据集、更大的模型:
· 新的百万级数据集WebText, 比之前Bert用的book Corpus和Wikipedia要更大;
· 15亿参数的transformer解码器模型,之前Bert large是3亿+
目前语言模型的通病是泛化能力、迁移能力差,在一个数据集上训练出来的模型很难用于其他任务。所以提出了zero-shot的思想:不需要下游任务标注的任何信息来训练模型, 直接用与训练的模型对子任务做预测
什么是prompt?提示
(translate to french, english text, french text)
(answer the question, documents, questions, answer)

GPT3

技术报告

  1. 模型参数:
    175 billion param
    在这里插入图片描述
    随着模型参数的增加,batch size增加,学习率下降
  2. 模型结构
    预训练模型结构基本不变:GPT2 + Sparse Transformer
    few shots : 给几个子任务的样本(10-100),模拟人类的学习,但是不做梯度更新和微调,而是通过给example的方式(in-context learning)。
    在这里插入图片描述
  3. 数据集:
    在这里插入图片描述
    线性降低损失 需要指数增加数据量
    在这里插入图片描述
  4. 局限性:
    长文本生成的困难:很长的文本后面可能会重复前面的话
    每一次预测下一个词重要性是均匀的
    不可解释性
    gpt是在历史训练数据中找出与问题相似的文本吗

InstructGPT(GPT3.5)

技术报告 训练语言模型以服从人类的指示

1.背景:

大语言模型的安全性 有效性还是有待提高,不能很好地和人类align(拉齐?), 会有一些toxic的回答。语言模型的loss是预测下一词的概率分布,这个与我们的目标是misalign的

  1. 核心方法:
    fine-tuning with human feedback 强化学习, 人工标注了一个答案打分排名的数据集
    在这里插入图片描述
    step1: SFT 有监督的微调,用人类的问题和人类写好的答案来微调GPT3 (这个在模型看来是和学习文本一样的)
    step2: RM 奖励模型,把gpt生成的答案人工标注好坏的顺序
    step3: RLPPO 让SFT生成的答案获得尽可能高的分数
    效果:instructGPT模型比GPT3小100倍,但是效果更好

  2. 如何标注的数据集:略

  3. 模型

SFT: 有监督的微调, 把GPT3的prompt重新训练一遍,过拟合也没关系
RM:排序问题的loss: pairwise ranking loss
在这里插入图片描述
K= 9 , 9 个答案,选出36个pair来计算loss
如果y_w比y_l的排序高,要最大化他们之间奖励分数的差距

RL: PPO目标函数
在这里插入图片描述
· prompt x 输入到 π R L \pi_{RL} πRL 输出reward y , 最大化这个reward ,policy参数会更新
· 最小化 π R L \pi_{RL} πRL π S F T \pi_{SFT} πSFT 的KL散度,不要让更新跑太远
· γ \gamma γ控制的是 模型要更偏向原始数据 D p r e t r a i n D_{pretrain} Dpretrain一些

  1. 效果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值