大语言模型(LLM)综述(一):大语言模型介绍

A Survey of Large Language Models

  • 前言
  • 1. INTRODUCTION
  • 2. OVERVIEW
    • 2.1 大语言模型的背景
    • 2.2 GPT系列模型的技术演变

前言

随着人工智能和机器学习领域的迅速发展,语言模型已经从简单的词袋模型(Bag-of-Words)和N-gram模型演变为更为复杂和强大的神经网络模型。在这一进程中,大型语言模型(LLM)尤为引人注目,它们不仅在自然语言处理(NLP)任务中表现出色,而且在各种跨领域应用中也展示了惊人的潜力。从生成文本和对话系统到更为复杂的任务,如文本摘要、机器翻译和情感分析,LLM正在逐渐改变我们与数字世界的互动方式。

然而,随着模型规模的增加,也出现了一系列挑战和问题,包括但不限于计算复杂性、数据偏见以及模型可解释性。因此,对这些模型进行全面而深入的了解变得至关重要。

本博客旨在提供一个全面的大型语言模型综述,探讨其工作原理、应用范围、优点与局限,以及未来的发展趋势。无论您是该领域的研究者、开发者,还是对人工智能有广泛兴趣的读者,这篇综述都将为您提供宝贵的洞见。

本系列文章内容大部分来自论文《A Survey of Large Language Models》,旨在使读者对大模型系列有一个比较程序化的认识。

论文地址:https://arxiv.org/abs/2303.18223

1. INTRODUCTION

语言是人类表达和交流的一种重要能力,它在幼儿期发展并在一生中不断发展。然而,除非配备强大的人工智能(AI)算法,否则机器无法自然地掌握以人类语言形式进行理解和交流的能力。实现这一目标,使机器能够像人类一样阅读、写作和交流,一直是一个长期的研究挑战。

从技术上讲,语言建模(LM)是推进机器语言智能的主要方法之一。总的来说,LM旨在建模单词序列的生成可能性,以便预测未来(或缺失)标记的概率。关于LM的研究在文献中受到了广泛的关注,可以分为四个主要的发展阶段:
• 统计语言模型(SLM)。 SLMs是基于在1990年代兴起的统计学习方法开发的。其基本思想是基于马尔可夫假设构建单词预测模型,例如,根据最近的上下文预测下一个单词。具有固定上下文长度n的SLMs也称为n-gram语言模型,例如bigram和trigram语言模型。SLMs已被广泛应用于增强信息检索(IR)和自然语言处理(NLP)任务的性能。然而,它们常常受到维度灾难的困扰:由于需要估计指数数量的转移概率,因此很难准确估计高阶语言模型。因此,特别设计的平滑策略,如回退估计和Good–Turing估计,已被引入以缓解数据稀疏性问题。

• 神经语言模型(NLM)。NLMs通过神经网络(例如,循环神经网络RNNs)来表征单词序列的概率。值得注意的是,引入了单词的分布式表示概念,并构建了基于聚合上下文特征(即分布式单词向量)的单词预测函数。通过扩展为单词或句子学习有效特征的思想,开发了用于各种NLP任务的统一解决方案。此外,提出了word2vec ,用于构建一个简化的浅层神经网络,用于学习分布式单词表示,这在各种NLP任务中被证明非常有效。这些研究开启了使用语言模型进行表示学习(超越了单词序列建模)的时代,对NLP领域产生了重要影响。

• 预训练语言模型(PLM)。作为早期尝试,ELMo 提出了通过首先对双向LSTM(biLSTM)网络进行预训练(而不是学习固定的单词表示),然后根据特定下游任务对biLSTM网络进行微调来捕捉上下文感知的单词表示。此后,基于高度可并行化的Transformer架构和自注意力机制,BERT提出了通过在大规模无标记语料库上进行特别设计的预训练任务的预训练双向语言模型来实现。这些预训练的上下文感知单词表示非常有效,作为通用语义特征,极大提高了NLP任务的性能。这项研究启发了大量后续工作,形成了“预训练和微调”学习范式。遵循这一范式,开发了大量关于PLMs的研究,介绍了不同的体系结构(例如,GPT-2 和BART )或改进的预训练策略。在这一范式中,通常需要对PLM进行微调以适应不同的下游任务。

• 大型语言模型(LLM)。研究人员发现,扩展PLM(例如,扩展模型大小或数据大小)通常会导致在下游任务上改进模型容量(即遵循扩展法则)。许多研究探索了通过训练更大的PLM(例如,175B参数的GPT-3和540B参数的PaLM)来提高性能限制。尽管缩放主要在模型大小方面进行(使用相似的架构和预训练任务),但这些大型PLMs与较小的PLMs(例如,330M参数的BERT和1.5B参数的GPT-2)显示出不同的行为,展现出在解决一系列复杂任务中的惊人能力(称为新兴能力)。例如,GPT-3可以通过上下文学习解决少样本任务,而GPT-2表现不佳。因此,研究界为这些大型PLMs创造了术语“大型语言模型(LLM)”,引起了越来越多的研究关注(见图1)。LLMs的一个显着应用是ChatGPT2,它是从GPT系列中调整的LLMs,用于对话,具有与人类的惊人对话能力。我们可以看到,在ChatGPT发布后,与LLMs相关的arXiv论文数量急剧增加,如图1所示。

image-20231021174416540

图1:自2018年6月以来,包含关键词“language model”和自2019年10月以来包含关键词“large language model”的arXiv论文累积数量趋势。统计数据是通过每月在标题或摘要中查询关键词的精确匹配来计算的。我们为两个关键词设置不同的x轴范围,因为“language models”早在较早的时候就已经开始研究。我们标记了与LLMs研究进展的重要里程碑对应的点。在ChatGPT发布后,出现了急剧增加的情况:每天发布的包含标题或摘要中的“large language model”的arXiv论文平均数量从0.40增加到8.58(图1(b))。

在现有文献中,PLMs已经得到广泛讨论和综述,而LLMs很少以系统的方式进行审查。为了激发我们的调查兴趣,首先我们强调LLMs和PLMs之间的三个主要差异。首先,LLMs展现出一些令人惊讶的新兴能力,这些能力在以前较小的PLMs中可能没有观察到。这些能力对于语言模型在复杂任务上的性能至关重要,使得AI算法变得前所未有的强大和有效。其次,LLMs将彻底改变人类开发和使用AI算法的方式。与小型PLMs不同,访问LLMs的主要方法是通过提示界面(例如,GPT-4 API)。人们必须了解LLMs的工作原理,并以LLMs可以跟随的方式格式化他们的任务。第三,LLMs的发展不再在研究和工程之间划清界限。LLMs的训练需要在大规模数据处理和分布式并行训练方面积累丰富的实际经验。要开发能力强的LLMs,研究人员必须解决复杂的工程问题,与工程师合作或成为工程师。

如今,LLMs对AI社区产生了重大影响,ChatGPT和GPT-4的出现引发了对人工通用智能(AGI)可能性的重新思考。OpenAI已经发表了一篇名为“规划AGI及其以后”的技术文章,讨论了接近AGI的短期和长期计划,而更近期的一篇论文则认为GPT-4可能被视为AGI系统的早期版本。LLMs的快速进展正在彻底改变AI研究领域。在自然语言处理领域,LLMs可以在某种程度上充当通用语言任务求解器,并且研究范式已经转向了LLMs的使用。在信息检索领域,传统的搜索引擎受到了通过AI聊天机器人(即ChatGPT)进行信息获取的新方式的挑战,而New Bing3提出了基于LLMs的搜索结果增强的初步尝试。在计算机视觉领域,研究人员尝试开发类似于ChatGPT的视觉-语言模型,可以更好地用于多模态对话,而GPT-4 通过整合视觉信息支持了多模态输入。这一新的技术浪潮有望在LLMs基础上引发一个繁荣的真实世界应用生态系统。例如,Microsoft 365正在利用LLMs(即Copilot)来自动化办公工作,而OpenAI支持在ChatGPT中使用插件来实现特殊功能。

尽管LLMs取得了进展并产生了影响,但LLMs的基本原则仍未得到充分探讨。首先,令人费解的是,为什么新兴能力会出现在LLMs中,而不是较小的PLMs中。作为一个更一般的问题,缺乏对导致LLMs卓越能力的关键因素进行深入详细的研究。研究LLMs何时以及如何获得这些能力是重要的。虽然关于这个问题有一些有意义的讨论,但需要更有原则的调查来揭示LLMs的“秘密”。其次,研究界难以训练能力强的LLMs。由于计算资源的巨大需求,进行针对不同训练策略效果的重复消融研究非常昂贵。实际上,LLMs主要由工业界培训,许多重要的训练细节(例如,数据收集和清理)未向公众公开。第三,将LLMs与人类价值观或偏好对齐是具有挑战性的。尽管具备能力,LLMs也可能产生有毒、虚构或有害的内容。需要有效且高效的控制方法来消除使用LLMs的潜在风险。

面对机遇和挑战,LLMs的研究和开发需要更多的关注。为了提供对LLMs的基本理解,本调查从四个主要方面对LLMs的最新进展进行文献综述,包括预训练(如何预训练能力强的LLMs)、适应性(如何有效地调整预训练的LLMs以更好地使用)、利用(如何使用LLMs解决各种下游任务)和能力评估(如何评估LLMs的能力和现有的经验性发现)。我们彻底梳理了文献,并总结了LLMs的关键发现、技术和方法。为了这项调查,我们还创建了一个GitHub项目网站,汇集了支持LLMs的资源,链接为https://github.com/RUCAIBox/LLMSurvey。我们还意识到了一些关于PLMs或LLMs的相关综述文章。这些论文要么讨论PLMs,要么讨论LLMs的一些特定(或一般)方面。与它们相比,我们侧重于开发和使用LLMs的技术和方法,并为LLMs的重要方面提供了一个相对全面的参考。

本综述的剩余部分组织如下:第2节介绍了LLMs的背景和GPT系列模型的演变,接着在第3节总结了开发LLMs的可用资源。第4、5、6和7节分别从预训练、适应性、利用和容量评估的四个方面回顾和总结了最近的进展。然后,第8节讨论了提示设计的实用指南,第9节回顾了LLMs在几个代表性领域的应用。最后,第10节通过总结主要发现并讨论未来工作中的未解决问题来总结调查。

2. OVERVIEW

在本节中,我们概述了大语言模型的背景,并且总结了GPT系列模型的技术演变

2.1 大语言模型的背景

通常情况下,大型语言模型(LLMs)指的是包含数百亿(或更多)参数的Transformer语言模型,这些模型在大规模文本数据上进行训练[32],例如GPT-3 [55]、PaLM [56]、Galactica [35]和LLaMA [57]。LLMs具有强大的理解自然语言和解决复杂任务(通过文本生成)的能力。为了快速了解LLMs的工作原理,本部分介绍了LLMs的基本背景,包括扩展规律、新兴能力和关键技术。

大语言的模型的扩展规律

目前,LLMs主要建立在Transformer架构[22]的基础上,其中多头注意力层堆叠在一个非常深的神经网络中。现有的LLMs采用类似的Transformer架构和预训练目标(例如,语言建模)作为小型语言模型。然而,LLMs显著扩展了模型大小、数据大小和总计算量(数量级)。广泛的研究已经表明,scaling(扩展)可以在很大程度上提高LLMs的模型容量[26, 55, 56]。因此,建立一种定量方法来表征扩展效果是很有用的。接下来,我们介绍了两种代表性的Transformer语言模型的扩展规律[30, 34]。

• KM扩展规律. 在2020年,Kaplan等人[30](OpenAI团队)首次提出了模型性能与三个主要因素(模型大小N、数据集大小D和训练计算量C)之间的幂律关系,用于神经语言模型。在给定计算预算c的情况下,他们经验性地提出了三个基本的扩展规律公式:

image-20231021180031615

其中L(·)表示用nats表示的交叉熵损失。这三个规律是通过将模型性能与不同的数据大小(从22M到23B个令牌)、模型大小(从768M到1.5B个非嵌入参数)和训练计算进行拟合得出的,在一些假设的基础上(例如,一个因素的分析不应受其他两个因素的限制)。他们表明,模型性能与这三个因素之间存在强烈的依赖关系。

在信息论中,“nats” 是一种用于度量信息量或熵的单位,类似于比特(bits)或字节(bytes)。“nats” 表示自然对数(natural logarithm)的单位,通常使用以自然对数为基础的对数来表示信息的量。与比特不同,它以自然对数的底数e(约等于2.71828)为基础,而不是2。因此,1 nat 的信息等于以e为底的对数值1。这种单位在信息论和统计学中用于表示信息的量,通常用于熵和信息论相关的计算。

• Chinchilla扩展规律。作为另一个代表性研究,Hoffmann等人[34](Google DeepMind团队)提出了一种用于指导LLMs的计算最佳训练的扩展规律的替代形式。他们通过变化更大范围的模型大小(70M到16B)和数据大小(5B到500B令牌)进行了严格的实验,并拟合了一个类似的扩展规律,但具有不同的系数,如下所示[34]:

image-20231021182718451

其中 E = 1.69 , A = 406.4 , B = 410.7 , α = 0.34 , β = 0.28 E = 1.69,A = 406.4,B = 410.7,α = 0.34,β = 0.28 E=1.69A=406.4B=410.7α=0.34β=0.28。通过在约束$ C ≈ 6ND $下优化损失 L ( N , D ) L(N, D) L(N,D),他们表明计算预算对模型大小和数据大小的最佳分配可以推导如下:

image-20231021182815583

其中 a = α α + β , b = β α + β a = \frac{α}{α+β},b = \frac{β}{α+β} a=α+βαb=α+ββ,G是一个可以由A、B、α和β计算得出的扩展系数。根据[34]的分析,考虑到计算预算的增加,KM扩展规律更倾向于在模型大小上分配更大的预算,而不是在数据大小上分配更大的预算,而Chinchilla扩展规律认为这两个大小应以相等的比例增加,即在方程(3)中a和b具有相似的值。

尽管存在一些受限制的假设,这些扩展规律提供了对扩展效果的直观理解,使得在训练过程中预测LLMs的性能成为可能[46]。然而,一些能力(例如,在上下文中的学习[55])根据扩展规律是无法预测的,只有在模型大小超过一定水平时才能观察到(如下所讨论的)。

大语言模型的新兴(涌现)能力

在文献中[31],LLMs的新兴能力被正式定义为“在小型模型中不存在但在大型模型中出现的能力”,这是将LLMs与以前的PLMs区分开的最显著特征之一。它进一步介绍了新兴能力出现时的一个显著特点[31]:当规模达到一定水平时,性能显著高于随机水平。类比起来,这种新兴模式与物理学中的相变现象有密切关系[31, 58]。原则上,新兴能力可以与一些复杂任务相关联[31, 59],但我们更关注能够用来解决各种任务的通用能力。在这里,我们简要介绍LLMs的三种典型新兴能力以及拥有这种能力的代表性模型。

• 上下文学习(In-context learning,ICL)。上下文学习(ICL)能力是由GPT-3 [55]正式引入的:假设语言模型已经提供了自然语言指令和/或多个任务演示,它可以通过完成输入文本的单词序列来生成测试实例的预期输出,而无需额外的训练或梯度更新8。在GPT系列模型中,175B的GPT-3模型通常具有较强的ICL能力,但GPT-1和GPT-2模型则没有。此类能力还取决于特定的下游任务。例如,ICL能力可以在算术任务(例如3位数的加法和减法)上出现,对于13B的GPT-3,但对于175B的GPT-3,甚至不能很好地完成波斯语问答任务[31]。

• 按照指令执行。通过对多任务数据集进行自然语言描述格式的混合微调(称为指令微调),LLMs表现出对以指令形式描述的新任务的良好性能[28, 61, 62]。通过指令微调,LLMs能够在没有使用明确示例的情况下遵循新任务的任务说明,从而具有更好的泛化能力。根据[62]中的实验,经过指令微调的LaMDA-PT [63]在模型大小达到68B时开始在未见过的任务上显著优于未调优的模型,但在8B或更小的模型大小下没有这种情况。最近的一项研究[64]发现,PaLM在四个评估基准(即MMLU、BBH、TyDiQA和MGSM)上表现良好至少需要62B的模型大小,尽管对于一些特定任务(例如MMLU),可能需要更小的模型。

• 逐步推理。对于小型语言模型来说,通常很难解决涉及多个推理步骤的复杂任务,例如数学文字问题。相反,通过使用链式思考(CoT)提示策略[33],LLMs可以通过利用包括中间推理步骤以得出最终答案的提示机制来解决这些任务。**这种能力被认为可能是通过对代码进行训练而获得的[33, 47]。**经验研究[33]表明,当应用于模型大小大于60B的PaLM和LaMDA变种时,CoT提示可以在算术推理基准上带来性能提升,而当模型大小超过100B时,其优势更加明显。此外,使用CoT提示的性能改进似乎对不同任务也有所不同,例如对于PaLM来说,GSM8K > MAWPS > SWAMP [33]。

大语言模型的关键技术

LLMs已经经历了漫长的发展过程,逐渐演化成了现在的通用且具备能力的学习者。在发展过程中,提出了许多重要的技术,这些技术大大提高了LLMs的容量。在这里,我们简要列出了一些重要的技术,这些技术(可能)导致了LLMs的成功,如下所示。

• 扩展(Scaling)。如前面所讨论的,Transformer语言模型存在明显的扩展效应:更大的模型/数据规模和更多的训练计算通常会导致更强大的模型容量[30, 34]。作为两个代表性的模型,GPT-3和PaLM通过将模型大小分别增加到175B和540B来探索扩展极限。由于计算预算通常是有限的,扩展规律可以进一步用于更高效地分配计算资源。例如,通过在相同的计算预算下增加数据规模,Chinchilla(具有更多的训练Token)优于其对应的模型Gopher(具有更大的模型大小)[34]。此外,数据的扩展应该经过谨慎的清理过程,因为预训练数据的质量在模型容量中起着关键作用。

• 训练(Training)。由于模型规模巨大,成功训练一个功能强大的大型语言模型(LLM)具有极大的挑战性。分布式训练算法被需要用来学习LLMs的网络参数,其中常常会联合使用各种并行策略。为了支持分布式训练,已经发布了几个优化框架以便于实现和部署并行算法,例如DeepSpeed [65] 和 Megatron-LM [66–68]。此外,优化技巧对于训练稳定性和模型性能也非常重要,例如,通过重新启动来克服训练损失的突增[56],以及混合精度训练[69]。更近期地,GPT-4 [46] 提出了开发特殊的基础设施和优化方法,以便可靠地使用更小的模型来预测大型模型的性能。

• 能力引发(Ability eliciting)。在大规模语料库上进行预训练后,LLMs被赋予了作为通用任务求解器的潜在能力。当LLMs执行某些特定任务时,这些能力可能不会明确展现出来。作为技术方法,设计合适的任务说明或特定的上下文学习策略以引发这些能力是有用的。例如,链式思考提示已被证明对通过包含中间推理步骤来解决复杂推理任务是有用的。此外,我们可以使用自然语言表达的任务描述对LLMs进行指令微调,以提高LLMs在未见任务上的泛化能力。这些引发技巧主要对应于LLMs的新兴能力,这些新兴能力在小型语言模型上可能不会产生相同的效果。

