文章目录
一. GPT-1:无监督与微调
2018年年中,就在Transformer架构诞生一年后,OpenAI发表了[论文:Improving Language Understanding by Generative Pre-Training]。这篇论文介绍了GPT,也被称为GPT-1。
1. 在GPT-1之前的监督学习
的问题
2. GPT-1中新的学习过程-无监督的预训练
3. 复杂任务下的微调
具体见:[论文:Improving Language Understanding by Generative Pre-Training]:3.2 Supervised fine-tuning
4. GPT-1为更强大的模型铺平了道路
二. GPT-2:context learning
2019 年 2 月,OpenAI发布了GPT- 2 ,2019年11月,OpenAI发布了完整版的GPT-2模型。见论文:[Language Models are Unsupervised Multitask Learners] 。这是GPT-1的一个扩展版本,其参数量和训练数据集的规模大约是GPT-1的10倍。这个新版本的参数量为15亿,训练文本为40GB。
1. 核心思想:context learning
GPT-2的核心思想概括为:
模型结构上的改变
提示词提示工作
GPT-2与GPT-1核心区别是in context learning,其次是网络参数和更大的数据集。
2. GPT-2的数据集
GPT-2的文章取自于Reddit上高赞的文章,命名为WebText。数据集共有约800万篇文章,累计体积约40G。为了避免和测试集的冲突,WebText移除了涉及Wikipedia的文章。
模型参数
三. GPT-3:sparse attention与强化学习
2020 年 6 月,OpenAI发布了GPT- 3 。[论文:Language Models are Few-Shot Learners]
1. 数据集
GPT-3比GPT-2大得多,它有1750亿个参数,这使其能够捕捉更复杂的模式。此外,GPT-3是在更广泛的数据集上进行训练的。这包括Common Crawl(它就像互联网档案馆,其中包含来自数十亿个网页的文本)和维基百科。这个训练数据集包括来自网站、书籍和文章的内容,使得GPT-3能够更深入地理解语言和上下文。因此,GPT-3在各种语言相关任务中都展示出更强的性能。
此外,它在文本生成方面还展示出更强的连贯性和创造力。它甚至能够编写代码片段,如SQL查询,并执行其他智能任务
。并且,GPT-3取消了微调步骤,而这在之前的GPT模型中是必需的。
2. 模型结构 - sparse attention
模型结构上,GPT3和GPT-1 GPT-2的区别主要在于使用了稀疏的自注意力,具体叫局部带状稀疏注意力locally banded sparse attention[ Generating Long Sequences with Sparse Transformers]。
sparse attention 与传统 self-attention(称为 dense attention) 的区别在于:
具体来说,
使用 sparse attention能够:减少注意力层的计算复杂度,节约显存和耗时,从而能够处理更长的输入序列;但对于距离较近的上下文关注更多,对于距离较远的上下文关注较少,如此依赖必定会对长文本建模的效果变差。
3. GPT-3会回答与用户期望不一致的答案
GPT-3存在一个问题,即最终用户提供的任务与模型在训练过程中所见到的任务不一致。
我们已经知道,语言模型根据输入文本的上下文来预测下一个标记。这个训练过程不一定与最终用户希望模型执行的任务一致。此外,增大语言模型的规模并不能从根本上使其更好地遵循用户的意图或指令
。
数据质量导致模型回答出现偏差
通过强化学习与人类反馈进行优化
提示工程来获取所需的答案
四. 从GPT-3到InstructGPT - 监督微调与RLHF
在题为“Training Language Models to Follow Instructions with Human Feedback”的论文中,解释了InstructGPT是如何构建的。
1. InstructGPT模型
从GPT-3模型到InstructGPT模型的训练过程主要有两个阶段:监督微调(supervised fine-tuning,SFT)
和通过人类反馈进行强化学习(reinforcement learning from human feedback,RLHF)
。每个阶段都会针对前一阶段的结果进行微调。也就是说,SFT阶段接收GPT-3模型并返回一个新模型。RLHF阶段接收该模型并返回InstructGPT版本。如下图:
根据OpenAI的论文,这里重新绘制了一张流程图,如图所示。我们来逐一探讨每个阶段。
在SFT阶段中,原始的GPT-3模型通过监督学习进行微调(如图步骤1),具体微调步骤如下:
RLHF阶段分为两个子步骤:首先训练奖励模型(上图步骤2),然后使用奖励模型进行强化学习(上图步骤3)。
训练InstructGPT模型的最后一步是强化学习,这是一个(自动)迭代的过程。
与基础的GPT-3模型相比,InstructGPT模型能够针对用户的提问生成更准确的内容。OpenAI建议使用InstructGPT模型,而非原始版本。
五. GPT-3.5、Codex和ChatGPT
1. GPT-3.5
2022年3月,OpenAI发布了GPT-3的新版本。新模型可以编辑文本或向文本中插入内容。它们所用的训练数据截至2021年6月,OpenAI称它们比先前的版本更强大。2022年11月底,OpenAI正式称这些模型为GPT-3.5模型。
2. Codex
OpenAI还提出了Codex模型,这是一个在数十亿行代码上进行了微调的GPT-3模型。
OpenAI对Codex模型的弃用提醒我们,使用应用程序接口存在固有风险:随着更高效的模型的开发和发布,它们可能会发生变化,甚至被停用。
3. ChatGPT
2022年11月,OpenAI推出了ChatGPT,并将其作为一种实验性的对话式模型
。
六. GPT-4
2023年3月,OpenAI发布了GPT-4。
与OpenAI GPT家族中的其他模型不同,GPT-4是第一个能够同时接收文本和图像的多模态模型
。这意味着GPT-4在生成输出句子时会考虑图像和文本的上下文。这样一来,用户就可以将图像添加到提示词中并对其提问。
七. 小结
- GPT模型的演变历程
2. ChatGPT的多轮对话
ChatGPT把多轮对话当做上下文,根据上一轮用户的反馈,进行强化学习,来优化下一轮生成。而GPT-3 只是针对当前一轮输入生成输出。
参考: