论文阅读 A Survey of Large Language Models 2

预训练

预训练对于LLMs能力的重要性,通过在大规模语料库上的预训练,LLMs可以获得基本的语言理解和生成能力。对于预训练,语料库的规模和质量是至关重要的,此外,为了有效地预训练LLMs,需要设计好模型架构、加速方法和优化技术。具体来说,文章将在第4.1节中讨论数据收集和处理,第4.2节中介绍常用的模型架构,最后在第4.3节中介绍稳定和高效地优化LLMs的训练技巧。

数据收集

LLMs相较于小规模语言模型更需要高质量的数据进行模型的预训练,并且其模型容量很大程度上依赖于预训练语料及其预处理方式。本文将讨论预训练数据的收集和处理,包括数据来源、预处理方法以及预训练数据如何影响LLMs性能的重要分析。

数据源

为了开发一种有能力的LLM,收集各种数据源的大量自然语言语料库是关键。现有的LLM主要利用多种公共文本数据集作为预训练语料库。图2展示了几种现有LLM的预训练数据来源分布。预训练语料库的来源可以广泛分为两类:通用数据和专业数据。由于其大规模、多样化和易获取性,大多数LLM使用通用数据,例如网页、书籍和对话文本,可以增强LLM的语言建模和泛化能力。考虑到LLM显示出的出色泛化能力,也有研究将它们的预训练语料库扩展到更专业的数据集,如多语种数据、科学数据和代码,使LLM具备特定的任务解决能力。接下来,我们描述这两种预训练数据来源及其对LLM的影响。有关常用语料库的详细介绍,请参见第3.2节。

通用数据 LLM(Language Models)使用的一般数据,包括Web页面、对话文本和书籍。在这些数据中,Web页面是最常见的。虽然Web数据来源广泛,但它们往往包含高质量文本和低质量文本,所以在使用之前需要进行过滤和处理。对话数据可以增强LLM的对话能力和提高其问题回答任务的表现。在线对话数据往往涉及多方参与讨论,因此需要将其转化为树状结构。书籍提供了一种重要的形式长文本源,可为LLM学习语言知识、模拟长期依赖关系和生成连贯的文本提供帮助。当前,开放源代码的书籍数据通常采用Books3和Bookcorpus2等数据集。

专业数据 用于提高语言模型(LLM)在下游任务中的特定能力。首先是多语言文本,包括目标语言的文本和多语言语料库,可以增强语言理解和生成的多语言能力。科学文本是为了加强LLMs对科学知识的理解,通过大量的科学文本来训练模型,LLMs可以在科学和推理任务中取得令人印象深刻的表现。代码数据是训练LLMs的另一种数据形式,可以提高生成程序的质量和准确性。与自然语言文本不同,代码是以编程语言的形式存在的,对应长距离的依赖和准确的执行逻辑。通过训练代码数据,LLMs可以获取更复杂的推理能力。
在这里插入图片描述

数据预处理

在构建预训练语料库之前,收集大量文本数据后,必须进行预处理,特别是删除噪声、冗余、不相关和潜在的有害数据,这些数据可能会大大影响LLMs的能力和性能。本文回顾了详细的数据预处理策略,以提高收集数据的质量。预训练数据的典型预处理流程已在图3中说明。

在这里插入图片描述

过滤质量 现有工作通常采用分类器和启发式两种方法。分类器方法会训练一个二元分类器,将高质量文本作为正例,采样的数据作为负例,并预测每个数据实例的质量得分。但该方法可能会意外地删除方言、口语和社会语言中的高质量文本,导致预训练语料库中存在偏差和缺乏语料库的多样性。启发式方法则通过一系列精心设计的规则来消除低质量的文本数据。这些规则包括:语言筛选、度量筛选、统计筛选和关键词筛选。其中,语言过滤方法可根据任务需求对排除某些语言的文本进行筛选,度量在评估生成的文本时可用于检测和删除不自然的句子,统计方法可用于度量文本质量并筛选低质量数据,关键词过滤可根据特定关键词集判断文本中无用或嘈杂的元素并予以去除。

去重处理 因为重复数据会降低语言模型的多样性,可能导致训练过程不稳定,并影响模型性能。可以在句子级别、文档级别和数据集级别进行去重处理,具体实现包括去除含有相同词和短语的低质量句子,并利用表面特征的重叠比率检测和删除相似内容的文档。此外,还需要避免训练集和评估集之间的重叠问题,通过从训练集中删除可能重复的文本来解决。三个级别的去重方法可以共同使用,有助于提高预训练语言模型的训练效果。