• 对齐调优(Alignment tuning)。由于LLMs被训练来捕捉预训练语料库的数据特征(包括高质量和低质量的数据),它们可能会为人类生成有害、有偏见甚至有害的内容。因此,有必要将LLMs与人类价值观对齐,例如,有帮助的、诚实的和无害的。为此,InstructGPT [61]设计了一种有效的调优方法,使LLMs能够遵循预期的指令,利用强化学习与人类反馈的技术[61, 70]。它将人类纳入训练环路,采用精心设计的标记策略。ChatGPT实际上是基于类似于InstructGPT的技术开发的,它在生成高质量、无害回复方面显示出强大的对齐能力,例如,拒绝回答侮辱性问题。

• 工具操控(Tools manipulation)。实质上,LLMs是通过大规模纯文本语料库进行训练的文本生成器,因此在不适于以文本形式表达的任务上表现较差(例如数值计算)。此外,它们的能力也受限于预训练数据,例如,无法捕捉最新的信息。为了解决这些问题,最近提出的一种技术是利用外部工具来弥补LLMs的不足之处[71, 72]。例如,LLMs可以使用计算器进行准确的计算[71],并使用搜索引擎检索未知信息[72]。最近,ChatGPT已经启用了使用外部插件(现有或新创建的应用程序)的机制[9],这类似于LLMs的“眼睛和耳朵”。这种机制可以广泛扩展LLMs的能力范围。

2.2 GPT系列模型的技术演变

image-20231021193139821

图2:近年来现有的大型语言模型(模型规模大于10B)的时间线。这个时间线主要是根据模型的技术论文的发布日期(例如,提交给arXiv的日期)来建立的。如果没有相应的论文,我们将模型的日期设为其公开发布或公告的最早时间。我们用黄色标记了拥有公开可用模型检查点的大型语言模型(LLMs)。由于图形的空间限制,我们仅包括那些有公开报告评估结果的LLMs。

由于在与人类交流方面具有出色的能力,ChatGPT自发布以来便激发了AI社群的极大兴趣。ChatGPT是基于功能强大的GPT模型开发的,具有特别优化的对话能力。考虑到对ChatGPT和GPT模型日益增长的兴趣,我们添加了一个关于GPT系列模型技术演变的特殊讨论,以简要总结过去几年中它们是如何被开发的。同时,我们在图3中绘制了一个示意图,描述了GPT系列模型的技术演进。GPT模型背后的基本原理是通过语言建模将世界知识压缩到仅解码器的Transformer模型中,以便它能够恢复(或记忆)世界知识的语义,并作为一个通用任务解决器。成功的两个关键点是(I)训练只有解码器的Transformer语言模型,能准确地预测下一个词,以及(II)扩大语言模型的规模。总体而言,OpenAI在大型语言模型(LLMs)上的研究可以粗略地分为以下几个阶段。

image-20231021193633029

图3:GPT系列模型的技术演进简要示意图。我们主要根据OpenAI的论文、博客文章和官方API绘制了这幅图。在这里,实线表示两个模型之间存在明确的证据(例如,官方声明一个新模型是基于一个基础模型开发的)的演进路径,而虚线表示较弱的演进关系。

初期探索

根据对Ilya Sutskever(OpenAI的联合创始人兼首席科学家)的一次采访[11],在OpenAI的早期,已经探索了使用循环神经网络(RNN)等尝试通过语言模型来处理智能系统的想法。随着Transformer的出现,OpenAI开发了两个最初的GPT模型,即GPT-1 [109]和GPT-2 [26],可以看作是后来更强大的模型(如GPT-3和GPT-4)的基础。

• GPT-1. 在2017年,Google引入了Transformer模型[22],OpenAI团队迅速将他们的语言建模工作适应了这个新的神经网络架构。他们在2018年发布了第一个GPT模型,即GPT-1 [109],并创造了GPT作为模型名称的缩写,代表着“生成式预训练”(Generative Pre-Training)。GPT-1是基于生成式的、仅解码器的Transformer架构开发的,并采用了无监督的预训练和有监督的微调的混合方法。GPT-1为GPT系列模型建立了核心架构,并确立了建模自然语言文本的基本原则,即预测下一个词。

