一文读懂GPT-1:生成式预训练如何提升语言理解

欢迎来到魔法宝库,传递AIGC的前沿知识,做有格调的分享❗

喜欢的话记得点个关注吧❗


为了深入探索大语言模型的发展历程,我们精心挑选了一系列经典论文进行分享,希望能与大家共同学习和理解大语言模型背后的技术。首期,我们将共同探索ChatGPT的起源:GPT-1,跟随论文深入理解其技术细节,见证人工智能新篇章的启幕。

  • 论文题目: Improving Language Understanding by Generative Pre-Training
  • 公司/机构: OpenAI

摘要

GPT-1是一种半监督的语言模型 ,它巧妙地结合了无监督预训练和有监督微调,以优化语言理解任务。其目标是学习一种通用的语言表示,只需微调,就能在各种任务中灵活迁移。GPT-1首先利用大量未标注文本进行预训练,然后针对特定任务进行有监督的微调。它采用了Transformer作为模型架构,这种架构提供了更加结构化的记忆,以便处理文本中的长期依赖关系,从而实现了卓越的迁移性能。在迁移训练过程中,GPT1能够在最小化模型结构更改的同时,有效地进行微调。

GPT-1基本原理

GPT-1模型主要包含两个阶段:

1.利用大量未标注的语料预训练一个语言模型;

2.对预训练好的语言模型进行微改,将其迁移到各种有监督的NLP任务,并对参数进行fine-tuning。

无监督预训练

给定一个无标记的大语料库u,GPT-1通过最大化以下似然函数来训练语言模型:

其中, k 是上下文窗口的大小。

GPT-1使用12层的Transformer解码器作为语言模型,模型结构如下所示:

计算过程如下所示:

其中,U=(u-k,...,u-1)是上下文向量,n 是层数。

有监督微调

在预训练模型之后,我们在有监督的NLP任务上对预训练模型进行微调。假设有一个带有标签的数据集C,其中每个样本由一系列输入x1,...,xm以及一个标签y组成。对于每一个输入,经过预训练后的语言模型后,可以直接选取最后一层Transformer的输出向量h,然后在其后面接一层全连接层,即可得到最后的预测概率:

其中,Wy为全连接层的权重参数,最大化目标函数如下所示:

在具体的NLP任务中,作者发现在fine-tuning时把语言模型的目标作为辅助目标引入到目标函数中有助于学习,具体表现为:

1.改进了有监督模型的泛化能力

2.加速了收敛速度。

具体而言,将优化一下目标,形式如下所示:

不过,对于某些任务,如文本分类,我们可以直接微调模型。

但对于其他任务,如问答或文本蕴含,输入是结构化的,如有序的句子对或文档、问题和答案的三元组。

为了适应这些任务,GPT-1将结构化输入转换为预训练模型可以处理的有序序列,以避免大量修改模型架构。

所有的输入转化都要添加起始和结束标记。

文本分类 对于文本分类任务,可以直接微调模型。

文本蕴含 对于文本蕴含任务,我们将前提(premise)和假设(hypothesis)连接起来,并在中间添加一个分隔符$。

相似性 对于相似性任务,两个待比较的句子没有固定的顺序。为了反映这一点,修改输入序列,包含两种可能的句子顺序,并将它们分别处理生成两个序列表示,然后将它们相加后输入到线性输出层中。

问答 和常识推理 对于这些任务,我们给定一个上下文文档z、一个问题q和一组可能的答案{ak}。我们将文档上下文和问题与每个可能的答案连接起来,中间添加一个分隔符 <math xmlns="http://www.w3.org/1998/Math/MathML"> 。然后,分别处理这些序列 [ z ; q ; 。然后,分别处理这些序列[z; q; </math>。然后,分别处理这些序列[z;q;; ak],并通过softmax层生成答案的输出分布。


如果对AIGC感兴趣,请关注我们的微信公众号"我有魔法WYMF ",我们会定期分享AIGC最新资讯和经典论文精读分享,让我们一起交流学习!!

相关推荐
DianSan_ERP7 分钟前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
在人间耕耘23 分钟前
HarmonyOS Vision Kit 视觉AI实战:把官方 Demo 改造成一套能长期复用的组件库
人工智能·深度学习·harmonyos
够快云库23 分钟前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
Eloudy39 分钟前
CHI 开发备忘 08 记 -- CHI spec 08
人工智能·arch·hpc
homelook41 分钟前
Transformer与电池管理系统(BMS)的结合是当前 智能电池管理 的前沿研究方向
人工智能·深度学习·transformer
ZPC821042 分钟前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC821042 分钟前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
ssshooter1 小时前
免费和付费 AI API 选择指南
人工智能·aigc·openai
掘金酱1 小时前
「寻找年味」 沸点活动|获奖名单公示🎊
前端·人工智能·后端