Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond

LLM的系列文章,针对《Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond》的翻译。

在实践中驾驭LLM的力量——ChatGPT及其后的研究综述

  • 摘要
  • 1 引言
  • 2 模型实用指南
    • 2.1 BERT风格的语言模型:编码器-解码器或仅编码器
    • 2.2 GPT风格的语言模型:仅解码器
  • 3 数据实用指南
    • 3.1 预训练数据
    • 3.2 微调数据
    • 3.3 测试数据/用户数据
  • 4 NLP任务实用指南
    • 4.1 传统NLU任务
      • 4.1.1 无用例
      • 4.1.2 用例
    • 4.2 生成任务
      • 4.2.1 用例
      • 4.2.2 无用例
    • 4.3 知识密集型任务
      • 4.3.1 用例
      • 4.3.2 无用例
    • 4.4 关于缩放的能力
      • 4.4.1 推理用例
      • 4.4.2 具有涌现能力的用例
      • 4.4.3 无用例和理解
    • 4.5 杂项任务
      • 4.5.1 无用例
      • 4.5.2 用例
    • 4.6 真实世界“任务”
  • 5 其他的考虑
    • 5.1 高效
    • 5.2 可信
    • 5.3 安全挑战
  • 6 结论与未来的挑战

摘要

本文为从事大型语言模型(LLM)下游自然语言处理(NLP)任务的从业者和最终用户提供了一份全面而实用的指南。我们从模型、数据和下游任务的角度对LLM的使用进行了讨论和见解。首先,我们介绍并简要总结了当前GPT和BERT风格的LLM。然后,我们讨论了预训练数据、训练数据和测试数据的影响。最重要的是,我们详细讨论了大型语言模型在各种自然语言处理任务中的使用和非使用情况,如知识密集型任务、传统自然语言理解任务、自然语言生成任务、涌现能力和特定任务的考虑。我们介绍了各种用例和非用例,以说明LLM在现实场景中的实际应用和局限性。我们还试图了解数据的重要性以及与每个NLP任务相关的具体挑战。此外,我们探讨了虚假偏见对LLM的影响,并深入研究了其他基本考虑因素,如效率、成本和延迟,以确保全面了解在实践中部署LLM。本综合指南旨在为研究人员和从业者提供与LLM合作的宝贵见解和最佳实践,从而使这些模型能够在广泛的NLP任务中成功实施。LLM实用指南资源的策划列表(定期更新)可在https://github.com/Mooler0410/LLMsPracticalGuide.

1 引言

近年来,大型语言模型的快速发展使自然语言处理领域发生了革命性的变化。这些强大的模型在处理各种NLP任务方面显示出了巨大的潜力,从自然语言理解(NLU)到生成任务,甚至为人工通用智能(AGI)铺平了道路。然而,有效和高效地利用这些模型需要实际了解它们的能力和局限性,以及NLP中涉及的数据和任务。
为了为参与者和最终用户提供指南,这项工作侧重于在下游NLP任务中使用LLM的实际方面。本指南旨在就为什么或为什么不为给定任务选择LLM提供实用建议,并就如何选择最合适的LLM提供指导,同时考虑模型大小、计算要求和特定领域预训练模型的可用性等因素。这项工作从实践的角度对LLM进行了深入的了解,因此,使从业者和最终用户能够获得成功利用LLM的力量完成自己的NLP任务所需的实践知识。
我们的工作结构如下。首先,我们的工作通过讨论最重要的模型,如GPT风格和BERT风格的架构,简要介绍了LLM。然后,我们从数据的角度深入研究影响模型性能的关键因素,包括预训练数据、训练/调优数据和测试数据。最后也是最重要的一点,我们深入研究了各种具体的NLP任务,深入了解了LLM在知识密集型任务、传统NLU任务和生成任务中的适用性,以及这些模型所具有的突发能力和挑战现实世界场景的能力。我们提供了详细的例子来强调LLM在实践中的成功用例和局限性。
为了分析大型语言模型的能力,我们将它们与微调模型进行比较。到目前为止,LLM和微调模型还没有得到普遍认可的定义。考虑到实用性,在我们的文章中,它们的定义被提出为:LLM是在大量数据集上预训练的巨大语言模型,而没有针对特定任务调整数据;微调模型通常是较小的语言模型,这些模型也经过预训练,然后在较小的特定任务数据集上进一步调整,以优化其在该任务上的性能。
本工作总结了以下使用LLM的主要实用指南:

  • 自然语言理解。当面对分布数据不足或训练数据很少时,利用LLM的特殊泛化能力。
  • 自然语言生成。利用LLM的功能为各种应用程序创建连贯、上下文相关和高质量的文本。
  • 知识密集型任务。利用LLM中存储的丰富知识执行需要特定领域专业知识或一般世界知识的任务。
  • 推理能力。理解并利用LLM的推理能力,在各种情况下改进决策和解决问题。

2 模型实用指南

在这里插入图片描述
本节简要介绍了最先进的LLM。这些模型在训练策略、模型架构和用例方面有所不同。为了更清楚地了解LLM的前景,我们将其分为两种类型:编码器-解码器或仅编码器的语言模型和仅解码器的语言模型。在图1中,我们展示了语言模型的详细演变过程。从进化树上,我们得出了以下有趣的观察结果:

  • a) 仅解码器的模型已经逐渐主导了LLM的发展。在LLM开发的早期阶段,仅解码器的模型不如仅编码器和编码器-解码器的模型流行。然而,2021年之后,随着改变游戏规则的LLM-GPT-3的推出,仅解码器的模型经历了显著的繁荣。与此同时,在BERT带来的最初爆炸性增长之后,仅编码器的模型逐渐开始消失。
  • b) OpenAI始终保持其在LLM中的领导地位,无论是当前还是未来。其他公司和机构正在努力追赶OpenAI,开发与GPT-3和当前GPT-4相当的模型。这一领导地位可能归因于OpenAI对其技术道路的坚定承诺,即使最初并未得到广泛认可。
  • c) Meta为开源LLM做出了重大贡献,并促进了LLM的研究。考虑到对开源社区的贡献,特别是与LLM相关的贡献,Meta是最慷慨的商业公司之一,因为Meta开发的所有LLM都是开源的。
  • d) LLM呈现出闭源的趋势。在LLM开发的早期阶段(2020年之前),大多数模型都是开源的。然而,随着GPT-3的推出,公司越来越多地选择关闭其模型的来源,如PaLM、LaMDA和GPT-4。因此,学术研究人员对LLM训练进行实验变得更加困难。因此,基于API的研究可能成为学术界的主导方法。
  • e) 编码器-解码器模型仍然很有前景,因为这种类型的架构仍在积极探索中,而且大多数都是开源的。谷歌在开源编码器-解码器架构方面做出了巨大贡献。然而,仅解码器模型的灵活性和多功能性似乎使谷歌在这一方向上的坚持前景黯淡。

在这里插入图片描述
我们还在表1中简要总结了每种类型的特征和代表性LLM。

2.1 BERT风格的语言模型:编码器-解码器或仅编码器

由于自然语言数据很容易获得,并且已经提出了无监督训练范式来更好地利用超大数据集,这激发了自然语言的无监督学习。一种常见的方法是在考虑周围环境的同时预测句子中的掩蔽词。这种训练范式被称为掩码语言模型。这种类型的训练使模型能够更深入地理解单词和使用它们的上下文之间的关系。这些模型是使用诸如Transformer架构之类的技术在大型文本语料库上进行训练的,并且在许多NLP任务中取得了最先进的结果,例如情绪分析和命名实体识别。掩码语言模型的显著例子包括BERT、RoBERTa和T5。MLM由于在广泛的任务中取得了成功,已成为自然语言处理领域的一个重要工具。

2.2 GPT风格的语言模型:仅解码器

尽管语言模型在体系结构中通常与任务无关,但这些方法需要对特定下游任务的数据集进行微调。研究人员发现,扩展语言模型可以显著提高小样本甚至零样本性能。具有更好的小样本和零样本性能的最成功的模型是自回归语言模型,它是通过在给定前一个单词的序列中生成下一个单词来训练的。这些模型已被广泛用于文本生成和问答等下游任务。自回归语言模型的例子包括GPT-3、OPT、PaLM和BLOOM。游戏转换器GPT-3首次通过提示和上下文学习展示了合理的少/零样本性能,从而显示了自回归语言模型的优越性。还有一些模型,如CodeX,针对特定任务进行了优化,如代码生成、金融领域的BloombergGPT。最近的突破是ChatGPT,它专门针对会话任务改进了GPT-3,为各种现实世界的应用程序带来了更具互动性、连贯性和上下文感知的会话。

3 数据实用指南

在本节中,我们将讨论数据在为下游任务选择适当模型方面所起的关键作用。数据对模型有效性的影响从预训练阶段开始,一直持续到训练和推理阶段。
在这里插入图片描述

3.1 预训练数据

预训练数据在大型语言模型的开发中起着关键作用。作为LLM卓越能力的基础,预训练数据的质量、数量和多样性显著影响LLM的性能。常用的预训练数据由无数的文本源组成,包括书籍、文章和网站。这些数据经过精心策划,以确保全面反映人类知识、语言细微差别和文化观点。预训练数据的重要性在于它能够为语言模型提供对单词知识、语法、句法和语义的丰富理解,以及识别上下文和生成连贯响应的能力。预训练数据的多样性在塑造模型性能方面也起着至关重要的作用,LLM的选择在很大程度上取决于预训练数据中的成分。例如,PaLM和BLOOM擅长多语言任务和机器翻译,拥有丰富的多语言预训练数据。此外,通过结合大量的社交媒体对话和书籍语料库,PaLM在问答任务中的表现得到了增强。同样,GPT-3.5(code-davinci-002)的代码执行和代码补全能力也通过在其预训练数据集中集成代码数据而得到增强。简言之,在为下游任务选择LLM时,建议选择在类似数据领域上预先训练的模型。

3.2 微调数据

在为下游任务部署模型时,必须根据注释数据的可用性考虑三个主要场景:零、少量和丰富。在本节中,我们简要概述了每个场景中要使用的适当模型。
零注释数据:在注释数据不可用的情况下,在零样本设置中使用LLM被证明是最合适的方法。LLM已被证明优于以前的零样本方法。此外,由于语言模型参数保持不变,因此参数更新过程的缺失确保了避免灾难性遗忘。
少量有注释的数据:在这种情况下,小样本示例被直接纳入LLM的输入提示中,这被命名为上下文学习,这些示例可以有效地指导LLM推广到任务中。如[16]所述,单样本和小样本能取得了显著的进步,甚至与SOTA微调的开放域模型的性能相匹配。LLM的零/小样本能力可以通过缩放进一步提高。或者,发明了一些小样本学习方法来增强微调模型,例如元学习或迁移学习。然而,与使用LLM相比,由于微调模型的规模较小且过拟合,性能可能较差。
丰富的注释数据:对于特定任务,有大量的注释数据可用,可以考虑微调模型和LLM。在大多数情况下,对模型进行微调可以很好地拟合数据。尽管如此,LLM可以用于满足一些限制,如隐私。在这种情况下,使用微调模型或LLM之间的选择是特定于任务的,也取决于许多因素,包括所需的性能、计算资源和部署限制。
简言之:LLM比数据可用性更通用,而微调模型可以考虑使用丰富的注释数据。

3.3 测试数据/用户数据

在为下游任务部署LLM时,我们经常面临来自测试/用户数据和训练数据之间分布差异的挑战。这些差异可能包括领域转移、分布外变化,甚至是对抗性例子。这些挑战严重阻碍了微调模式在现实应用中的有效性。它们适合特定的分布,并且对OOD数据的泛化能力较差。然而,LLM在面对这种情况时表现得很好,因为它们没有明确的拟合过程。此外,最近的进步进一步增强了语言模型在这方面的能力。从人类反馈中强化学习(RLHF)方法显著增强了LLM的泛化能力。例如,InstructGPT表现出在广泛的任务中遵循各种指令的熟练程度,偶尔也会遵守不同语言的指令,尽管这种指令很少。同样,ChatGPT在大多数对抗性和分布外(OOD)分类和翻译任务上表现出一致的优势。它在理解对话相关文本方面的优势使其在DDXPlus数据集上取得了令人印象深刻的性能,这是一个为OOD评估设计的医学诊断数据集。

4 NLP任务实用指南

在本节中,我们详细讨论了LLM在各种下游NLP任务中的用例和无用例,以及相应的模型能力。在图2中,我们将所有讨论总结为一个决策流。它可以作为在面对任务时快速做出决定的指南。
在这里插入图片描述

4.1 传统NLU任务

传统的NLU任务是NLP中的一些基本任务,包括文本分类、命名实体识别(NER)、隐含预测等。其中许多任务被设计为大型人工智能系统中的中间步骤,例如用于知识图构建的NER。
在这里插入图片描述

4.1.1 无用例

在大多数自然语言理解任务中,如GLUE和SuperGLUE中的任务,如果这些任务带有丰富的注释良好的数据,并且在测试集上包含很少的分布外示例,则微调模型仍然具有更好的性能。对于不同的任务和数据集,小型微调模型和LLM之间的差距各不相同。
在文本分类中,在大多数数据集上,LLM的性能略低于微调模型。对于情绪分析,如IMDB和SST,微调模型和LLM表现同样良好。对于毒性检测,这是另一项标志性的文本分类任务,差距要大得多。所有LLM都不能很好地执行这项任务,在CivilComments上,即使是最好的LLM也只比随机猜测好。另一方面,大多数流行的微调模型可以获得更好的性能。Perspective API仍然是检测毒性的最佳方法之一。该API由基于多语言BERT的模型提供支持,该模型根据公开可用的毒性数据和从该模型中提取的几个较小的单语言CNN进行调整。这可能是因为毒性是由语言表达中的细微差别定义的,而大型语言模型无法仅根据所提供的输入准确理解这一任务。
在其他一些任务中,绩效差距的趋势是相似的。对于自然语言推理(NLI)任务,在大多数数据集上,如RTE和SNLI上,微调模型的性能优于LLM,而在CB等一些数据上,LLM获得了与微调模型相当的性能。对于问答(QA),在SQuADv2、QuAC和许多其他数据集上,微调模型具有卓越的性能,而在CoQA上,LLM的性能与微调模型一样好。
在信息检索(IR)任务中,LLM尚未得到广泛利用。一个主要原因是IR任务与其他任务有根本的不同。没有一种自然的方法可以将成千上万的候选文本转换为LLM所要求的几个/零样本形式。现有对MS MARCO(regular/TREC)的评估结果表明,基于微调模型的方法具有更好的性能。在这种评估中,LLM以一种非正统的方式对段落进行排序,这要求LLM逐个生成段落的概率。
对于一些低级的中间任务,这些任务不是为普通用户准备的,而是为高级任务准备的,例如命名实体识别(NER)和依赖解析,LLM没有足够的结果,因为最新的LLM评估侧重于实际任务。根据现有的评估结果,对于NER任务,CoNLL03仍然是LLM的一个挑战,其中微调模型的性能大约是LLM的两倍。这些中间任务可能很快就会消失,因为LLM可以在没有这些中间任务帮助的情况下接管高级任务(例如,编码任务的依赖解析;一些文本生成任务的NER)。
简言之,对于大多数传统的NLU任务,就基准数据集的性能和计算成本而言,微调模型是更好的选择。LLM的规模通常比微调模型大10倍甚至100倍。LLM在某些任务上性能较差的一个可能原因可能是指令/提示的设计。将输入从IR和句子标记等任务转换为少量/零的简短指令形式并非易事。未来可能有更好的方法使语言模型适应传统的NLP任务。另一方面,微调模型的能力没有达到上限,一些方法,如FLAN调优,可以进一步提高NLU任务的性能。另一个有趣的发现是,在NLU任务中,经过微调后,掩蔽语言模型,如T5,在相同规模下比大多数自回归语言模型更好,而最近的一些结果表明,这一差距可以通过缩放来弥补。

4.1.2 用例

然而,仍有一些NLU任务适合LLM。其中一个具有代表性的任务是杂项文本分类。与情感分析等经典的特定领域文本分类任务不同,杂项文本分类处理的主题和类别范围多样,彼此之间可能没有明确或牢固的关系。它更接近真实世界的案例,并且很难使用微调模型进行格式化。另一种是对抗性NLI(ANLI)。这是一个困难的数据集,由三轮(R1、R2和R3)中对抗性挖掘的自然语言推理问题组成。LLM在ANLI上显示出优越的性能,尤其是在R3和R2上。这两个例子都证明了LLM在传统NLP任务中对分布外和注释稀疏的数据进行良好概括的非凡能力,超过了微调模型。我们已经在上面的3.3节中对此进行了讨论。

4.2 生成任务

自然语言生成大致包括两大类任务,目标是创建连贯、有意义和符合上下文的符号序列。第一种类型侧重于将输入文本转换为新的符号序列,例如段落摘要和机器翻译等任务。第二种类型是“开放式”生成,旨在从头开始生成文本或符号,以准确匹配输入描述,如制作电子邮件、撰写新闻文章、创建虚构故事和编写代码。
在这里插入图片描述

4.2.1 用例

生成任务要求模型对输入内容或要求有全面的理解,并具有一定的创造力。这正是LLM所擅长的。
对于摘要任务,尽管在传统的自动评估指标(如ROUGE)下,LLM与微调模型相比没有明显的优势,但人类评估结果表明,与微调模型的结果相比,人类倾向于更喜欢LLM生成的结果。例如,在CNN/DaylyMail和XSUM上,像Brio和Pegasus这样的微调模型比任何LLM w.r.t.ROUGE都有更好的性能,但像OPT这样的LLM在考虑到包括忠实性、连贯性和相关性在内的所有方面的人类评估中表现要好得多。这证明了LLM在摘要任务中的优越性。另一方面,这意味着当前的摘要基准不包含高质量的摘要,或者自动度量不适合于评估摘要。
在机器翻译(MT)中,LLM可以执行胜任的翻译,尽管考虑到BLEU等一些自动指标,其平均性能略低于一些商业翻译工具。LLM尤其擅长将一些低资源语言文本翻译成英语文本,例如在WMT’16的罗马尼亚语-英语翻译中,零样本或小样本LLM的表现优于SOTA微调模型。这主要是由于英语资源构成了预训练数据的主要部分。BLOOM在更多的多语言数据上进行预训练,从而在丰富资源和低资源翻译中提高翻译质量。另一个有趣的发现是,BLOOM在罗曼斯语中实现了良好的翻译质量,即使是来自加利西亚语的翻译,这也不包括在预训练数据中。一个合理的解释是,来自同一语言组中某些语言的文本可以帮助LLM从相似性中学习更多。如果能够在预训练数据中添加更多的多语言文本,则可以进一步提高翻译能力。
此外,LLM在开放式生成中非常熟练。一个例子是,LLM生成的新闻文章与人类的真实新闻文章几乎无法区分。LLM也非常擅长代码合成。无论是对于文本代码生成,如HumanEval和MBPP,还是对于代码修复,如DeepFix,LLM都可以执行得很好。GPT-4甚至可以通过Leetcode中25%的问题,这对大多数人类程序员来说并非微不足道。随着对更多代码数据的训练,LLM的编码能力可以进一步提高。在执行此类任务时,LLM生成的代码应该经过仔细测试,以找出任何细微的错误,这是在代码合成中应用LLM的主要挑战之一。

4.2.2 无用例

微调模型,如DeltaLM+Zcode,在最丰富的资源翻译和极低的资源翻译任务中仍然表现最佳。在丰富资源的机器翻译中,微调模型略优于LLM。在资源极低的机器翻译中,如英语-哈萨克语翻译,微调模型的表现明显优于LLM。

4.3 知识密集型任务

知识密集型NLP任务是指强烈依赖背景知识、特定领域专业知识或一般现实世界知识的一类任务。这些任务超越了简单的模式识别或语法分析。它们高度依赖于记忆和正确利用关于特定实体、事件和我们现实世界常识的知识。
在这里插入图片描述

4.3.1 用例

一般来说,有了数十亿的训练token和参数,LLM比微调模型拥有更多的真实世界知识。
闭书式问答任务要求模型在没有任何外部信息的情况下回答关于事实知识的给定问题。它确实需要在模型中记忆真实世界的知识。LLM在几乎所有数据集上都表现得更好,例如NaturalQuestions、WebQuestions和TriviaQA。在TriviaQA上,即使是零样本LLM也要好得多。
大规模多任务语言理解(MMLU)也是高度知识密集型的。它包含了跨越57个不同科目的多项选择题,需要对该模型有一定的了解。即使对LLM来说,这也是相当具有挑战性的,尽管新发布的GPT-4在英语中以令人满意的86.5%的准确率大大优于现有模型。
此外,Big bench中的一些任务,旨在探索LLM并推断其未来能力,在很大程度上依赖于对现实世界知识的记忆。在这样的任务中,一些LLM的表现优于人类的平均水平,甚至可以与人类的最佳表现相媲美。例如,任务Hindu_knowledge需要模型提供有关印度教神话的事实,周期元素需要从元素周期表中预测元素名称的能力,物理学通过询问解决给定物理问题所需的公式来测试模型的物理知识。

4.3.2 无用例

还有一些其他任务需要与LLM学习的知识不同的知识。所需的知识不是LLM所学到的关于现实世界的知识。在这样的任务中,LLM并不明显优越。
有些任务只需要模型在上下文中捕获自包含的知识。来自输入的上下文中的知识足以使模型进行预测。对于这些任务,经过微调的小型模型可以很好地工作。其中一项任务是机器阅读理解(MRC)。MRC任务提供了几个段落,并要求模型根据这些段落预测问题的答案。我们在上一节中讨论了MRC,因为它也是一个传统的NLU任务。
另一种情况是,LLM中关于现实世界的知识对任务毫无用处,甚至所需的知识与现实世界相反。因此,LLM无法很好地完成此类任务。在某些情况下,不一致的知识甚至可能使LLM比随机猜测更糟糕。例如,在Big Bench中,Mnist ascii任务要求模型说出ascii艺术所代表的数字。该任务所需的能力与现实世界的知识无关。此外,在反向缩放现象竞赛中,任务重新定义数学重新定义了一个公共符号,并要求模型在原始含义和重新定义后的含义之间进行选择。它所需要的与LLM的知识形成对比,因此LLM的表现甚至比随机猜测更差。
作为LLM中真实世界知识的替代方案,允许访问额外的知识,因此模型可以通过检索增强为任务获得足够的知识。检索增强的基本思想是在进行预测之前增加一个额外的信息检索步骤,其中,将从大型语料库中检索一些与任务相关的有用文本。然后,该模型将基于输入上下文和检索到的文本进行预测。有了检索到的附加信息,关闭的书本任务就可以变成“打开的书本”。在这种情况下,微调后的模型非常好,尺寸要小得多,因为可以通过检索获得所需的知识。例如,在NaturalQuestions上,有了额外的语料库,检索增强模型比任何其他方法都要好得多。

4.4 关于缩放的能力

LLM的缩放(例如参数、训练计算等)可以极大地增强预训练语言模型的能力。随着模型的扩展,模型通常在一系列任务中变得更有能力。反映在一些指标中,性能显示出与模型规模的幂律关系。例如,用于衡量语言建模性能的交叉熵损失随着模型规模的指数增长而线性下降,这也被称为“缩放定律”。对于一些关键的能力,例如推理,缩放模型使这些能力从非常低的状态逐渐转变为可用状态,甚至接近人类的能力。在本节中,我们从LLM的能力和行为以及扩展的角度概述了LLM的使用。
在这里插入图片描述

4.4.1 推理用例

推理是人类智力的重要方面之一,涉及到对信息的理解、推理和决策。这对NLP来说是一个挑战。现有的许多推理任务可以分为常识推理和算术推理。
算术推理/解决问题。LLM的算术推理能力很大程度上得益于模型大小的缩放。对于GPT-3,只有当参数数量超过13B时,两位数相加的能力才会变得明显。测试算术推理的任务对人类来说微不足道,旨在挑战将自然语言转换为数学符号和多步骤推理的能力。在GSM8k、SVAMP和AQuA上,LLM作为通才,与大多数具有特定任务设计的方法相比,具有竞争性能。GPT-4的性能超过了任何其他方法,甚至是一些专门针对算术问题调整的大型模型。然而,应该注意的是,在没有外部工具干预的情况下,LLM在执行基本计算时偶尔会出错,尽管思想链(CoT)提示可以显著提高LLM的计算能力。
常识性推理。常识推理不仅要求LLM记住事实知识,还要求LLM对事实进行几个推理步骤。常识推理随着模型规模的增长而逐渐增加。与微调模型相比,LLM在大多数数据集上保持优势,如StrategyQA和ARC-C。特别是在ARC-C上,它包含了从3年级到9年级的科学考试中的难题,GPT-4的成绩接近100%(96.3%)。

4.4.2 具有涌现能力的用例

模型的缩放也赋予了模型一些前所未有的、超越幂律规则的奇妙能力。这些能力被称为“涌现能力”。正如[113]中所定义的,LLM的涌现能力是指在较小规模的模型中不存在但在大型模型中存在的能力。这意味着这种能力无法通过推断较小规模模型的性能改进来预测,一旦规模超过一定范围,模型就会在某些任务上突然获得良好的性能。涌现能力通常是不可预测和令人惊讶的,导致任务随机或出乎意料地出现。我们研究了LLM应急能力的具体例子,并为决定是否利用LLM的应急能力提供了重要参考。
处理单词操纵是一种典型的涌现能力。它指的是学习符号操作的能力,例如反向单词,其中模型被赋予一个向后拼写的单词,并且必须输出原始单词。例如GPT-3显示了单词排序和单词解读任务的涌现能力。PaLM在ASCII单词识别和超词素任务上表现出涌现能力。语言模型的逻辑能力往往随着模型的扩展而出现,如逻辑推理、逻辑序列和逻辑网格谜题。此外,其他任务,如高级编码(如自动调试、代码行描述)和概念理解(如新颖概念、简单图灵概念),也是具有大型语言模型涌现能力的用例。

4.4.3 无用例和理解

尽管在大多数情况下,如上所述,较大的模型会带来更好的性能,但在选择适当的模型时,仍有许多例外情况需要考虑。
在某些任务中,随着LLM大小的增加,性能开始下降,例如重新定义数学:测试语言模型在被重新定义为其他含义时是否能够使用公共符号;其他未知:要求模型选择哪条信息有助于回答问题;备忘录陷阱:要求LM以一种开头像名言但结尾不同的方式写一个短语。这也被称为反向缩放现象。在LLM的缩放中观察到的另一个有趣的现象被称为U形现象。顾名思义,这一现象是指随着LLM规模的增加,他们在某些任务上的表现最初有所改善,但随后开始下降,最终再次改善,例如:后见忽视:它测试语言模型是否能够根据预期值评估赌注是否值得;否定QA:该任务采用现有的多项选择数据集,否定每个问题的一部分,以查看语言模型是否对否定敏感;引用重复:它要求模型重复提示中给出的句子,并提供一些样本示例来帮助其识别任务。因此,应注意性能下降的风险,如果任务与我们刚才讨论的任务类似,则应仔细考虑是否使用巨大的LLM。
深入了解LLM中的涌现能力、反向缩放现象和U形现象对于推进该领域的研究至关重要。从某种意义上说,U型现象表明,小规模模型和大规模模型的预测具有不同的内在机制。从这个角度来看,由于足够大的模型具有一些涌现能力,U形现象可以被视为逆缩放现象的转变。GPT-4在某些情况下表现出逆缩放现象的逆转,例如在一项名为“后见疏忽”的任务中。LLM在缩放过程中的这些行为的解释仍然是一个悬而未决的问题。已经提出了几个假设。对于涌现能力,一种解释是一项任务可能有多个关键步骤,LLM在足够大以处理每个步骤之前无法处理该任务,另一种解释则侧重于评估指标的粒度。对于逆缩放现象和u形现象,解释主要集中在模型过度依赖先前信息而不是输入提示、有效但具有误导性的小样本示例,以及分散困难任务中更容易完成的任务的注意力。

4.5 杂项任务

本节探讨了先前讨论中无法涉及的杂项任务,以更好地了解LLM的优势和劣势。
在这里插入图片描述

4.5.1 无用例

由于目标和训练数据的差异,LLM通常难以完成某些任务。
尽管LLM在各种自然语言处理任务中取得了显著的成功,但它们在回归任务中的表现却不那么令人印象深刻。例如,ChatGPT在GLUE STS-B数据集上的性能(这是一项评估句子相似性的回归任务)不如微调的RoBERTa性能。回归任务通常涉及预测连续值而不是离散标签,这给LLM带来了独特的挑战。它们表现不佳的一个主要原因是语言建模目标和回归任务目标之间的固有差异。LLM旨在预测序列中的下一个单词或生成连贯的文本,其预训练侧重于捕捉语言模式和关系。因此,它们的内部表示可能不太适合对连续数值输出进行建模。此外,LLM主要是针对文本数据进行训练的,专注于捕捉自然语言处理的复杂性。因此,它们在涉及处理文本、图像、音频、视频、动作和机器人等多种数据类型的多模式数据上的性能在很大程度上仍未得到探索。微调后的多模式模型,如BEiT和PaLI,仍然主导着许多任务,如视觉问答(VQA)和图像字幕。尽管如此,最近推出的GPT-4已经在多模态融合方面迈出了一步,但仍缺乏对其能力的详细评估。

4.5.2 用例

