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 任务,只需很少的微调。该模型显示了生成式预训练的强大功能,并为其他模型开辟了道路,这些模型可以通过更大的数据集和更多的参数更好地释放这种潜力。

相关推荐
我算是程序猿18 分钟前
用AI做电子萌宠,快速涨粉变现
人工智能·stable diffusion·aigc
萱仔学习自我记录21 分钟前
微调大语言模型——超详细步骤
人工智能·深度学习·机器学习
湘大小菜鸡31 分钟前
NLP进阶(一)
人工智能·自然语言处理
XiaoLiuLB38 分钟前
最佳语音识别 Whisper-large-v3-turbo 上线,速度更快(本地安装 )
人工智能·whisper·语音识别
哪 吒41 分钟前
吊打ChatGPT4o!大学生如何用上原版O1辅助论文写作(附论文教程)
人工智能·ai·自然语言处理·chatgpt·aigc
Eric.Lee202144 分钟前
音频文件重采样 - python 实现
人工智能·python·深度学习·算法·audio·音频重采样
爱喝白开水a1 小时前
关于大模型在企业生产环境中的独立部署问题
人工智能·深度学习·llm·大语言模型·ai大模型·计算机技术·本地部署大模型
可惜已不在2 小时前
AI 搜索引擎工具集合
人工智能·ai
Landy_Jay2 小时前
深度学习:基于MindSpore实现CycleGAN壁画修复
人工智能·深度学习
Langchain2 小时前
不可错过!CMU最新《生成式人工智能大模型》课程:从文本、图像到多模态大模型
人工智能·自然语言处理·langchain·大模型·llm·大语言模型·多模态大模型