OpenAI GPT模型演进之路(三)

自 2015 年 OpenAI 成立以来,它已经成为了人工智能领域的一股强大力量。OpenAI 的 GPT 模型(Generative Pre-trained Transformer),作为其最具代表性的技术之一,已经改变了自然语言处理(NLP)领域的面貌。本系列文章将回顾 GPT 模型的发展历程,分析其关键的技术突破和创新,以及探讨其对未来人工智能发展的影响。

GPT-3:技术突破

Open AI 希望建立非常强大的语言模型,无需微调,只需少量演示就能理解任务并执行任务,因此建立了拥有 1750 亿个参数的 GPT-3 模型,是GPT-2的100倍之多。

GPT-3标志着OpenAI在自然语言处理领域的技术重大突破。OpenAI团队创建了当时世界上最大的模型,训练它耗资1400万美元。这一次,OpenAI还提供了一个API来访问该模型,使开发者能够基于它构建应用程序。这种大规模模型在多样的任务上展现了惊人的通用性,包括文本生成、翻译、问答等。GPT-3的出现引发了对大规模语言模型的广泛讨论,同时也使得研究者和工业界对模型解释性、伦理问题等方面提出了更多关切。这个语言模型比以往任何其他语言模型都要大一个数量级,它能够完成一些真正令人难以置信的事情,大多数人对GPT-3的酷炫应用印象深刻。

模型训练

GPT-3 模型提出 2 个观点:

  1. 上下文学习(In-context learning)

    大语言模型利用它们所训练的文本数据开发模式识别和其他技能。语言模型学习的主要目标是根据上下文单词预测下一个单词,同时也开始识别数据中的模式,这有助于它们最大限度地减少语言建模任务的损失。之后,这种能力还能帮助模型完成零样本任务转移。当获得少量示例或者需要做什么的描述时,语言模型会将示例的模式与过去在类似数据中学到的知识相匹配,并利用这些知识执行任务。这是大语言模型的一项强大功能,并且随着模型参数数量的增加而增强,并没有发生严重的过拟合现象。

  2. 少样本、单样本和零样本(Few-shot, one-shot and zero-shot)

    少样本、单样本和零样本的设置可以看做是零样本任务转移的特殊情况。在少样本设置中,向模型提供任务说明和适合模型上下文窗口尽可能多的示例。在单样本设置中,模型只提供一个例子,而在零样本设置中则不提供任何例子。随着模型参数的不断增加,模型的少样本、单样本和零样本能力也会随之提高。

GPT-3模型的训练需要大量的计算资源和存储空间,因此在V100 GPU集群上采用了分布式训练的方式。分布式训练是将训练任务分配给多台计算机进行并行计算,以加快训练速度和提高效率。

在分布式训练中,通常会涉及到模型分割和数据分割两个关键步骤。模型分割是将GPT-3模型分割成多个子模型,每个子模型在不同的计算机上进行训练。这样可以充分利用多台计算机的计算资源,加快训练速度。模型分割的关键在于如何将模型参数划分到不同的子模型中,并确保子模型之间的通信和同步。

数据分割是将训练数据划分成多个子集,每个子集分配给不同的计算机进行训练。数据分割的目的是减少单个计算机上的内存压力,提高训练的效率。数据分割的关键在于如何将训练数据划分成多个子集,并确保子集之间的数据一致性和同步。

数据集