隐私修订 在预训练文本数据处理中,大部分数据来自于网络,包括用户生成的包含敏感或个人信息的内容,这可能增加隐私泄露的风险。因此,有必要从预训练语料库中删除个人身份信息(PII)。一种直接有效的方法是采用基于规则的方法,例如关键字识别,来检测和删除PII,如姓名、地址和电话号码。此外,研究人员还发现,LLMs在面对隐私攻击时的脆弱性可以归因于预训练语料库中重复的PII数据存在。因此,去重也可以在一定程度上降低隐私风险。

分词(Tokenization)步骤 分词的目的是将原始文本分成一系列的单独的Token序列,这些Token序列随后被用作LLMs的输入。虽然利用现有的分词器(例如,OPT 和GPT-3利用GPT-2的分词器)是方便的,但是为预训练语料库特别设计的分词器(例如SentencePiece)可以带来极大的好处,特别是针对由多个领域、语言和格式组成的语料库。最近的一些LLMs还使用Byte Pair Encoding(BPE)算法进行自定义Token分词器的训练,并确保分词后的信息完整不丢失。需要注意的是,BPE中的规范化技术(例如NFKC)可能会降低Token分词的性能。

预训练数据对LLMs的影响。

与小规模PLMs不同的是,由于需要大量的计算资源,往往不可能多次迭代LLMs的预训练。因此,在训练LLMs之前构建一个精心准备的预训练语料库非常重要。在这部分中,我们讨论了预训练语料库的质量和分布如何可能影响LLMs的性能。

来源混合 LLMs在预训练时,不同来源的文本数据有不同的语言特征和语义知识。通过混合来自不同来源的文本数据进行预训练,可以获得广泛的知识,并展现出强大的泛化能力。在选择混合来源时,需要仔细设置预训练数据的分布,因为这也可能影响LLMs在下游任务中的表现。Gopher在数据分布上进行了消融实验,研究了混合来源对下游任务的影响。实验结果表明,增加书籍数据的比例可以提高LLMs在文本中捕捉长期依赖的能力,而增加C4数据的比例则可以提高在C4验证数据集上的性能。然而,训练过多某个领域的数据会影响LLMs在其他领域的泛化能力。因此,建议研究人员应该仔细确定来自不同领域的数据比例,以开发更好地满足其特定需求的LLMs。读者可参考图2,对不同LLMs的数据来源进行比较。

预训练数据量 预训练数据的数量对于一个有效的LLM的重要性。研究发现,随着LLM参数规模的增加,训练所需的数据量也增加。存在一种与模型大小相似的数据规模缩放定律,与模型性能相关。一些现有的LLMs由于预训练数据不足而导致训练次优。进行了广泛的实验,结果表明,在给定的计算预算下,采用相等比例的模型参数和训练标记对于充分训练模型非常必要。最近的研究表明,通过增加数据量和延长训练时间,小模型也可以取得好的性能。因此,建议研究人员在调整模型参数规模时,应注意高质量数据的数量,以充分训练模型。

预训练数据质量的重要性 研究表明,预训练时使用质量低、有噪声、有毒性或有重复数据的语料库可能会降低模型性能。因此,不仅要考虑训练数据的数量,还要考虑数据的质量。最近的研究发现,通过对比经过过滤和未经过过滤语料库训练的模型表现,能够得出使用经过清理数据的语料库训练语言模型可以提高模型性能的结论。此外,数据重复可能导致“双丘陵”现象甚至影响生成学习的泛化能力。因此,在预处理预训练语料库时需要谨慎切实,以提高训练过程的稳定性并避免影响模型性能。

网络结构

本节介绍了LLM(大语言模型)的架构设计,包括主要的架构、预训练目标和详细配置。表3展示了几个具有公开细节的代表性LLM模型的模型卡。

主流架构

由于Transformer体系结构具有优秀的并行性和容量,因此它已成为开发各种语言模型的事实标准骨干,使得语言模型可以扩展到数百亿或千亿个参数的规模。总体而言,现有语言模型的主流体系结构可以大致分类为三种主要类型,即编码解码器、非正式解码器和前缀解码器。

Encoder-decoder架构是Transformer模型的基础,它包括两个Transformer块的堆栈作为编码器和解码器。编码器采用堆叠的多头自注意力层对输入序列进行编码,以生成其潜在表示;而解码器则对这些表示进行交叉注意力,并自回归地生成目标序列。Encoder-decoder PLMs(如T5和BART)在各种NLP任务中表现出有效性,但是只有少数LLMs基于encoder-decoder架构构建,如Flan-T5。关于架构选择的详细讨论将在第4.2.4节中进行。

Casual Decoder Architecture的模型架构,其中包括单向注意力掩模,确保每个输入令牌仅能关注过去的令牌和其自身。使用该模型进行输入和输出令牌的处理方式相同。该架构是一些代表性语言模型(如GPT系列模型)发展出来的基础。GPT-3成功展示了该架构的有效性,同时还展示出令人惊奇的上下文学习能力。有趣的是,GPT-1和GPT-2没有展示出GPT-3那样卓越的能力,因此缩放似乎在增加该模型架构的模型容量方面扮演着重要角色。至今,该模型架构已被广泛应用于各种现有的语言模型设计中。注意,所提到的“decoder-only architecture”和下面讨论的“prefix decoder”都属于仅解码器的架构。在现有的文献中,提到“decoder-only architecture”时,它主要指的是“Casual Decoder Architecture”,除非特别说明。

前缀解码器结构采用了一种新的遮蔽机制,以实现对前缀标记的双向注意力和只针对生成标记的单向注意力。这种架构可以像编码器-解码器架构一样双向编码前缀序列,并自回归地逐一预测输出标记,编解码过程中参数共享。与从头开始预训练不同,一种实用的建议是连续训练找不到解码器,然后将其转换为前缀解码器以加速收敛。现有代表前缀解码器的LLM包括GLM-130B和U-PaLM等。

讨论了三种神经网络结构可以通过混合专家 (MoE) 缩放进行扩展,其中每个输入的神经网络权重的一个子集被稀疏激活,例如 Switch Transformer 和 GLaM。研究表明,通过增加专家的数量或总参数大小,可以观察到显著的性能提升。

详细配置

自Transformer发布以来对其进行了各种改进,以增强其训练稳定性、性能和计算效率。文中将讨论Transformer的四个主要部分的相应配置,包括规范化、位置嵌入、激活函数、注意力和偏置。

预训练LLMs中的训练不稳定性问题,其中**层归一化(Layer Norm,LN)**被广泛应用于Transformer架构中以减轻这个问题。LN的位置对LLMs的性能非常重要。尽管最初的Transformer使用后LN,但大多数LLMs为了更稳定的训练,采用了前LN,尽管性能有所下降。在前LN的基础上,Sandwich-LN在剩余连接之前添加额外的LN以避免数值爆炸。然而,发现Sandwich-LN有时无法稳定LLMs的训练,可能导致训练崩溃。最近,一些先进的规范化技术已被提出作为LN的替代品。在Gopher和Chinchilla中,由于其训练速度和性能的优越性,采用了RMS Norm。DeepNorm显示出更好的稳定训练能力,因此被GLM-130B称为后规范化的标准。此外,在嵌入层后添加额外的LN也可以稳定LLMs的训练,但往往会导致显著的性能下降,在最近的一些LLMs中已被消除。

激活函数对于前向神经网络的性能也起着至关重要的作用。目前常用的激活函数是GeLU,在最新的LLMs,如PaLM和LaMDA中,也使用了GLU激活函数的变种,尤其是SwiGLU和GeGLU变种,这些变种在实践中取得了更好的性能,但是它们需要比GeLU多约50%的额外参数。

Transformer中的Position Embeddings的概念和应用。由于Transformer中的自注意力模块具有置换等变性,因此使用位置编码来注入绝对或相对位置信息来建模序列。在原始Transformer中有两种绝对位置编码的变体,即正弦函数和学习到的位置嵌入,其中后者通常在LLMs中使用。与绝对位置嵌入不同,相对位置编码根据键和查询之间的偏移量生成嵌入,因此它能够在训练期间看到的序列长度之外的更长序列上表现良好,即外推能力强。 ALiBi通过基于键和查询之间的距离制定惩罚来偏置注意得分,经验证它的零-shot泛化能力比其他位置编码更好。此外,通过根据绝对位置设置特定的旋转矩阵,RoPE可以使用相对位置信息计算键和查询之间的分数,这对于建模长序列很有用。因此,RoPE已被广泛应用于最新的LLMs中。

这段话主要讲了注意力机制与偏见的问题。在原始Transformer模型的基础上,GPT-3采用稀疏注意力机制来降低计算复杂度。为了更好地处理长序列,一些特殊注意力模式或者考虑GPU显存的注意力机制被引入。此外,大部分语言模型在保留每个稠密核和层归一化的偏置的基础上进行,但是一些模型(如PaLM和Galactica)移除了偏置,证明了没有偏差可以增强LLMs的训练稳定性。

为了获得更强的泛化性和训练稳定性,建议选择使用预先设置的 RMS Norm 进行层归一化,并使用 SwiGLU 或 GeGLU 作为激活函数。然而,在嵌入层之后不应立即使用 Layer Norm,否则可能会导致性能下降。此外,对于位置嵌入,RoPE 或 ALiBi 是更好的选择,因为它在处理长序列时表现更好。

预训练任务

预训练是将大规模语料库中的一般知识编码为海量模型参数的关键。对于LLM的训练,有两种常用的预训练任务,即语言建模和去噪自动编码。

Language Modeling 是一种普遍用于预训练仅有解码器的模型的任务,例如 GPT3 和 PaLM。该任务的目标是根据先前的标记预测未来标记。许多自然语言处理任务可以看作基于输入的预测问题,这些仅有解码器的 LLM 可能在统一的 LM 方式下隐式地学习如何完成这些任务。一个重要的 LLM 变体是前缀语言建模任务,专门用于预训练前缀解码器结构的模型。在随机选择的前缀内的标记不会用于计算前缀语言建模的损失。与语言建模相比,预训练期间看到的标记数量相同时,前缀语言建模表现略差,因为序列中涉及的标记更少。

Denoising Autoencoding(DAE) 是一种用于预训练语言模型的任务,在随机替换一些文本后,语言模型被训练以恢复这些替换的部分。相对于传统的语言模型(LM),DAE任务的实现更加复杂,因此它并没有被广泛用于大型语言模型的预训练,但是一些现有的模型例如T5和GLM-130B采用了DAE作为预训练目标进行训练。

总结讨论

其中,使用LM目标进行预训练似乎可以实现优越的零样本和少样本泛化能力。通过扩展模型大小、数据集大小和总计算量,可以大幅提高随意解码器的性能。由于对编码器-解码器模型的详细调查仍不足,需要更多的研究来分析架构和预训练任务的选择如何影响LLM的能力,特别是对于编码器-解码器架构。除了主要架构外,LLM的详细配置也值得关注。

模型训练

优化设置

为了优化LLMs的参数,我们介绍了常用的批次训练、学习速率、优化器和训练稳定性设置。

批次训练。对于语言模型的预训练,现有的研究通常将批次大小设置为一个较大的数字(例如8,196个样例或1.6M个标记),以提高训练稳定性和吞吐量。对于像GPT-3和PaLM这样的LLMs,它们引入了一种新的策略,在训练过程中动态增加批次大小,最终达到百万级别。具体而言,GPT-3的批次大小逐渐从32K增加到3.2M个标记。实证结果表明,批次大小的动态调度可以有效稳定LLMs的训练过程[56]。

学习速率。现有LLMs通常采用与预训练期间相似的学习率计划,并采用预热和衰减策略。具体而言,在训练步骤的初始0.1%到0.5%中,采用线性预热计划逐渐增加学习率到最大值,该最大值范围大约为5×10-5到1×10-4(例如,GPT-3为6×10^-5)。然后,在随后的步骤中采用余弦衰减策略,逐渐将学习率降低到其最大值的约10%,直到训练损失收敛。

优化器。Adam优化器[168]和AdamW优化器[169]广泛用于训练LLMs(例如,GPT-3),它们基于一阶梯度优化的自适应估计较低阶矩。通常将其超参数设置如下: β 1 = 0.9 β1 = 0.9 β1=0.9 β 2 = 0.95 β2 = 0.95 β2=0.95 ε = 1 0 − 8 ε = 10^{-8} ε=108。同时,Adafactor优化器[170]也用于训练LLMs(例如,PaLM和T5),它是Adam优化器的一种变体,专门设计用于在训练期间保留GPU内存。Adafactor优化器的超参数设置为: β 1 = 0.9 β1 = 0.9 β1=0.9 β 2 = 1.0 − k − 0.8 β2 = 1.0-k^{-0.8} β2=1.0k0.8,其中k表示训练步骤的数量。

稳定训练。在LLMs的预训练中,经常出现训练不稳定的问题,这可能导致模型崩溃。为了解决这个问题,权重衰减和梯度剪裁被广泛使用,现有的研究通常将梯度剪裁的阈值设置为1.0,将权重衰减率设置为0.1。然而,随着LLMs的扩展,训练损失的波动也更容易发生,导致训练不稳定。为了缓解这个问题,PaLM和OPT 使用了一种简单的策略,即在出现波峰之前从先前的检查点重新开始训练过程,跳过可能引起问题的数据。此外,GLM 发现,嵌入层的异常梯度通常会导致波峰,并提出了缩小嵌入层梯度的方法来缓解这个问题。

在这里插入图片描述

缩放训练技巧

随着模型和数据量的增加,使用有限计算资源高效地训练大型语言模型(LLM)变得具有挑战性。特别是,需要解决两个主要技术问题,即增加训练吞吐量和将更大的模型加载到GPU存储器中。本部分回顾了现有工作中应对上述两个挑战的几种广泛使用的方法,包括3D并行、ZeRO和混合精度训练,并提供了一般建议,以利用它们进行训练。其中,3D并行是三种通常使用的并行训练技术-数据并行、流水线并行和张量并行的组合,而ZeRO解决了数据并行中的内存冗余问题。混合精度训练则使用更小精度的浮点数减少内存使用和通信开销。其中的技术可以集成和使用来提高训练吞吐量和大型模型加载。至于推理速度的提高,误差量化技术可以降低LLMs的时间和空间成本。
在这里插入图片描述

LLMS的适配调优

经过预训练,LLMs能够获得解决各种任务的一般能力。然而,越来越多的研究表明,LLM的能力可以根据其具体目标进一步适应。本节介绍两种主要的适应预训练LLMs的方法,即指导微调和对齐微调。前一种方法主要旨在增强(或解锁)LLM的能力,而后一种方法旨在将LLM的行为与人类价值或偏好对齐。接下来,我们将详细介绍这两种方法。

指导微调

格式化示例

构建格式化实例的两种主要方法是使用格式化后的现有数据集和人的需要,其中,使用自然语言格式化的任务说明是关键因素。增加任务数量和多样性可以提高LLMs的泛化能力。正确格式化的自然语言格式还可以增加示范的数量和类型,以及任务说明的内容。指导LLMs能够理解任务的关键是任务说明。使用多种任务说明,包括人们真正需要的说明,可以提高LLMs的性能。格式化设计也有很大影响,例如,说明中包含关键的过程、非关键的过程、问题解决步骤等内容,并尽量减少说明中的其他组件。在注释人类需求实例的过程中,考虑多样性和数量平衡。

指令调优

指令调整策略,相比预训练,指令调整效率更高,因为它只使用少量实例进行训练。在指令调整中需要平衡数据分布,通常使用等量采样方法,并增加高质量集合样本的采样比率以提高性能。此外,指令调整可以与预训练相结合,同时使用纯文本数据和格式化数据进行多任务学习,以达到预训练和指令调整的优点。

指导调整效果

介绍了指导调整(instruction tuning)对语言模型的影响。它可以让语言模型具有理解自然语言指令完成任务的能力,甚至可以在未知任务上执行指令并取得卓越表现。指导调整不仅可以改善模型性能,还可以消除模型缺陷,提高模型解决实际问题的能力。同时,指导调整可以使语言模型在不同语言之间具备推广能力,而且使用仅有英文指令就可完成多语言任务,减小了指令工程的工作量。指导调整的效果已经被多项研究证实,是提高语言模型能力的一个通用方法。它对不同规模、结构、预训练目标的模型都有显著改进,因此指导调整是一个比预训练更高效的方法。

在这里插入图片描述

对齐调优

本部分首先介绍了对齐的背景、定义和标准,然后重点介绍了LLM对齐的人工反馈数据的收集,最后讨论了对齐调优的关键技术——人工反馈强化学习。

背景

语言模型(LLM)需要与人类期望对齐的背景及对齐标准。LLMs在NLP任务中表现出了卓越的能力,但有时会表现出意外的行为,针对这种情况,提出了人类对齐的概念。然而,与原始预训练和调整调优(例如指令调优)不同,这种对齐需要考虑非常不同的标准。近年来,有越来越多的关注点放在了发展多样化的标准上来监管LLMs的行为。文章给出了三个代表性的对齐标准:帮助、诚实和无害,并阐述了他们的含义。这些标准是相当主观的,基于人类认知的发展而来,因此直接将它们制定为LLM的优化目标是困难的。文章提出了一个看似有前途的技术,即红队测试,用于以对抗方式对LLMs进行探究,以生成有害输出,并对LLMs进行更新,以防止此类输出。