LLM特别适用于某些任务。
LLM非常擅长模仿人类,充当聊天机器人,执行各种任务。LLMs驱动的ChatGPT在与人类的多次对话中具有一致性、可靠性、信息性和稳健性,令人惊讶。人类反馈过程在获得这种能力方面发挥着重要作用。
LLM既可以作为数据扩充的良好注释器,也可以作为数据生成器,如中所述。一些LLM在某些任务中被发现与人类注释器一样好。从GPT3.5收集的文本(text-davinci-003)在演示后被用作类人指令,以训练其他语言模型。
LLM还可以用于一些NLG任务的质量评估,如摘要和翻译。在摘要任务中,GPT-4作为评估者,与其他方法相比,与人类的相关性更高,具有较大的优势。其他一些基于LLM的评估者在更多的NLG任务中也表现出良好的人为一致性,特别是与传统的自动度量相比。但是LLM评估者可能对LLM生成的文本有偏见。
此外,正如我们上面所讨论的,LLM的一些能力除了带来性能改进之外,还带来了奖励,例如可解释性。LLM的CoT推理能力可以显示LLM是如何达到预测的,这在实例级别上是一个很好的解释,同时也提高了性能。

4.6 真实世界“任务”

在本节的最后一部分中,我们将讨论LLM和微调模型在现实世界“任务”中的使用。我们松散地使用“任务”一词,因为现实世界中的场景往往缺乏像学术界那样格式良好的定义。许多对模型的请求甚至不能被视为NLP任务。模型在现实世界中面临三个方面的挑战:

  • 噪声/非结构化输入。真实世界的输入来自真实世界的非专家。他们对如何与模型互动知之甚少,甚至不能流利地使用文本。因此,与用于预训练或微调的格式良好的数据不同,真实世界的输入数据可能很混乱,包含拼写错误、口语和混合语言。
  • 学术界没有正式化的任务。在现实世界中,学术界往往对任务定义不清,而且比学术环境中的任务更加多样化。用户经常提出不属于预定义类别的查询或请求,有时一个查询中包含多个任务。
  • 遵循用户指示。用户的请求可能包含多个隐含意图(例如对输出格式的特定要求),或者如果没有后续问题,他们想要的预测可能不清楚。模型需要理解用户意图,并提供与这些意图一致的输出。

从本质上讲,现实世界中的这些挑战来自于用户的请求与为特定任务设计的任何NLP数据集的分布存在显著差异。公共NLP数据集不能反映模型的使用方式。
在这里插入图片描述
处理这样的真实世界场景需要处理歧义、理解上下文和处理嘈杂的输入。与微调模型相比,LLM更适合这一点,因为它们已经在涵盖各种写作风格、语言和领域的不同数据集上进行了训练。此外,LLM表现出生成开放域响应的强大能力,使其非常适合这些场景。另一方面,经过微调的模型通常是为特定的、定义明确的任务量身定制的,并且可能难以适应新的或意外的用户请求。它们在很大程度上依赖于明确的目标和良好的训练数据,这些数据规定了模型应该学习遵循的指令类型。微调模型可能难以处理噪声输入,因为它们对特定分布和结构化数据的关注范围较窄。通常需要一个额外的系统作为微调模型的助手,以处理非结构化上下文,确定可能的意图,并相应地细化模型响应。
此外,一些机制,如指令调整和人工调整,进一步增强了LLM更好地理解和遵循用户指令的能力。这些方法提高了模型生成有用、无害和诚实响应的能力,同时保持了一致性。虽然这两种方法都可以使LLM更好地推广到看不见的任务和指令,但已经注意到,虽然人类标注者更喜欢为人类对齐调整的模型,而不是用公共NLP任务(如FLAN和T0)的指令调整的模型。原因可能与微调模型较差的原因类似:公共NLP任务/数据集是为方便和自动评估而设计的,它们只能涵盖现实世界中的一小部分使用。
当涉及到现实世界场景时,主要问题之一是如何评估模型是否良好。在没有任何形式化任务或指标的情况下,模型有效性的评估只能依赖于人类标注者的反馈。考虑到人工评估的复杂性和成本,微调模型和LLM之间还没有大规模和系统的比较。尽管如此,chatGPT等LLM的巨大成功和流行,在一定程度上证实了LLM的优越性。

5 其他的考虑

尽管LLM适用于各种下游任务,但还有一些其他因素需要考虑,例如效率和可信度。我们对效率的讨论包括LLM的训练成本、推理延迟和参数有效调整策略。同时,我们对可信度的检查包括稳健性和校准、公平性和偏见、潜在的虚假相关性以及LLM中的安全挑战。
在这里插入图片描述

5.1 高效

在实际部署中,性能、成本和延迟都是重要的考虑因素,而不仅仅是模型的性能。虽然已经开发了一些参数有效的方法,但从业者必须在实践中平衡效率和有效性。
费用。近年来,LLM变得越来越大,GPT-1、GPT-2和GPT-3等模型分别具有1.17亿、15亿和1750亿个参数。LLM的训练成本在很大程度上受其规模的影响,估计表明训练T5的11B参数变体单次训练的成本远远超过130万美元,而GPT-3 175B的单次训练需要460万美元。训练大型模型的能耗同样令人印象深刻。用6B参数训练Transformer模型到完成的总能耗估计约为103.5 MWh。谷歌报告称,培训PaLM在大约两个月内消耗了约3.4 GWh。此外,数据集的大小也随着模型的大小而快速扩展,GPT-3 175B在4990亿个token上训练。另一个反映计算成本的关键指标是浮点,GPT-3 175B需要 3.14 × 1 0 23 3.14\times 10^{23} 3.14×1023个浮点,而T5 11B型号只需要 3.30 × 1 0 22 3.30\times 10^{22} 3.30×1022个浮点,这是10倍。除了这些成本之外,硬件需求也是巨大的。OpenAI与微软合作开发了一台托管在微软Azure云中的超级计算机,该计算机由285k个CPU核心和10k个高端GPU组成,以支持大型模型的训练。对于OpenAI API的用户,定价因型号和使用情况而异,GPT-3.5-turbo等选项的聊天服务收费为每1ktoken0.002美元。然而,对于需要自定义模型的用户,每1ktoken的训练成本为0.03美元,而每1ktoken的使用成本为0.12美元。因此,对于无法承担如此大成本的用户,如小型初创公司、个人用户等,小型、微调的模式是更好、更合理的选择。
延迟。在LLM的实际应用中,延迟是一个需要考虑的关键因素。推断时间是衡量延迟的常用指标,它高度依赖于模型大小、体系结构和token大小。例如,当最大token大小设置为2、8和32时,GPT-J 6B模型的推断时间分别为0.077s、0.203s和0.707s。此外,当最大token大小固定为32时,InstructGPT模型(davinci v2)的推理时间为1.969s。由于LLM通常太大,无法在单个用户的机器上运行,公司通过API提供LLM服务。API延迟可能因用户的位置而异,OpenAI API服务的平均延迟从几百毫秒到几秒不等。在高延迟不可接受的情况下,大型LLM可能不合适。例如,可伸缩性在许多信息检索应用程序中至关重要。为了在网络上部署信息检索系统,搜索引擎需要非常有效的推理才能使系统有用。InstructGPT davinci v2(175B*)模型的理想化去噪推理时间是每个请求0.21s(即,要评分的查询通道对),这对于网络搜索引擎来说太慢了。
参数有效调整。在实践中,我们可以在一些特定的数据集上调整模型。参数有效调整(PET)是一种有效的技术,用于调整模型参数(或额外参数)的少量传输,同时冻结预训练LLM的大多数参数。PEFT的主要目标是在保持原始模型性能的同时,大大降低计算和存储成本。PET的常见技术有LoRA、前缀调整、P-调整。例如,LoRA方法保持了预训练模型的权重,并将低秩矩阵合并到Transformer架构的每一层中。这种方法大大减少了后续任务需要训练的参数数量,从而提高了整体效率。Alpaca-LoRA建议将低秩自适应(LoRA)集成到LLaMA Alpaca中,这使得LLaMA能够在单个RTX 4090上在数小时内运行。所有这些PFT方法都有助于根据特定任务微调模型,或调整LLM以满足人类对齐等特殊要求。

