文章目录
一. GPT-1:无监督与微调
2018年年中,就在Transformer架构诞生一年后,OpenAI发表了[论文:Improving Language Understanding by Generative Pre-Training]。这篇论文介绍了GPT,也被称为GPT-1。
1. 在GPT-1之前的监督学习
的问题
在GPT-1出现之前,构建高性能NLP神经网络的常用方法是利用
监督学习
。这种学习技术使用大量的手动
标记数据。以情感分析任务为例,目标是对给定的文本进行分类,判断其情感是积极的还是消极的。一种常见的策略是收集数千个手动标记
的文本示例来构建有效的分类模型
。然而,这需要有大量标记良好的监督数据
。这一需求限制了监督学习的性能,因为要生成这样的数据集,难度很大且成本高昂。
2. GPT-1中新的学习过程-无监督的预训练
在论文中,GPT-1的作者提出了一种新的学习过程,其中引入了
无监督的预训练步骤
。
- 这个预训练步骤不需要
标记数据
(标记数据后做什么)。相反,他们训练模型来预测下一个标记
。- 由于采用了可以并行化的Transformer架构,预训练步骤是在大量数据上进行的。
- 对于预训练,GPT-1模型使用了BookCorpus数据集。该数据集包含约11000本未出版图书的文本。BookCorpus最初由Yukun Zhu等人在2015年的论文“Aligning Books and Movies: Towards Story-like Visual Explanations by Watching Movies and Reading Books”中给出,并通过多伦多大学的网页提供。
人们发现,GPT-1在各种基本的文本补全
任务中是有效的。在无监督学习阶段,该模型学习BookCorpus数据集并预测文本中的下一个词
。
3. 复杂任务下的微调
- 然而,GPT-1是小模型,它无法在不经过微调的情况下执行复杂任务。因此,人们将微调作为第二个监督学习步骤,让模型在一小部分
手动标记的数据上进行微调
,从而适应特定的目标任务。- 比如,在情感分析等分类任务中,可能需要在一小部分手动标记的文本示例上重新训练模型,以使其达到不错的准确度。这个过程使模型
在初始的预训练阶段习得的参数得到修改
,从而更好地适应具体的任务。
![[Pasted image 20240420225446.png]]
具体见:[论文:Improving Language Understanding by Generative Pre-Training]:3.2 Supervised fine-tuning
4. GPT-1为更强大的模型铺平了道路
尽管规模相对较小,但GPT-1在仅用少量手动标记的数据进行微调后,能够出色地完成多个NLP任务。GPT-1的架构包括一个
解码器
(与原始Transformer架构中的解码器类似),具有1.17亿个参数
。作为首个GPT模型,它为更强大的模型铺平了道路。后续的GPT模型使用更大的数据集和更多的参数,更好地利用了Transformer架构的潜力。