GPT-3 论文阅读笔记

这篇具有很好参考价值的文章主要介绍了GPT-3 论文阅读笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GPT-3模型出自论文《Language Models are Few-Shot Learners》是OpenAI在2020年5月发布的。

论文摘要翻译:最近的工作表明,通过对大量文本进行预训练,然后对特定任务进行微调(fine-tuning),在许多NLP任务和基准测试上取得了实质性的进展。虽然这种方法在架构上通常与任务无关,但它对特定任务仍然需要有数千或数万个实例的微调数据集。相比之下,人类通常只能通过几个例子或简单的指令来执行一项新的语言任务,而当前的NLP系统在很大程度上仍然很难做到这一点。在本文中我们表明扩大语言模型的规模大大提高了任务无关的、few-shot的性能,有时与之前最先进的微调方法相比仍具有竞争力。具体来说,我们训练了GPT-3,这是一个具有1750亿个参数的自回归语言模型,比以前的任何非稀疏语言模型大10倍以上,并测试其在few-shot场景下的性能。对于所有任务,GPT-3在没有任何梯度更新或微调的情况下应用,任务和few-shot说明完全通过文本与模型交互。GPT-3在许多NLP数据集上实现了强大的性能,包括翻译、问答和完形填空任务,以及一些需要动态推理或领域自适应的任务,如解读单词、在句子中使用新词或执行三位数算术。同时,我们还讨论了GPT-3在few-shot学习仍然困难的一些数据集,以及GPT-3在大型网络语料库上训练时面临方法论问题的数据集。最后,我们发现GPT-3可以生成新闻文章的样本,人类评估人员很难将其与人类撰写的文章区分开来,我们讨论了这一发现和GPT-3的更广泛的社会影响。

在论文引言部分正式定义了在GPT-2就提过的不需要fine-tuning直接使用模型完成任务的思路,将其称为“In-context learning”:把预训练模型的输入当做特定任务的说明,也就是将自然语言指令、以及任务的几个示例(或0个示例)一起作为模型的输入,希望模型通过预测后面要输出什么来完成接下来的任务实例。

 Recent work [ RWC+19] attempts to do this via what we call "in-context learning", using the text input of a pretrained language model as a form of task specification: the model is conditioned on a natural language instruction and/or a few demonstrations of the task and is then expected to complete further instances of the task simply by predicting what comes next.

论文的第2部分,先定义了Few-Shot(FS)、One-Shot(1S)、Zero-Shot(0S),这三种方式都不允许对模型参数进行更新, 并用下图进行了示意,

Few-Shot(FS):对于指定的任务提供K个示例样本给模型,一般是10-100,因为模型的上下文token为2048,太多个样本就放不进模型里。

One-Shot(1S):对于指定的任务提供恰好1个示例样本给模型,  区分一次性和少样本和零样本的原因是它与一些任务被传达给人类的方式最匹配。例如,当要求人类在人工服务(例如 Mechanical Turk)上生成数据集时,通常会展示该任务。相比之下,如果没有给出示例,有时很难传达任务的内容或格式

Zero-Shot(0S):不提供任何示例样本给模型,只将任务描述输入到模型。

gpt3论文,gpt-3,论文阅读,语言模型

                                                     原论文中的Figure 2.1

论文中图2 说明了在不对模型做任何梯度更新和微调的情况下:1. 提供额外的自然语言描述可以提高模型效果(就是提供prompt); 2. 提供越多的样本数K也可以提高模型效果; 3. 模型大小的增加能显著提高few-shot的效果

gpt3论文,gpt-3,论文阅读,语言模型

                                                    原论文中的Figure 1.2

GPT-3 模型和架构

  • GPT-3的模型与GPT-2 几乎一样,只有一个例外:像Sparse Transformer 一样在transformer 中使用dense and locally banded sparse attention patterns。 
  • 一共训练了如下表所示的8个模型,最大的有1750亿个参数的模型被称为GPT-3,所有模型的上下文窗口token大小为n_{ctx} = 2048。下表中 是模型参数, 是模型的层数,d_{model} 是每一个块的参数大小, n_{heads} 是多头注意力的个数,d_head是每个注意力头的大小。

gpt3论文,gpt-3,论文阅读,语言模型                                                    原论文中的表2.1

训练数据集

数据集使用Common Crawl dataset,因为大小足够大到训练GPT-3,但是Common Crawl dataset的质量比较低,使用3个步骤来提到数据集的质量:

(1)下载 Common Crawl 2016 - 2019共41个shards的数据,根据与一系列高质量参考语料库的相似性过滤了掉部分语料

  • 使用逻辑回归训练了一个分类器,用WebText, Wikiedia 和 web books的语料当做正样本,使用没有过滤过的 Common Crawl当做负样本, 特征由spark标准分词器和HashingTF生成。然后使用这个分类器来预测Common Crawl的样本,得到一个分数,如果np.random.pareto(α) > 1 − document_score 就保留样本,选取了α=9,目的是留下大部分分类器评分高的文档,但是仍然包含了一些在分布外的文档。α是根据分类器在WebText上的分数分布来选取的。(并发现通过分布之外生成样本的损失来衡量的话,re-weighting 策略是增加了样本质量的)

(2)在文档级别、数据集内部和数据集之间执行了模糊重复数据消除,以防止冗余,并保持我们的作为过拟合的准确度量的验证集的完整性。

  • 使用spark的10 hashes的MinHashLSH 来对每个数据集进行模糊去重。将WebText从Common Crawl模糊移除,减少了10%左右的数据

(3)将已知的高质量参考语料库添加到训练组合中,以增强Common Crawl并增加其多样性,训练时各训练集的比例如下表

gpt3论文,gpt-3,论文阅读,语言模型                                                          原论文中的Table 2.2

另外作者提到在训练过程中,数据集不是按大小成比例采样的,而是认为质量更高的数据集应该被更频繁地采样,因此CommonCrawl和Books2数据集在训练期间被采样不到一次,但其他数据集被采样2-3次。