• GPT-2。遵循与GPT-1类似的架构,GPT-2 [26] 将参数规模增加到15亿,并使用了一个大型网页数据集WebText进行训练。正如GPT-2的论文中所声称的,该模型试图通过无监督的语言建模来执行任务,而无需使用标记数据进行显式的微调。为了推动这种方法,他们引入了一种用于多任务解决的概率形式,即 p ( o u t p u t ∣ i n p u t , t a s k ) p(output|input, task) p(outputinput,task)(类似的方法已在[110]中采用),该形式在输入和任务信息的条件下预测输出。为了建模这个条件概率,语言文本可以自然地作为一种统一的方式来格式化输入、输出和任务信息。通过这种方式,解决任务的过程可以被视为一个用于生成解决方案文本的词预测问题。进一步地,他们为这一想法提出了更正式的声明:“由于(任务特定的)有监督目标与无监督(语言建模)目标相同,但仅在序列的一个子集上进行评估,因此无监督目标的全局最小值也是有监督目标(针对各种任务)的全局最小值” [26]。对这一声明的基本理解是,每个(自然语言处理)任务都可以被视为基于世界文本子集的词预测问题。因此,如果经过足够的训练以恢复世界文本,无监督语言建模有可能解决各种任务。这些在GPT-2论文中的早期讨论在Ilya Sutskever接受Jensen Huang采访时得到了回应:“神经网络学习的是产生文本的过程的某种表示。这个文本实际上是世界的一个投影…你在预测下一个词方面越准确,你在这个过程中获得的保真度和分辨率就越高…”。

容量飞跃

尽管GPT-2旨在成为一个“无监督的多任务学习器”,但其整体性能与有监督微调的最先进方法相比较为逊色。由于其模型规模相对较小,它在下游任务中得到了广泛的微调,尤其是在对话任务[111, 112]方面。基于GPT-2,GPT-3通过扩展(几乎相同的)生成预训练架构,展示了一个关键的容量飞跃。

• GPT-3. GPT-3 [55]于2020年发布,将模型参数规模扩展到了1750亿个。在GPT-3的论文中,它正式介绍了上下文学习(ICL)的概念,它以少样本或零样本的方式使用LLMs。 ICL可以教(或指导)LLMs以自然语言文本的形式理解任务。通过ICL,LLMs的预训练和利用融合到同一语言建模范式中:预训练在给定上下文的条件下预测下一个文本序列,而ICL则在给定任务描述和演示的情况下预测正确的任务解决方案,这也可以格式化为文本序列。 GPT-3不仅在各种NLP任务中表现出色,而且在一些需要推理或领域适应能力的专门设计的任务中也表现出色。尽管GPT-3的论文没有明确讨论LLMs的新兴能力,但我们可以观察到可能超越基本扩展定律[30]的巨大性能飞跃,例如,更大的模型具有显着更强的ICL能力(在GPT-3论文的原始图1.2中有说明)。总的来说,GPT-3可以被视为从PLMs到LLMs演变的重要里程碑。它在经验上证明,将神经网络扩展到相当大的规模可以大大增加模型容量。

容量增强

由于其强大的能力,GPT-3已成为OpenAI开发更有能力的LLMs的基础模型。总体而言,OpenAI已经探索了两种主要方法来进一步改进GPT-3模型,即在代码数据上进行训练和与人类偏好的对齐,详细如下。

• 在代码数据上训练。原始的 GPT-3 模型存在一个主要限制,即在复杂任务上缺乏推理能力,例如完成代码和解决数学问题。为增强这种能力,OpenAI 在 2021 年 7 月推出了 Codex 模型,它是一个在大规模 GitHub 代码语料库上进行微调的 GPT 模型。Codex 模型展示了它能够解决非常困难的编程问题,并且在解决数学问题方面也取得了显著的性能提升。此外,2022 年 1 月报告了一种对比方法,用于训练文本和代码嵌入,这种方法被显示出可以提高一系列相关任务的性能(即线性探针分类、文本搜索和代码搜索)。实际上,GPT-3.5 模型是基于一个基于代码的 GPT 模型(即 code-davinci-002)开发的,这表明在代码数据上进行训练是提高 GPT 模型容量的非常有用的做法,特别是推理能力。此外,还有一种假设,即在代码数据上进行训练可以大大增强 LLMs 的链式思考提示能力,尽管仍值得进一步研究以进行更彻底的验证。

• 人类对齐。与人类对齐相关的研究可以追溯到 OpenAI 在 2017 年(或更早)的时候:一篇名为“从人类偏好中学习”的博客文章15发布在 OpenAI 博客上,描述了一项应用强化学习(RL)来学习人类标注的偏好比较的工作(类似于图 10 中 InstructGPT 的对齐算法中的奖励训练步骤)。在这篇 RL 论文[70]发布后不久,Proximal Policy Optimization(PPO)[115] 的论文于 2017 年 7 月发表,现在已成为从人类偏好中学习的基础 RL 算法[61]。后来,在 2020 年 1 月,使用了前述的 RL 算法[70, 115] 对 GPT-2 进行了微调,利用人类偏好来提高 GPT-2 在 NLP 任务中的能力。在同一年,另一项工作[116]以类似的方式训练了一个摘要模型,以优化人类偏好。基于这些先前的工作,InstructGPT[61]于 2022 年 1 月提出,以改进 GPT-3 模型的人类对齐,正式建立了一个从人类反馈中进行强化学习的三阶段算法(RLHF 算法)。请注意,似乎 OpenAI 的论文和文档中几乎没有使用“指令调整”的措辞,而是用监督微调人类演示(即 RLHF 算法的第一步[61])来替代。除了提高指令跟随能力外,RLHF 算法特别有助于缓解 LLMs 生成有害或有毒内容的问题,这对于实际部署 LLMs 的安全至关重要。OpenAI 在一篇技术文章中描述了他们在对齐研究中的方法[117],总结了三个有前途的方向:“训练 AI 系统使用人类反馈,协助人类评估和进行对齐研究”。

