该博客专注于GPT模型,提供深入的理解和分析它解释了GPT模型的三个主要组成部分:生成、预训练和变压器
由Ankit、Bhaskar和Malhar编写
在过去的几年中,由于大型语言模型的出现,在自然语言处理领域取得了显著的进展。语言模型被用于机器翻译系统中,学习如何将一个语言的字符串映射到另一个语言。在语言模型家族中,基于生成式预训练转换器(GPT)的模型最近引起了最多的关注。最初,语言模型是基于规则的系统,严重依赖于人类输入来发挥作用。然而,深度学习技术的发展对这些模型处理的任务的复杂性、规模和准确性产生了积极的影响。
在我们之前的博客中,我们提供了关于GPT3模型各个方面的全面解释,评估了Open AI的GPT-3 API提供的功能,并探讨了该模型的用途和局限性。在本博客中,我们将把重点转向GPT模型及其基础组件。我们还将从GPT-1开始探讨演变过程,到最近推出的GPT-4,并深入挖掘每一代中所做的关键改进,使模型随着时间的推移变得更加强大。
1. 理解GPT模型
GPT(生成式预训练转换器)是一种基于深度学习的大型语言模型(LLM),利用基于转换器的仅解码器架构构建。它的目的是处理文本数据并生成类似于人类语言的文本输出。
正如名称所示,模型有三个支柱,即:
- 生成式
- 预训练
- 转换器
让我们通过这些组件来探索这个模型:
生成式:这个特性强调了模型理解给定文本样本并生成文本的能力。在GPT模型之前,文本输出是通过重新排列或从输入中提取单词来生成的。GPT模型的生成能力使它们比现有模型具有优势,能够产生更连贯和类人的文本。
这种生成能力来自于训练期间使用的建模目标。
GPT模型使用自回归语言建模进行训练,其中模型被提供一个单词序列的输入,并尝试使用概率分布预测最可能的单词或短语。
预训练:“预训练”是指在部署到特定任务之前,ML模型已经在大量示例数据集上进行训练的模型。在GPT的情况下,该模型是使用无监督学习方法在广泛的文本数据语料库上进行训练的。这使得模型能够在没有明确指导的情况下学习数据中的模式和关系。
简单来说,使用无监督方式对大量数据进行模型训练有助于让模型理解语言的一般特征和结构。一旦学会了,模型就可以利用这种理解来处理特定任务,如问答和摘要。
转换器:一种神经网络架构,专门设计用于处理长度不同的文本序列。转换器的概念在2017年发表的开创性论文”Attention Is All You Need”之后得到了普及。
GPT使用仅解码器架构。转换器的主要组成部分是其”自注意机制”,它使模型能够捕捉同一句子中每个单词与其他单词之间的关系。
例如:
- 一只狗坐在恒河岸边。
- 我将从银行取出一些钱。
自我注意机制评估句子中每个单词与其他单词的关系。在第一个例子中,当“bank”在“River”的上下文中进行评估时,模型学习到它指的是一条河流的岸边。同样,在第二个例子中,将”bank”与”money”一词相关联时,暗示着一个金融银行。
2. GPT模型的演变
现在,让我们更仔细地看一下GPT模型的各个版本,重点关注每个后续模型中引入的增强和添加。
GPT-1
这是GPT系列的第一个模型,训练了约40GB的文本数据。该模型在建模任务(如LAMBADA)方面实现了最先进的结果,并为GLUE和SQuAD等任务展示了竞争性表现。随着最大上下文长度为512个标记(约380个单词),该模型可以为相对较短的句子或文件保留信息。模型令人印象深刻的文本生成能力和在标准任务上的强大表现为系列中后续模型的开发提供了动力。
GPT-2
源自GPT-1模型,GPT-2模型保留了相同的架构特征。但是,与GPT-1相比,它在更大的文本数据语料库上进行训练。值得注意的是,GPT-2可以容纳双倍的输入大小,使其能够处理更广泛的文本样本。具有近15亿个参数,GPT-2在容量和语言建模潜力方面展现出显著的提升。
以下是GPT-2相比于GPT-1的一些主要改进:
- 修改的目标训练是一种在预训练阶段用于增强语言模型的技术。传统上,模型仅基于先前的单词序列预测下一个单词,从而可能导致不连贯或不相关的预测。 MO训练通过整合额外的上下文信息(如词性(名词、动词等)和主语-宾语识别)来解决这个限制。通过利用这些补充信息,模型生成更连贯和更具信息量的输出。
- 层归一化是另一种用于提高训练和性能的技术。它涉及到对神经网络内每个层的激活进行归一化处理,而不是对整个网络的输入或输出进行归一化。这种归一化缓解了内部协变量漂移的问题,该问题是由于网络参数的变化而引起的网络激活分布的变化。
- GPT 2还采用了比GPT 1更强大的采样算法。关键改进包括:
- Top-p采样:仅考虑累积概率大于某个阈值的令牌。这避免了从低概率令牌中进行采样,从而产生更多样化和连贯的文本生成。
- 对logits(即Softmax之前的神经网络原始输出)进行温度缩放,控制生成文本中随机性的程度。较低的温度产生更为保守和可预测的文本,而较高的温度产生更具创意和意想不到的文本。
- 无条件采样(随机采样)选项,允许用户探索模型的生成能力,并能产生巧妙的结果。
GPT-3
训练数据来源 | 训练数据大小 |
Common Crawl、BookCorpus、Wikipedia、Books、Articles等 | 超过570GB的文本数据 |
GPT-3模型是GPT-2模型的进化版,在多个方面都超越了它。它是在一个显著更大的文本数据语料库上进行训练的,最多拥有1750亿个参数。
除了增加的大小之外,GPT-3还引入了几个显著的改进:
- GShard(巨型碎片模型并行性):允许模型分布在多个加速器上。这有利于大型语言模型具有数十亿的参数进行并行训练和推理。
- 零样本学习能力使GPT-3具有执行它尚未明确训练的任务的能力。这意味着它可以利用对语言和给定任务的一般理解,通过生成文本以响应新颖的提示。
- 少样本学习能力使GPT-3能够快速适应具有最少的训练的新任务和领域。它展示了从少量示例中学习的令人印象深刻的能力。
- 多语言支持:GPT-3善于生成大约30种语言的文本,包括英语、中文、法语、德语和阿拉伯语。这种广泛的多语言支持使它成为各种应用的高度多功能语言模型。
- 改进的采样:GPT-3使用了一种改进的采样算法,类似于GPT-2,包括调整生成文本中的随机性的能力。此外,它还引入了“提示”采样选项,使基于用户指定的提示或上下文生成文本成为可能。
GPT-3.5
训练数据来源 | 训练数据大小 |
Common Crawl、BookCorpus、Wikipedia、Books、Articles等 | >570GB |
与其前任相似,GPT-3.5系列模型源自GPT-3模型。然而,GPT-3.5模型的区别在于其遵循基于人类价值观的特定政策,采用了一种称为强化学习与人类反馈(RLHF)的技术进行合并。其主要目标是更紧密地与用户意图对齐,减轻毒性,并在生成的输出中优先考虑真实性。这种演变意味着有意识地努力增强语言模型的道德和负责任的使用,以提供更安全、更可靠的用户体验。
相对于GPT-3的改进:
OpenAI使用人类反馈的强化学习来微调GPT-3,使其能够遵循广泛的指令。RLHF技术包括使用强化学习原则来训练模型,其中模型根据其生成的输出与人类评估者的质量和一致性而接受奖励或惩罚。通过将这种反馈整合到训练过程中,模型获得了从错误中学习和提高性能的能力,最终生成更自然、更吸引人的文本输出。
GPT-4
GPT-4代表GPT系列的最新模型,引入了多模态功能,允许它处理文本和图像输入,同时生成文本输出。它适用于各种图像格式,包括带文本的文档、照片、图表、原理图和屏幕截图。
虽然OpenAI没有透露有关GPT-4的技术细节,如模型大小、架构、训练方法或模型权重,但一些估计表明它包含近1万亿个参数。GPT-4的基本模型遵循类似于先前GPT模型的训练目标,旨在预测给定一系列单词的下一个单词。训练过程涉及使用大量公开可用的互联网数据和授权数据。
GPT-4在OpenAI内部对抗事实性评估和TruthfulQA等公共基准测试中,表现比GPT-3.5更优秀。GPT-3.5中使用的RLHF技术也被纳入到GPT-4中。OpenAI积极寻求从ChatGPT和其他来源获得反馈,以增强GPT-4。
标准建模任务的GPT模型性能比较
GPT-1、GPT-2和GPT-3在标准自然语言处理建模任务LAMBDA、GLUE和SQuAD中的得分。
模型 | GLUE | LAMBADA | SQuAD F1 | SQuAD Exact Match |
GPT-1 | 68.4 | 48.4 | 82.0 | 74.6 |
GPT-2 | 84.6 | 60.1 | 89.5 | 83.0 |
GPT-3 | 93.2 | 69.6 | 92.4 | 88.8 |
GPT-3.5 | 93.5 | 79.3 | 92.4 | 88.8 |
GPT-4 | 94.2 | 82.4 | 93.6 | 90.4 |
所有数字均为百分比。 || 来源 – BARD
该表格展示了结果的持续改善,这可以归因于上述改进。
GPT-3.5和GPT-4在新的基准测试和标准考试中进行了测试。
新的GPT模型(3.5和4)在需要推理和领域知识的任务上进行了测试。这些模型已经在许多具有挑战性的考试中进行了测试。其中一项GPT-3(ada,babbage,curie,davinci),GPT-3.5,ChatGPT和GPT-4进行比较的考试是MBE考试。从图表中,我们可以看到分数不断提高,GPT-4甚至超过了平均学生分数。
图1说明了不同GPT模型在MBE *中获得的分数百分比的比较:
下面的图表还突出了这些模型的进展,并再次超过了不同法律学科领域的平均学生分数。
结论
随着基于变换器的大型语言模型(LLM)的崛起,自然语言处理领域正在经历快速的发展。在基于这种架构构建的各种语言模型中,GPT模型在输出和性能方面表现出色。 GPT背后的组织OpenAI自首个模型发布以来一直在多个方面不断改进模型。
五年来,模型的大小已经显着扩大,从GPT-1扩展了大约8,500倍到GPT-4。这种显着的进展可以归因于在培训数据量,数据质量,数据来源,培训技术和参数数量等方面的持续改进。这些因素在使模型能够在各种任务中提供出色性能方面发挥了关键作用。
- Ankit Mehra是Sigmoid的高级数据科学家。他专注于分析和基于ML的数据解决方案。
- Malhar Yadav是Sigmoid的副数据科学家,也是编程和ML的爱好者。
- Bhaskar Ammu是Sigmoid的高级领导数据科学家。他专注于为客户设计数据科学解决方案,构建数据库架构以及管理项目和团队。