训练过程:

  • 如上表中示意的,更大的模型会使用更大的batch size,同时使用更小的学习率。 使用训练过程中的梯度噪声尺度来指导选择batch size
  •  使用 的Adam 学习器
  • clip the global norm of the gradient at 1.0
  • use cosine decay for learning rate down to 10% of its value, over 260 billion tokens (after 260 billion tokens, training continues at 10% of the original learning rate.  There is a linear LR warmup over the first 375 million tokens
  • gradually increase the batch size linearly from a small value(32k tokens) to the full value over the first 4-12 billion tokens of training, depending on the model size.
  • all models use weight decay of 0.1 to provide a small amount of regulation
  • data are sampled without replacement during training to minimize overfitting
  • 为了提高计算效率,所有训练样本的序列长度都是n_{ctx} = 2048, 当文档的长度小于2048时,将多个文档合并成一个。对于由多个文档组成的序列,没有使用特殊的掩码,而是在一个文档结束处放置了一个结束符。
  • 使用混合模型并行方法来训练,训练是在Microsoft 提供的V100 GPU上进行的。 (a mixture of model parallelism within each matrix multiply and model parallelism across the layers of the network)

论文中的图3.1说明把模型参数增加2个数量级后,还是基本符合幂率分布(power-law)规律的

gpt3论文,gpt-3,论文阅读,语言模型

                                                     原论文中的Figure 3.1

论文第三部分是GPT-3模型在各个数据集上的效果;第四部分讨论了大模型是否仅仅是记住了训练样本;第五部分讨论模型的局限性;第6部分讨论大模型更广泛的影响,如被不良使用,公平及偏见、能耗使用。

参考资料

1. Brown, TomB., Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, et al. 2020. “Language Models Are Few-Shot Learners.” arXiv: Computation and Language.文章来源地址https://www.toymoban.com/news/detail-531216.html

到了这里,关于GPT-3 论文阅读笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GPT-3 论文阅读笔记

    GPT-3模型出自论文《Language Models are Few-Shot Learners》是OpenAI在2020年5月发布的。 论文摘要翻译 :最近的工作表明,通过对大量文本进行预训练,然后对特定任务进行微调(fine-tuning),在许多NLP任务和基准测试上取得了实质性的进展。虽然这种方法在架构上通常与任务无关,但它

    2024年02月12日
    浏览(26)
  • 搭建部署属于自己的基于gpt3.5的大语言模型(基于flask+html+css+js+mysql实现)

    本项目是一个基于GPT-3.5模型的聊天机器人网站,旨在为用户提供一个简便、直接的方式来体验和利用GPT-3.5模型的强大功能。项目以Flask为基础,构建了一个完整的Web应用程序,其中包含了多个前端页面和后端API接口,能够处理用户输入并与GPT-3.5模型进行交互来生成响应。 一

    2024年02月07日
    浏览(43)
  • [论文阅读笔记76]GPT Understands, Too(P-tuning)

    题目 论文作者与单位 来源 年份 GPT Understands, Too 清华大学 Citations, References 论文链接:https://arxiv.org/pdf/2103.10385.pdf 论文代码: 研究主题 问题背景 核心方法流程 亮点 数据集 结论 论文类型 微调大模型 采用传统微调的gpt在自然语言理解(NLU)方面未能取得良好的效果

    2024年02月09日
    浏览(42)
  • GPT3学习笔记

    关于GPT-3的主要事实: 模型分类 :GPT-3有8个不同的模型,参数从1.25亿到1750亿不等。 模型大小 :最大的GPT-3模型有1750亿参数。这比最大的BERT模型大470倍(3.75亿个参数) 体系结构 :GPT-3是一种自回归模型,使用仅有解码器的体系结构。使用下一个单词预测目标进行训练 学习方式 :G

    2024年02月11日
    浏览(27)
  • 基于GPT3.5模型搭建的聊天系统BAIChat

    需要特殊的网络环境。如果是小白,不会搭建网络环境,可以关注我私信我,在线帮你搭建网络环境。 https://chatbot.theb.ai/#/chat/1686535596065 研究背景 最近的研究表明,在 pretrain+finetune 模型中,当模型适应了下游任务的训练集后,往往会失去对下游任务的 OOD(out-of-distribution)

    2024年02月11日
    浏览(26)
  • 超过GPT3.5?Mixtral 8*7B 模型结构分析

     Datawhale干货  作者:宋志学,Datawhale成员 2023年12月11日,Mistral AI团队发布了一款高质量的稀疏专家混合模型Mixtral 8x7B。 Mistral AI继续致力于向开发者社区提供最优秀的开放模型。在人工智能领域向前发展,需要采取超越重用众所周知的架构和训练范式的新技术路径。最重要

    2024年01月20日
    浏览(43)
  • [最新搭建教程]0基础Linux CentOS7系统服务器本地安装部署ChatGPT模型服务搭建/免费域名绑定网页Https访问/调用open AI的API/GPT3/GPT3.5/GPT4模型接口

    一、关于此文 本文介绍了如何克隆一个开源的项目,通过请求调用OpenAI ChatGPT模型接口,以使用ChatGPT的强大功能。相比于直接登录ChatGPT官网对话,此方法对话过程更为流畅,不会频频出现限流导致对话中断或网络异常;此外,部署完成后无需魔法即可访问,可分享给亲朋好

    2024年02月10日
    浏览(36)
  • GPT3 SFT微调中文1.3B参数量文本生成模型

    本模型在中文 GPT-3 1.3B 预训练模型的基础上,通过 有监督的sft数据 训练得到,具备更强的通用生成能力,对话能力等。目前模型可以支持 单轮对话,多轮对话,知识增强 等不同输入模式。 GPT-3模型使用Transforme r的Decoder结构 ,并对Transformer Decoder进行了一些改动,原本的De

    2024年02月08日
    浏览(66)
  • 本地构建自己的chatgpt已成为可能,国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持普通在笔记上运行chatgpt

    国外团队从GPT3.5提取大规模数据完成本地机器人训练,并开源项目源码和模型支持,普通在笔记上运行chatgpt。下面是他们分享的:收集到的数据、数据管理程序、训练代码和最终模型,以促进开放研究和可重复性。 在 2023 年 3 月 20 日至 2023 年 3 月 26 日期间,该团队使用 GPT

    2023年04月21日
    浏览(43)
  • openai开放gpt3.5-turbo模型api,使用python即可写一个基于gpt的智能问答机器人

    使用 pip 安装openai库,注意 gpt3.5-turbo 模型需要 python=3.9 的版本支持,本文演示的python版本是 python==3.10.10 需要提前在 openai 官网上注册好账号,然后打开 https://platform.openai.com/account/api-keys 就可以创建接口 keys 每个账号注册完成会有18美元在里面,每次调用api,就会花费里面的

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包