收集人们的反馈

在LLM的预训练阶段,使用大规模语料库进行语言建模目标进行训练。但是,它无法考虑到人类(在本次调查中称为人类反馈)对LLM输出的主观和质量评估。高质量的人类反馈对于使LLM与人类偏好和价值观保持一致非常重要。在本部分中,我们讨论如何选择一个人类标注者团队来收集反馈数据,并介绍收集反馈和偏好数据的三种主要方法:排名收集、问题收集和基于规则的收集。另外,还介绍了一种广泛使用在最近强大的LLMs中的人类反馈强化学习技术(RLHF)。
在这里插入图片描述

强化学习

为了使LM与人类价值观保持一致,提出了从人类反馈中进行强化学习(RLHF)的方法。RLHF采用强化学习算法来通过学习奖励模型来调整LM,以适应人类反馈。RLHF系统主要由三个关键组件组成:预训练的LM、从人类反馈中学习的奖励模型和用于训练LM的强化学习算法。RLHF遵循一个三步骤的过程,包括有监督的微调、奖励模型训练和RL微调。该过程可以迭代多次以更好地对齐LM。

利用

LLMs的利用方法是通过预训练或适应性调整后,设计合适的提示策略来解决各种任务。一种典型的提示方法是上下文学习,即将任务描述和/或演示以自然语言文本的形式表述。此外,可以采用思维链提示来增强上下文学习,涉及一系列中间推理步骤的提示。接下来,我们将详细说明这两种技术的细节。

语境学习

本文介绍了上下文学习(ICL)作为一种特殊的提示形式,ICL使用格式化的自然语言提示来启示LLMs识别和执行新任务,LLMs能够在没有明确梯度更新的情况下识别和执行新任务。ICL的效果严重依赖于演示,因此在提示中合理设计演示是重要的问题。本文特别关注如何将ICL应用于LLMs,主要包括演示设计和LLMs的基本机制。此外,ICL与指令调整密切相关,但是指令调整需要通过微调LLMs来适应任务,而ICL则只是提示LLMs进行利用。

在这里插入图片描述
ICL 的有效性受演示设计的影响。演示设计可从演示选择、格式和顺序三个主要方面介绍。演示选择可采用启发式和基于LLMs方法,后者可用于直接评估演示示例的信息量。演示格式可通过添加任务描述或使用连续思考提示增强LLMs的推理能力。演示顺序需考虑到LLMs的近期偏差,可通过相似性或信息理论等方法加以解决。

讨论了LLMs的ICL能力。经过预训练,LLMs在不进行更新的情况下能够展示出有趣的ICL能力。文章探讨了两个关键问题,即“预训练如何影响ICL能力”和“LLMs在推理过程中如何执行ICL”。预训练任务设计和预训练语料库来源是影响LLMs ICL能力的重要因素。在推理阶段,LLMs通过Attention机制生成元梯度来隐式地进行梯度下降,达到ICL的效果。结果还表明,LLMs的某些注意力头能够执行与ICL能力密切相关的任务无关原子操作。该过程可以抽象为学习算法。文章还介绍了LLMs在不进行更新的情况下有效地学习一些复杂的函数,如决策树。
在这里插入图片描述

思维链提示

本文介绍了一个名为Chain-of-Thought(CoT)的改进提示策略,用于提高LLMs在复杂的推理任务中的表现,例如算术推理、常识推理和符号推理。CoT与传统的ICL提示不同,它将可以导致最终输出的中间推理步骤整合到提示中。本文进一步阐述了如何在ICL中使用CoT以及CoT提示何时以及为什么有效。

将Controllable Text Generation(CoT)技术与In-context Learning(ICL)相结合,可以有效地提高Large Language Models(LLMs)的推理能力,尤其对需要逐步推理的任务,如算术推理、常识推理和符号推理,效果更好。CoT技术可以分为Few-shot CoT和Zero-shot CoT两种模式,可以有效地提升模型表现。此外,文章还讨论了CoT技术的开发机制和CoT提示组件的影响。要注意的是,CoT技术的效果与模型规模和任务相关性相关,而且CoT提示的设计和使用需要考虑多个因素。

猜你喜欢

转载自blog.csdn.net/u010095372/article/details/129966234