一文彻底搞懂GPT - GPT-3

文摘   科技   2024-10-18 15:54   湖北  

GPT-3是一个具有 1750 亿个参数的自回归语言模型,比任何以前的非稀疏语言模型多 10 倍。对于所有任务,GPT-3 均无需任何梯度更新或微调即可应用,任务和少样本演示完全通过与模型的文本交互来指定。
GPT-3 可以生成新闻文章样本,而人类评估者很难将这些样本与人类撰写的文章区分开来。
接下来分为四部分:摘要、引言、模型、实验,一起来精读论文:GPT-3:Language Models are Few-Shot Learners语言模型是少样本学习者

GPT-3语言模型是少样本学习者

一、摘要

为什么说GPT-3是自回归语言模型自回归模型是一种统计模型,它假设当前的值是过去值的函数。在自然语言处理(NLP)中,自回归语言模型利用这一原理,根据已经生成的文本内容来预测下一个词或字符。
在生成文本时,GPT-3会根据已经生成的文本序列预测下一个最可能的词或字符,从而逐步生成完整的文本。
为什么说OpenAI从GPT-3开始暴力美学?与前代模型相比,GPT-3在参数数量上实现了巨大的飞跃。GPT-3是一个拥有1750亿个参数的大型语言模型,这是其“暴力”的一面。OpenAI从此走上了一条不断增加预训练数据,疯狂怼参数的成功之路。
GPT-3亮点一:超大规模参数,GPT-3拥有1750亿个参数,这一数字是GPT-2的100多倍(GPT-2为15亿参数),比任何以前的非稀疏语言模型多 10 倍这种规模的提升使得GPT-3能够捕捉到更加复杂的语言特征和知识,从而具备更强的语言理解和生成能力。
GPT-3亮点二:少样本学习(不进行梯度更新或微调GPT-3在少样本学习(Few-shot Learning)方面表现出色,它能够在不进行梯度更新或微调的情况下,仅通过上下文信息和少量示例来学习和完成任务。这种能力被称为“in-context learning”,即模型在预训练过程中已经学到了大量的任务模式,推理时无需再修改模型的权重就能执行不同的任务。
GPT-3亮点三:卓越的文章生成能力,GPT-3能够基于给定的主题或提示生成连贯、自然的文章,且质量之高以至于人类评估人员难以区分其生成的文章与真实文章之间的差异。

二、引言

Few-shot的设定是什么?GPT-2采用了zero-shot设定,在新意度上很高,但是有效性却比较低。而GPT-3则是尝试解决GPT-2的有效性,进行Few-shot设置,即模型在做下游任务时,可以看到一些任务的样例,而不是像GPT-2那样啥样例都不给。

传统两阶段方式(Pre-training + Fine-tuning)存在哪些问题?传统二阶段训练方式依赖于大量有标签数据进行微调,需要高昂的数据获取和标注成本。同时微调是过拟合了预训练的训练数据,导致模型泛化能力受限。
为什么GPT-3只采用无监督预训练?GPT-3通过大规模无监督预训练降低了对标签数据的依赖,并与人类学习方式相似,通过大规模预训练来积累语言知识和经验,并通过“in-context learning”快速适应新任务

什么是上下文学习(In-Context-Learning,ICL)?上下文学习,是一种机器学习方法,它允许GPT-3等大规模预训练语言模型(LLM)在不需要调整模型参数的情况下,仅通过几条下游任务的示例就能理解任务并给出满意的回答

  • 提示(Prompt):在ICL中,给语言模型一个由输入输出对组成的列表作为“提示”,这些输入输出对用来描述一个任务

  • 模式学习:模型从演示中学习到模式,并据此做出正确的预测。本质上,它利用训练有素的语言模型根据演示的示例来估计候选答案的可能性

  • 无需参数更新:与监督学习需要使用反向梯度更新模型参数的训练阶段不同,ICL不进行参数更新,而是直接在预训练的语言模型上进行预测

三、模型

GPT-3模型是什么我们使用了与GPT-2相同的模型和架构,包括其中所述的修改后的初始化、预归一化和可逆分词,但不同的是,我们在Transformer的层中使用了交替的密集和局部带状稀疏注意力模式,这与Sparse Transformer类似。
GPT-3模型训练方式是什么?在GPT-3的训练过程中,一个关键的创新点是In-context-learning能力。这种能力允许模型在不需要调整内部参数的情况下,仅通过理解上下文中的示例和提示来执行任务
  • Fine-tuning:训练完成预训练模型后,在每一个子任务上提供训练样本;微调对数据量的要求少,从0开始训练;

  • Zero-shot:任务描述和prompt之间没有任何样本。

  • One-shot:任务描述和prompt之前,插入一个样本进来。样本只做预测,不做训练,模型在前向推理时,使用注意力机制,处理比较长的信息,从中间抽取出有用的信息。

  • Few-shot:任务描述和prompt之前,插入多个样本进来。多个不一定有用,可能模型不能处理很长的数据。

四、实验

GPT-3的训练数据是什么?GPT-3 的训练数据主要基于 Common Crawl,但为了提升数据质量,研究人员在数据预处理阶段采取了三个关键步骤:数据过滤、数据去重、增加高质量数据。
  1. 数据过滤

  • GPT-2 使用的数据集为 Reddit,由于其社区规范和用户活跃度,Reddit 数据通常具有较高的质量。

  • 研究人员训练了一个二分类网络,将 Reddit 数据作为正例,从 Common Crawl 中随机选取的一部分数据作为负例。

  • 利用这个二分类网络,对 Common Crawl 中的所有数据进行分类,仅保留被分类为正例的数据,剔除负例数据。这一步骤有助于提升训练数据的整体质量,使其更接近 GPT-2 所使用的 Reddit 数据的质量水平。

  • 数据去重

    • 为了避免训练过程中模型学习到重复的信息,研究人员采用了 LSH(局部敏感哈希)算法进行数据去重。

    • LSH 算法能够快速地判断一个集合(如一篇文章的单词集合)与另一个很大集合之间的相似度,从而有效地识别并剔除重复的数据。

  • 增加高质量数据

    • 除了上述两个步骤外,研究人员还额外增加了一些已知的高质量数据集。

    • 这些高质量数据集可能来自其他来源,如学术出版物、新闻报道等,它们通常具有更高的语言准确性和信息价值。

    • 通过增加这些高质量数据,研究人员可以进一步提升 GPT-3 模型的语言理解和生成能力。

    模型的规格有多大?GPT-3的模型和GPT-2的模型是一样的,稍微有点改动,把transformer换成了Sparse Transformer中的结构,并设计8个不同大小的模型。


    参考资料

    • https://openai.com/index/language-models-are-few-shot-learners/
    • https://arxiv.org/pdf/2005.14165

    • https://www.bilibili.com/video/BV1AF411b7xQ/


    架构师带你玩转AI
    分享人工智能,让所有人玩转AI
     最新文章