5.2 可信

鉴于LLM现在涉及医疗保健、金融和法律等敏感领域,确保它们值得信赖并能够产生可靠的产出至关重要。
稳健性和校准。LLM的准确性和稳健性被证明具有非常强的相关性。在场景中具有高准确性的模型也具有良好的稳健性。然而,在调整了额外的特定于应用程序的任务数据之后,零样本的健壮性变得更差。这可能是由于过拟合,由于模型的极高复杂性和来自下游任务的有限训练样本,导致泛化能力较差。同样,已经观察到,由于过度参数化,微调模型可能会导致严重的错误校准。因此,当鲁棒性和校准是关键考虑因素时,微调模型可能不是最佳选择。然而,人类对齐已被发现是增强模型鲁棒性的潜在解决方案。InstructGPT davinci v2(175B*)已被证明在稳健性方面优于其他模型。另一方面,实现模型的最佳校准取决于所采用的场景和自适应程序。
公平与偏见。LLM已被证明表现出不同的待遇和影响,使社会偏见长期存在,并可能导致歧视。为了确保所有用户的公平和公正,在NLP模型的开发和部署中解决这些问题至关重要。人口群体之间表现的差异可以作为公平问题的一个指标。LLM特别容易受到公平问题的影响,因为在方言、宗教、性别和种族等人口类别中观察到了显著的表现差异。然而,研究表明,无论模型的大小如何,将模型与人工指令相结合都可以提高LLM的性能,与其他LLM相比,InstructGPT模型(davinci v2)表现出更小的性能差异。
虚假偏见。在预训练和微调范式下,在各种自然语言理解任务中都观察到了快捷学习问题,其中模型严重依赖微调数据中输入和标签之间的虚假相关性进行预测。例如,在阅读理解任务中,微调模型倾向于关注问题和原文之间的单词匹配,而忽略了预期的阅读理解任务本身。相比之下,大型语言模型没有在微调数据集中直接训练,这使得它们不太可能学习微调数据集中存在的快捷方式特征,从而增强了模型的泛化能力。然而,LLM并不是绝对正确的,并且可能在上下文学习中表现出一些捷径学习。例如,最近的初步研究已经开始调查基于提示的方法在大规模语言模型中的稳健性。其中一项研究评估了GPT-3在文本分类和信息提取任务上的小样本学习性能。并揭示了所检查的LLM容易受到多数标签偏差和位置偏差的影响,其中它们倾向于基于答案在训练数据中的频率或位置来预测答案。此外,这些LLM表现出常见的表征偏见,倾向于在其预训练语料库中普遍存在的答案。最近的研究表明,这种位置偏差可以通过选择适当的提示来减轻。总之,尽管LLM显著减少了微调模型中普遍存在的快捷方式学习问题,但它们仍然表现出一些快捷方式学习的问题,在下游应用程序中部署它们时应谨慎处理。

5.3 安全挑战

LLM在推理、知识保留和编码等许多领域都表现出了极其强大的能力。随着他们变得更加强大和人性化,他们以重大方式影响人们意见和行动的潜力也在增长。因此,应该考虑我们社会面临的一些新的安全挑战,并在最近的工作中引起了大量关注。
幻觉。LLM产生“幻觉”或产生荒谬或不真实内容的可能性,可能会对各种应用中信息的质量和可靠性产生重大负面影响。随着LLM变得越来越令人信服和可信,用户可能会过度依赖它们,并相信它们能在他们熟悉的领域提供准确的信息。如果模型生成的内容完全是虚假或误导性的,从而导致基于这些信息做出错误的决定或采取错误的行动,这可能会特别危险。这种结果可能会在许多领域产生严重后果,如医疗保健、金融或公共政策,在这些领域,信息的准确性和可靠性至关重要。为了缓解这些问题,从人类反馈中强化学习(RLHF)被广泛使用,LLM本身已被集成到循环中。
有害内容。由于LLM生成的文本具有高度的连贯性、质量和合理性,LLM中的有害内容可能会造成重大伤害,包括仇恨言论、歧视、煽动暴力、虚假叙事,甚至社会工程攻击。为检测和纠正这些内容而实施的保障措施可以是缓解措施。这些LLM还可能具有双重用途的潜力,因为它们提供了所需的非法信息,从而导致武器扩散甚至恐怖主义袭击计划等风险。至关重要的是要确保负责任地使用这些LLM,并采取保障措施防止伤害。此外,在现有的工作中,来自人类的反馈在消除有害输出方面发挥着重要作用。
隐私。LLM可能面临严重的安全问题。用户隐私问题就是一个例子。据报道,三星员工在使用ChatGPT处理工作时,无意中泄露了绝密数据,包括新程序的源代码、与硬件相关的内部会议记录等。意大利数据保护机构宣布,ChatGPT的开发者OpenAI非法收集了个人用户数据,导致意大利成为第一个出于隐私考虑禁止ChatGPT的政府。

