GPT学习笔记

文章部分内容借鉴

(19条消息) 【论文阅读】GPT系列论文详解_长命百岁️的博客-CSDN博客_gpt论文

GPT1

提纲:

先用未标好的数据进行模型的预训练,再使用小批量的标好数据进行微调。

导言:

核心问题:怎样最好的利用无监督文本

使用无标号的文本的时候遇到的困难:不知道遇到什么样的优化函数/怎么样把你学到的有效的文本表示传递到下一轮的子任务上面。

因此提出了提纲上的半监督学习方式(semi supervised),现称自监督学习(self supervised learning)

技术要点:

1、模型基于Transformer架构,跟RNN相比,transformer 里更结构化的记忆可以在迁移学习的时候学到的Feature更加稳定一下,从而可以处理更长的信息,提取更好的语义信息。

2、做迁移的时候用的是任务相关的一个输入表示。

模型

θ代表模型参数  L1代表第一个目标函数

 Transformer Decoder 在预测的时候不会看到后面的词(三角矩阵),下方第一个式子代表对词句的上下文向量做一个词嵌入的投影,再加上一个位置编码当做第一层的输入。

接下来进行n层的Transformer块计算,做完后拿到最后一个Transformer块的输出做一个投影+softmax即可得到概率分布。

相对于Bert:bert并不是标准的语言模型,是一个带掩码的语言模型(完形填空),在预测的时候既能看见前面又能看见之后的词。 在目标函数方面:GPT预测未来(更难)(难导致效果没有Bert好)

FineTune方面:

 

微调方面

 微调的时候重新构造一个线性层(Linear 图每行最后),大小跟标号的大小是一样的,比如分类数目是10,线性层大小就是10

这里说的是如何将模型用于特定的任务(四个典型任务),其中 start,delim,extract 分别是 开始符,分隔符,抽取符,都是一些特殊的标记

Classification(分类):多分类
Entailment(蕴涵):三分类问题,前提 蕴涵/不蕴涵/不确定 假设
Similarity(相似):二分类问题,判断两段文字是不是相似。因此相似是对称的(a和b相似,b和a也相似),但是我们实验的时候会将文本设定先后顺序。所以我们先将a放前面,再将b放前面构造两个序列
Multiple Choice(多选):给n个答案,让模型选择认为正确的答案。做法是,如果有n个答案,就构造n个序列。每个序列都得到一个分数,最后用 softmax 得到正确答案的置信度。

实验

数据集:BookCorpus 7K 篇未发表的书

模型:12层Transformer Decoder 每一层维度768

///Bert  base 也是 12层 Transformer Encoder 768// Bert Large 24层 维度1024 复杂度是base的三倍///Bert 使用了GPT的BookCorpus 中 8亿 个词,还用了20亿个词的wikipedia的数据集。

Bert large相当于用比gpt四倍的数据集训练了一个于gpt 三倍的模型,bert-large的参数量最大是3.4个亿

GPT2

提炼:语言模型是无监督的多任务学习器

摘要:

新作了一个百万级别文本的数据集WebText,15亿个参数的Transformer(bert-large 3.4e)。 

多任务模型:训练模型的时候,同时看多个数据集,可能通过多个损失函数使得模型能够处理多个任务。

主要亮点:Zero-shot 做到下游任务的时候,不需要任何有标注的信息,当然也不要去训练这个模型。 好处:训练一个模型到处都能用。

模型与实验

 GPT1 在下游任务中会使用终止/分割/开始符,但是在zero-shot中,在做下游任务时,因为模型不能被调整了,不能再引入模型没见过的符号,因此你的输入应该更像一个自然语言。

这就引入了 prompt(McCann et al 2018年提出),让一些自然语言,来充当一些符号的作用。

比如翻译任务,可以写成一个序列:translate to french, english text, french text。这里又有明显的起始,分隔,又是正常的自然语言
阅读理解任务,可以写成:answer the question, document, question, answer 是同样的道理
为什么可以工作(可能):

模型足够强大,能够理解提示符
在文本里面,这样的话可能也很常见

训练数据:

1、使用Common Crawl 公开网页抓取项目,但是信噪比比较低,不好用。清理垃圾网页需要很多时间。

2、Reddit 新闻聚合网页。用户打分网页的含金量。

3、爬下所有Reddit网页 (4500W链接) 将其文字提取成800W文本 40GB文字。  

模型大小

GPT3

标题:语言模型是few shot learner

摘要:

GPT3是一个1750亿个参数的自回归模型。因为GPT3参数量大,因此在训练之后其梯度和参数是不做任何的更新的,功能:可以生成一些新闻文章,媲美人写的。

实验:

即使告诉我一些新训练样本,也不更新权重

GPT3模型几乎和GPT2的模型几乎一样的,设计了8个不同大小的模型

反常的点:batch-size增长的时候,学习率往下降,  一般来说是同增的

训练数据基于Common Crawl  

数据处理:

1、先过滤。将Common Crawl作为样本负例,GPT2上爬下来的高质量Commol Crawl作为正例,之后做一个二分类器  用于筛选数据。

2、LH算法去重

3、加了一些已知的高质量数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值