什么是GPT ?

7 min read

GPT全称为Generative Pre-training Transformer,是OpenAI开发的一种基于Transformer的大规模自然语言生成模型。GPT模型采用了自监督学习的方式,首先在大量的无标签文本数据上进行预训练,然后在特定任务的数据上进行微调。

GPT模型的主要结构是一个多层的Transformer解码器,但是它只使用了Transformer解码器的部分,没有使用编码器-解码器的结构。此外,为了保证生成的文本在语法和语义上的连贯性,GPT模型采用了因果掩码(causal mask)或者叫自回归掩码(auto-regressive mask),这使得每个单词只能看到其前面的单词,而不能看到后面的单词。在预训练(Pre-training)阶段,GPT模型使用了一个被称为"Masked Language Model"(MLM)的任务,也就是预测一个句子中被遮盖住的部分。预训练的目标是最大化句子中每个位置的单词的条件概率,这个概率由模型生成的分布和真实单词的分布之间的交叉熵来计算。

在微调(fine-tuning)阶段,GPT模型在特定任务的数据上进行训练,例如情感分类、问答等。微调的目标是最小化特定任务的损失函数,例如分类任务的交叉熵损失函数。GPT模型的优点在于,由于其预训练-微调的训练策略,它可以有效地利用大量的无标签数据进行学习,并且可以轻松地适应各种不同的任务。此外,由于其基于Transformer的结构,它可以并行处理输入序列中的所有单词,比基于循环神经网络的模型更高效。

GPT演进了三个版本:
1、GPT-1用的是自监督预训练+有监督微调,5G文档,1亿参数,这种两段式的语言模型,其能力还是比较单一,即翻译模型只能翻译,填空模型只能填空,摘要模型只能摘要等等,要在实际任务中使用,需要各自在各自的数据上做微调训练,这显然很不智能。
2、GPT-2用的是纯自监督预训练,相对于GPT-1,它可以无监督学习,即可以从大量未标记的文本中学习语言模式,而无需人工标记的训练数据。这使得GPT-2在训练时更加灵活和高效。它引入了更多的任务进行预训练,40G文档,15亿参数,能在没有针对下游任务进行训练的条件下,就在下游任务上有很好的表现。
3、GPT-3沿用了GPT-2的纯自监督预训练,但是数据大了好几个量级,570G文档,模型参数量为 1750 亿,GPT-3表现出了强大的零样本(zero-shot)和少样本(few-shot)学习能力。
这意味着它可以在没有或只有极少示例的情况下,理解并完成新的任务,它能生成更连贯、自然和人性化的文本,理解文本、获取常识以及理解复杂概念等方面也比GPT-2表现得更好。

总之,GPT是一种基于Transformer的自然语言生成模型,它采用了自监督学习的方式,在预训练阶段最大化句子中每个位置单词的条件概率,在微调阶段最小化特定任务的损失函数。GPT模型具有灵活性、高效性和自动化特性,能有效利用大量的无标签数据进行学习,并且可以轻松地适应各种不同的任务。GPT-3是目前最先进的版本,具有强大的零样本和少样本学习能力,可以生成更自然、连贯、人性化的文本。