OpenAI GPT模型演进之路(一)

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

介绍

OpenAI 的生成式预训练 Transformer (Generative Pre-trained Transformer, GPT) 模型通过引入非常强大的语言模型,席卷了自然语言处理(NLP)社区。这些模型可以执行各种 NLP 任务,如问答、文本蕴涵、文本摘要等,而无需任何监督训练。这些语言模型几乎不需要示例来理解任务,并执行与以监督方式训练的最先进的模型相当甚至更好的性能。

GPT-1:开启征程

GPT-1 是 OpenAI 在 2018 年 6 月推出的第一个版本,它采用了 Transformer 解码器架构,并通过无监督学习从大规模文本数据中预训练。GPT-1 在自然语言生成和理解任务上取得了令人瞩目的成绩,展示了Transformer模型的巨大潜力。

在 GPT-1 发布之前,大多数先进的 NLP 模型都是使用有监督学习专门针对特定任务(如情感分类、文本蕴涵等)进行训练的。但是,监督模型有两个主要限制:

  • 需要大量带注释的数据来学习通常不容易获得的特定任务。
  • 无法完成超出训练范围以外的任务。

GPT-1 没有走其他 NLP 模型的路线,采用未标记的数据学习生成语言模型,然后通过提供特定下游任务(如分类、情感分析、文本蕴涵等)的示例来微调模型。

其中左侧是 GPT-1 使用的 Transformer 架构和训练目标,右侧用于对不同任务进行微调的输入转换。将所有结构化输入转换为令牌序列,由预训练模型处理,经过线性层和 softmax 层输出。

模型训练

这种针对 NLP 任务的半监督学习(无监督预训练,然后是监督微调)具有以下三个组成部分:

  1. 无监督语言建模(预训练)

    对于无监督学习,使用标准语言模型目标。

    其中 T 是无监督数据 {t_1,...,t_n} 中的标记集,k 是上下文窗口的大小,θ 是使用随机梯度下降训练的神经网络的参数。

  2. 监督微调

    这部分旨在最大限度地提高观察标签 y 的可能性,给定的特征或标记x_1,...,x_n

    其中 C 是由训练样本组成的标记数据集。

    此外增加了一个辅助学习目标,用于监督微调,以获得更好的泛化和更快的收敛。修改后的训练目标表述为:

    其中L₁(C)是学习语言模型的辅助目标,λ 是赋予该次要学习目标的权重。λ 设置为 0.5。

    通过在 Transformer 模型中添加线性层和 softmax 层来获取下游任务的任务标签,从而实现监督微调。

  3. 特定于任务的输入转换

    为了在微调期间对模型的架构进行最小化的更改,特定下游任务的输入被转换为有序序列。令牌按以下方式重新排列:

  • 开始和结束标记已添加到输入序列中。
  • 在示例的不同部分之间添加了分隔符标记,以便输入可以作为有序序列发送。对于问答、多项选择题等任务,每个示例都发送了多个序列。例如,由上下文序列、问答任务的问答和答案组成的训练示例。

数据集

GPT-1 使用 BooksCorpus 数据集来训练语言模型。BooksCorpus 有大约 7000 本未出版的书籍,这有助于在看不见的数据上训练语言模型。在下游任务的测试集中不太可能找到此数据。此外,该语料库具有大量连续文本,这有助于模型学习大范围依赖关系。

模型架构

GPT-1 采用 12 层 Transformer 解码器结构,每一层的维度是 768,具有掩码自注意力来训练语言模型。模型的架构在很大程度上与变压器的原始工作中描述的相同。掩码有助于实现语言模型目标,其中语言模型无法访问当前单词右侧的后续单词。

模型在大小为 64、序列长度为 512 的小批量上训练了 100 epoch,模型规模 117M 参数。

性能

GPT-1 在比较模型的 12 项任务中的 9 项中表现优于经过专门有监督学习训练的最先进的模型,拿到了 SOTA。

由于预训练,模型在不同的 NLP 任务(如问答、模式解析、情感分析等)上已经进化为零样本 (zero-shot) 性能。

意义

GPT-1 证明了语言模型是一个有效的预训练目标,可以帮助模型很好地泛化。该架构促进了迁移学习,并且可以执行各种 NLP 任务,只需很少的微调。该模型显示了生成式预训练的强大功能,并为其他模型开辟了道路,这些模型可以通过更大的数据集和更多的参数更好地释放这种潜力。

相关推荐
旧故新长3 分钟前
支持Function Call的本地ollama模型对比评测-》开发代理agent
人工智能·深度学习·机器学习
微学AI15 分钟前
融合注意力机制和BiGRU的电力领域发电量预测项目研究,并给出相关代码
人工智能·深度学习·自然语言处理·注意力机制·bigru
知来者逆27 分钟前
计算机视觉——速度与精度的完美结合的实时目标检测算法RF-DETR详解
图像处理·人工智能·深度学习·算法·目标检测·计算机视觉·rf-detr
一勺汤30 分钟前
YOLOv11改进-双Backbone架构:利用双backbone提高yolo11目标检测的精度
人工智能·yolo·双backbone·double backbone·yolo11 backbone·yolo 双backbone
武汉唯众智创32 分钟前
高职人工智能技术应用专业(计算机视觉方向)实训室解决方案
人工智能·计算机视觉·人工智能实训室·计算机视觉实训室·人工智能计算机视觉实训室
Johny_Zhao43 分钟前
MySQL 高可用集群搭建部署
linux·人工智能·mysql·信息安全·云计算·shell·yum源·系统运维·itsm
一只可爱的小猴子1 小时前
2022李宏毅老师机器学习课程笔记
人工智能·笔记·机器学习
地瓜机器人1 小时前
乐聚机器人与地瓜机器人达成战略合作,联合发布Aelos Embodied具身智能
人工智能·机器人
带娃的IT创业者1 小时前
《AI大模型趣味实战》基于RAG向量数据库的知识库AI问答助手设计与实现
数据库·人工智能
__Benco1 小时前
OpenHarmony - 小型系统内核(LiteOS-A)(十),魔法键使用方法,用户态异常信息说明
人工智能·harmonyos