GPT-3 在五个不同的语料库上进行训练,每个语料库都有一定的权重。其中高质量的数据集被更频繁地采样,模型也在这些数据集上训练了不止一次。使用的五个数据集是 Common Crawl、WebText2、Books1、Books2 和 Wikipedia。

  1. Common Crawl 数据集:Common Crawl 是一个开放的网络爬虫项目,旨在收集和存档互联网上的公共网页数据。该数据集包含了来自全球各个网站的网页内容,涵盖了各种主题和领域的信息。Common Crawl 数据集可用于许多自然语言处理和机器学习任务,如文本分析、信息检索和语言模型训练。
  2. WebText2 数据集:WebText2 是一个大规模的文本数据集,由 OpenAI 创建。该数据集包含了从互联网上收集的网页文本数据,涵盖了各种主题和领域的内容。WebText2 数据集可用于训练语言模型和进行文本生成等自然语言处理任务。
  3. Books1 数据集:Books1 也是一个由 OpenAI 创建的数据集,用于训练语言模型。该数据集包含了来自各种书籍的文本内容,涵盖了广泛的主题和领域。Books1 数据集可用于训练语言模型,帮助模型学习书籍中的语言和知识。
  4. Books2 数据集:Books2 是 OpenAI 创建的另一个用于训练语言模型的数据集。与 Books1 数据集类似,Books2 数据集也包含了来自各种书籍的文本内容,用于帮助模型学习更多的语言和知识。
  5. Wikipedia 数据集:Wikipedia 是一个免费的多语言在线百科全书,由志愿者贡献和编辑。Wikipedia 数据集包含了来自维基百科的文章和内容,涵盖了广泛的主题和领域。这个数据集被广泛用于自然语言处理和知识图谱构建等任务,因为它提供了大量的结构化和非结构化信息。

模型架构

GPT-3 的架构与 GPT-2 相同,与 GPT-2 的主要区别如下:

  • GPT-3 有 96 层,每层有 96 个注意力头
  • 词嵌入的大小从 GPT-2 的 1600 个增加到 GPT-3 的 12888 个
  • 上下文窗口大小从 GPT-2 的 1024 个 token 增加到 GPT-3 的 2048 个 token
  • 使用 Adam 优化器时,β_1=0.9,β_2=0.95,ε= 10 ^-8^
  • 使用了密集和局部带状稀疏交替的注意力模式

性能

GPT-3 在大量语言建模和 NLP 数据集上进行了评估。在语言建模数据集(如 LAMBADA 和 Penn Tree Bank)上,GPT-3 在少样本和零样本设置下的表现拿到了 SOTA。在其他数据集上,GPT-3 虽然未能超越最先进的数据集,但却提高了零样本的 SOTA。

GPT-3 在闭卷问题解答、模式解析、翻译等 NLP 任务中的表现也相当出色,经常超越最新水平或与微调模型相当。在大多数任务中,与单样本和零样本任务相比,该模型在少样本任务中的表现更好。

除了在传统的 NLP 任务中对模型进行评估外,还在算术加法、解词、新闻文章生成、学习和使用新词等合成任务中对模型进行了评估,部分任务是语言模型的首次实现。在这些任务中,随着参数数量的增加,模型的性能也在提高,而且在少样本参数设置下,模型的性能要优于单样本和零样本参数设置。

局限性

尽管 GPT-3 能够生成高质量的文本,但有时在构建长语句时会失去连贯性,并且一遍又一遍地重复文本序列。此外,GPT-3 在自然语言推理(判断一个句子是否暗示另一个句子)、填空和一些阅读理解任务等方面表现不佳。论文指出,GPT 模型的单向性可能是造成这些局限性的原因,并建议在这种规模下训练双向模型来克服这些问题。

另一个局限是,GPT-3 的通用语言建模目标对每个标记进行了同等权衡,缺乏任务或目标导向的标记预测概念。为了解决这个问题,论文提出了一些方法,如增强学习目标、使用强化学习来微调模型、增加其他模式等。

由于其庞大的结构,模型推理复杂且成本高昂;模型生成的语言和结果可解释性较差;以及模型实现少量学习行为的不确定性。

除了这些局限性之外,GPT-3 还存在滥用其仿人文本生成功能进行网络钓鱼、发送垃圾邮件、传播错误信息或进行其他欺诈活动的潜在风险。此外,GPT-3 生成的文本具有其训练语言的偏见。GPT-3 生成的文章可能带有性别、民族、种族或宗教偏见。因此,谨慎使用此类模型并在使用前对其生成的文本进行监控变得极为重要。

意义

GPT-3表明,一个拥有充足训练数据的语言模型能够解决它从未遇到过的自然语言处理任务。换句话说,GPT-3探索了将模型作为各种下游应用的通用解决方案,而无需进行微调。

相关推荐
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条1 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客1 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon1 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨2 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
yusaisai大鱼2 小时前
tensorflow_probability与tensorflow版本依赖关系
人工智能·python·tensorflow