6 结论与未来的挑战

大型语言模型的最新进展已经彻底改变了自然语言处理领域。有效地使用LLM需要了解它们的功能以及各种NLP任务的局限性。这项工作为下游NLP任务提供了使用LLM的实用指南。我们首先讨论了GPT风格和BERT风格架构等突出的模型以及影响其性能的因素。然后,我们探索将LLM用于下游任务,包括知识密集型任务、NLU和NLG任务,并提供成功和局限性的具体示例。本实用指南深入了解LLM以及在NLP任务中利用LLM的最佳实践。我们希望这将使研究人员和从业者能够利用他们的潜力,推动语言技术的创新。
在下文中,我们列出了LLM未来的挑战:

  • 在真实世界的“数据集”上评估拟议模型。而现有的深度学习模型主要在标准学术数据集上进行评估,如ImageNet,这是深度学习发展的里程碑。然而,标准学术数据集的局限性并不能准确反映真实世界的性能。随着模型的发展,根据反映真实世界需求的更多样、更复杂、更现实的数据对其进行评估至关重要。除了学术模型外,在现实世界的“数据集”上评估模型将对其能力进行更严格的测试,并更好地了解其在现实世界应用中的有效性。这确保了模型能够应对现实世界中的挑战并提供实用的解决方案。
  • 模型校准。确保日益强大和自主的模式与人类价值观和优先事项保持一致至关重要。必须开发方法,以确保这些模型的行为符合预期,并且不会针对不期望的结果进行优化。从模型开发过程的一开始就集成对齐技术是至关重要的。模型的透明度和可解释性也是评估和确保一致性的重要因素。此外,当我们展望未来时,一个更艰巨的挑战迫在眉睫:调整超人系统。虽然这项任务目前超出了我们的要求,但重要的是要考虑并准备好调整此类先进系统的潜在影响,因为它们可能会带来独特的复杂性和道德问题。
  • 安全校准。虽然对人工智能存在风险的讨论很重要,但需要具体的研究来保证先进人工智能的安全开发。这包括可解释性、可扩展的监督和治理技术,以及模型属性的正式验证。安全不仅应被视为一个附加组件,而且应被视是模型构建过程中不可或缺的一部分。
  • 带缩放功能的性能预测。随着模型规模和复杂性的急剧增加,很难预测模型性能将如何变化。在扩展后或随着新架构的开发,开发更好地预测模型性能的方法将允许更有效地使用资源并加快进度。一些可能性包括:训练一个较小的“种子”模型并推断其增长,模拟规模增加或模型调整的影响,以及在不同规模下对模型的迭代进行基准测试,以建立缩放定律。这些可以在模型构建之前就提供对模型性能的深入了解。

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

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

相关文章

WEIQ自动登录实现

文章目录 声明目标网址password加密分析代码实现声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! 目标网址 aHR0cHM6Ly93d3cud2VpcS5jb20vpassword加密分析 研究一下登录加密逻辑,随便…

js小写金额转大写 自动转换

// 小写转为大写convertCurrency(money) {var cnNums [零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖]var cnIntRadice [, 拾, 佰, 仟]var cnIntUnits [, 万, 亿, 兆]var cnDecUnits [角, 分, 毫, 厘]// var cnInteger 整var cnIntLast 元var maxNum 999999999999999.9999var…

基于springboot+Redis的前后端分离项目(七)-【黑马点评】

🎁🎁资源文件分享 链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA?pwdeh11 提取码:eh11 发布笔记,点赞,点赞排行 达人探店1、达人探店-发布探店笔记2、 达人探店-查看探店笔记3、 达人探店-点赞功…

从零搭建ros间的通信,各功能包、节点之间的通信

新建消息类型 catkin_create_pkg car_interfaces roscpp rospy std_msgs message_generation message_runtime书写自定义的msg: 比如我写一个GlobalPathPlanningInterface.msg: float64 timestamp #时间戳 float32[] startpoint #起点位置&#x…

Eclipse调整系统字体(亲测)

1. 打开eclipse的菜单栏windows->preferences 2. 选择General->Appearance->colors and fonts 3. 选择字号,Apply,ok 建议选择常规18号,这样对眼睛友好一些,不易太大太小 为了大家更好的学习交流,博主新建了v…

MCSM面板一键搭建我的世界服务器 - 外网远程联机【内网穿透工具】

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 前言 MCSManager是一个…

华为发布大模型时代AI存储新品

7月14日,华为发布大模型时代AI存储新品,为基础模型训练、行业模型训练,细分场景模型训练推理提供存储最优解,释放AI新动能。 企业在开发及实施大模型应用过程中,面临四大挑战: 首先,数据准备时…

2、用phpMyAdmin修改mysql的密码

用phpMyAdmin登录mysql服务器,默认的用户名密码为 Username: root Password: [null] 在账户中修改密码

css3的新特性

动画效果 过渡 transition 鼠标放上去瞬间变大 过渡是变大的过程慢慢变化 第一个参数:对哪些值进行过渡。all为hover中所有,也可以指定属性 第二个参数:让动画过渡多长时间。要添加单位(s秒) 第三个参数&#xff1…

光速吟唱,Clibor ,批量多次复制依次粘贴工具 快捷输入软件教程

批量多次复制依次粘贴工具 批量复制粘贴工具0.81.exe https://www.aliyundrive.com/s/3sbBaGmHkb8 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 青县solidworks钣金设计培训 …

超级详细的 Docker Desktop 安装 GitLab

一、GitLab介绍 GitLab 分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版…

听GPT 讲K8s源代码--pkg(二)

在 Kubernetes(K8s)项目中,pkg/controller 目录是用于存放控制器(Controller)相关的代码的目录。控制器是 Kubernetes 的核心组件之一,用于管理和控制集群中的资源对象的状态和行为。 pkg/controller 目录的…