这些增强技术导致了性能更强的 GPT-3 模型,OpenAI 将其称为 GPT-3.5 模型(请参阅第 3.1 节关于 OpenAI API 的讨论)。

语言模型的里程碑

在所有的探索努力中,OpenAI 已经实现了两个重大的里程碑,分别是 ChatGPT [118] 和 GPT-4 [46],它们极大地提高了现有 AI 系统的容量门槛。

• ChatGPT 。是一款在2022年11月由OpenAI发布的对话模型,基于GPT模型(GPT-3.5和GPT-4)。正如官方博客文章所介绍的[118],ChatGPT的训练方式与InstructGPT类似(原始帖子中称为“InstructGPT的兄弟模型”),但专门优化用于对话。他们在ChatGPT的数据收集设置与InstructGPT有所不同:人类生成的对话(扮演用户和AI的双重角色)以对话格式与InstructGPT数据集相结合,用于训练ChatGPT。ChatGPT在与人类的交流中表现出卓越的能力:拥有丰富的知识库,具备在数学问题上进行推理的技能,在多轮对话中准确跟踪上下文,并与人类价值观保持良好的一致性,以确保安全使用。后来,在ChatGPT中支持了插件机制,进一步扩展了ChatGPT的能力,可以使用现有的工具或应用程序。到目前为止,ChatGPT似乎是AI历史上最强大的聊天机器人。ChatGPT的推出对未来的AI研究产生了重大影响,为探索人类化的AI系统照亮了前程。

• GPT-4。GPT-4是另一个值得关注的进展,于2023年3月发布,它将文本输入扩展到多模态信号。总体而言,GPT-4在解决复杂任务方面比GPT-3.5具有更强的能力,在许多评估任务上表现出了很大的性能提升。一项最近的研究[41]通过使用人工生成的问题进行定性测试,涵盖了各种难度的任务,表明GPT-4可以在许多方面的性能上超越以前的GPT模型,如ChatGPT。此外,由于在RLHF训练中引入了额外的安全奖励信号,GPT-4对恶意或挑衅性的查询更加安全。在技术报告中,OpenAI强调了如何安全地开发GPT-4,并采用了许多干预策略来减轻LLMs可能出现的问题,例如幻觉、隐私和过度依赖。例如,他们引入了称为“红队测试”的机制[119]来减少有害或毒害内容的生成。另一个重要方面,GPT-4是在一个完善的深度学习基础设施上开发的,采用了改进的优化方法。他们引入了一种称为“可预测扩展”的新机制,可以在模型训练期间使用很小比例的计算来准确预测最终性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166324.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【模型推理优化学习笔记】张量并行和流水线并行简介

张量并行 当每个张量被分成多个块时,就会发生张量并行性,并且张量的每个块都可以放置在单独的 GPU 上。在计算过程中,每个块在不同的 GPU 上单独并行处理,并且可以通过组合来自多个 GPU 的结果来计算结果(最终张量&am…

postman发送soap报文示例

一、SOAP和WSDL SOAP是一种基于XML的协议 WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问 二、postman发送soap请求 1、发送post请求&#x…

【计算机网络笔记】OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

tuxera ntfs2024破解版mac电脑磁盘读写软件

大家都知道由于操作系统的原因,在苹果电脑上不能够读写NTFS磁盘,但是,今天小编带来的这款tuxera ntfs 2024 mac版,完美的解决了这个问题。这是一款在macOS平台上使用的磁盘读写软件,能够实现苹果Mac OS X系统读写Micro…

【2023_10_21_计算机热点知识分享】:机器学习中的神经网络

今天的分享主题是机器学习中的神经网络。神经网络是一种模拟人类神经系统的计算模型,它由一系列的神经元组成,每个神经元接收一组输入,经过计算后产生一个输出。神经网络的学习过程是通过调整神经元之间的连接权重来实现的,这个过…

【2023年11月第四版教材】软考高项极限冲刺篇笔记(1)

1 你要接受一些观点 1、不明白的不要去试图理解了,死记硬背 2、要快速过知识点,卡住是不行的,慢也是没有任何作用的。 3、将厚厚的知识,变为薄薄的重点。标红必背 4、成熟度等级,很多知识领域都有,就是评价在一个领域达到的级别。 5、记得搜一下当年的高频科技词汇 6、选…

模拟退火算法(SA)求解旅行商问题(TSP)python

目录 一、模拟退火算法求解TSP(city14)的python代码 二、city14的运行结果 三、 模拟退火算法求解TSP(city30)的python代码 四、city30的运行结果 一、模拟退火算法求解TSP(city14)的python代码 impor…

网络协议--Ping程序

7.1 引言 “ping”这个名字源于声纳定位操作。Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答(图6-3列出了所有的ICMP报文类型)。 一般来说&#x…

数据科学中常用的应用统计知识

随着大数据算法技术发展,数据算法越来越倾向机器学习和深度学习相关的算法技术,概率论和应用统计 等传统的技术貌似用的并不是很多了,但实则不然,在数据科学工作,还是会经常需要应用统计概率相关知识解决一些数据问题&…

如何在不恢复出厂设置的情况下解锁 Android 手机密码?

如何在不恢复出厂设置的情况下解锁 Android 手机密码? 当您忘记 Android 手机的密码时,可能会有压力,尤其是当您不想恢复出厂设置并删除所有数据时。但是,有一些方法可以在不诉诸如此激烈的步骤的情况下解锁手机。我们将在这篇文…

Elasticsearch 8.9 Master节点处理请求源码

大家看可以看ElasticSearch源码:Rest请求与Master节点处理流程(1) 这个图非常好,下午的讲解代码在各个类和方法之间流转,都体现这个图上 一、Master节点处理请求的逻辑1、节点(数据节点)要和主节点进行通讯&#xff0…

使用WPF模仿Windows记事本界面

本次仅模仿Windows记事本的模样&#xff0c;并未实现其功能。 所有代码如下&#xff1a; <Window x:Class"控件的基础使用.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/…

CentOS7安装MySQL8.0.28

CentOS7安装MySQL8.0.28 一、下载MySQL安装包二、安装配置mysql 一、下载MySQL安装包 点击以下链接可以自动跳转&#xff1a;MySQL官网 接下来按如图所示依次点击进入。 选择自己所需要版本 此处如需下载历史版本可以点击 二、安装配置mysql 1、登录ssh或其他相关软件上…

CSS中 通过自定义属性(变量)动态修改元素样式(以 el-input 为例)

传送门&#xff1a;CSS中 自定义属性&#xff08;变量&#xff09;详解 1. 需求及解决方案 需求&#xff1a;通常我们动态修改 div 元素的样式&#xff0c;使用 :style 和 :class 即可&#xff1b;但想要动态修改 如&#xff1a;Element-ui 中输入框&#xff08;input&#x…

method.isAnnotationPresent(Xxx.class)一直为null

​​​​package com.dj.springtest.aspect;import com.dj.springtest.annotation.RequireRoles; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.s…

使用CMS后台资源,如何在小程序上不开调试模式能正常呈现出内容

配置合法域名 如何配置合法域名&#xff1a; 1.找到自己的合法域名&#xff1a;在微信开发者工具中“不勾选"不校验合法域名&#xff0c;就会看到报错说你的某个链接不是合法域名&#xff0c;那不就说明我们需要将这个链接设置为合法域名嘛。这就找到了我们的需要设置的…

《深入理解java虚拟机 第三版》学习笔记二

第 4 章 虚拟机性能监控、故障处理工具 4.2 基础故障处理工具 4.2.1 jps&#xff1a;虚拟机进程状况工具 可以列出正在运行的虚拟机进程&#xff0c;并显示虚拟机执行主类&#xff08;Main Class&#xff0c;main()函数所在的类&#xff09;名称以及这些进程的本地虚拟机唯一…

使用Gitlab构建简单流水线CI/CD

什么是Gitlab Gitlab实质上是一套DevOps工具 目前看起来&#xff0c;Gitlab属于是内嵌了一套CI/CD的框架&#xff0c;并且可以提供软件开发中的版本管理、项目管理等等其他功能。 这里需要辨别一下Gitlab和Github Gitee的区别。 GIthub大家都很熟悉了&#xff0c;一般大家都会…

【k8s】1、基础概念和架构及组件

一、kubernetes概述 K8S是一种开源的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化的应用程序&#xff0c;它提供了一种容器编排和管理的方式&#xff0c;可以帮助开发人员更轻松的管理容器化的应用程序&#xff0c;并且提供了一种跨多个主机的自动化部署和管理机…

A预测蛋白质结构

基于AlphaFold2进行蛋白质结构预测的文章解析 RoseTTAFold: Tunyasuvunakool, K., Adler, J., Wu, Z. et al. Highly accurate protein structure prediction for the human proteome. Nature 596, 590–596 (2021) AlphaFold2: Accurate prediction of protein structures a…