本文为从事大型语言模型(LLMs)的实践者和终端用户提供了一份全面且实用的指南,以应用于下游自然语言处理(NLP)任务。我们从模型、数据和下游任务的角度对LLMs的使用进行了讨论和分析。首先,我们对当前基于GPT和BERT风格的LLMs进行了介绍和简要总结。接着,我们讨论了预训练数据、训练数据和测试数据的影响。最重要的是,我们详细讨论了在各种自然语言处理任务中使用和不使用大型语言模型的情况,如知识密集型任务、传统自然语言理解任务、自然语言生成任务、新兴能力和针对特定任务的考虑因素。我们通过各种使用和不使用的案例来说明LLMs在现实场景中的实际应用和局限性。同时,我们试图了解数据的重要性及与每个NLP任务相关的特定挑战。此外,我们还探讨了偶然偏差对LLMs的影响,并深入研究了其他关键考虑因素,如效率、成本和延迟,以确保全面了解在实践中部署LLMs。本全面指南旨在为研究人员和实践者提供有价值的见解和最佳实践,以便成功地将这些模型应用于广泛的NLP任务。关于LLMs实用指南资源的策划清单,定期更新,可以在
https://github.com/Mooler0410/LLMsPracticalGuide 找到
1. 引言
近年来,大型语言模型的快速发展正在彻底改变自然语言处理领域[12, 128, 131]。这些强大的模型在处理各种NLP任务方面表现出巨大潜力,从自然语言理解(NLU)到生成任务,甚至为人工通用智能(AGI)铺平了道路。然而,有效且高效地利用这些模型需要对它们的能力和局限性以及NLP涉及的数据和任务有实际的了解。 为了为从业者和终端用户提供指导,本研究关注于在下游自然语言处理任务中与大型语言模型(LLMs)合作的实际方面。本指南旨在提供实用建议,说明为何在给定任务中选择或不选择LLMs,以及如何选择最合适的LLM,考虑到诸如模型大小、计算需求以及领域特定预训练模型的可用性等因素。从实际角度深入了解LLMs,因此,为从业者和终端用户提供了成功利用LLMs处理自己的NLP任务所需的实用知识。
我们的工作结构如下。首先,我们通过讨论最重要的模型,如 GPT 风格和 BERT 风格架构,简要介绍了 LLM(大型语言模型)。接着,我们从数据的角度深入研究影响模型性能的关键因素,包括预训练数据、训练/调优数据和测试数据。最后且最重要的是,我们深入研究各种具体的 NLP 任务,为 LLM 在知识密集型任务、传统 NLU 任务和生成任务的适用性提供见解,以及这些模型所具有的新兴能力和面临的现实挑战。我们提供详细的示例,突显 LLM 在实践中的成功案例和局限性。为了分析大型语言模型的能力,我们将它们与微调模型进行比较。目前,还没有一个普遍认可的关于 LLM 和微调模型的定义。考虑到实用性,在我们的文章中,对它们的定义如下:LLM 是在大量数据集上进行预训练,而不针对特定任务调优的庞大的语言模型;微调模型通常是较小的语言模型,它们也经过预训练,然后在更小的特定任务数据集上进一步调优,以优化其在该任务上的性能。本文总结了使用 LLM 的以下主要实用指南:
自然语言理解。在面对分布之外的数据或非常少的训练数据时,利用 LLM 的卓越泛化能力。 自然语言生成。利用 LLM 的能力为各种应用创建连贯、与上下文相关且高质量的文本。 知识密集型任务。利用 LLM 存储的广泛知识来处理需要特定领域专业知识或普遍世界知识的任务。 推理能力。理解并利用 LLM 的推理能力,以提高在各种情境下的决策和问题解决能力。
2 .模型实用指南
本节简要介绍了最先进的大型语言模型(LLMs)。这些模型在训练策略、模型架构和应用场景上有所不同。为了更清晰地了解LLM领域,我们将其分为两类:编码器-解码器或仅编码器的语言模型和仅解码器的语言模型。在图1中,我们展示了语言模型的详细演变过程。从演化树中,我们得出以下有趣的观察:
a) 仅解码器模型已逐渐主导了大型语言模型(LLMs)的发展。在LLMs发展的早期阶段,仅解码器模型并不像仅编码器和编码器-解码器模型那样受欢迎。然而,在2021年之后,随着具有改变游戏规则的大型语言模型(如GPT-3)的引入,仅解码器模型经历了显著的繁荣。同时,在BERT带来的初步爆炸性增长之后,仅编码器模型逐渐开始淡出人们的视线。
b) OpenAI始终保持着在LLM领域的领导地位,无论是现在还是可能的未来。其他公司和机构在开发与GPT-3和当前的GPT-4相媲美的模型方面,都在努力迎头赶上OpenAI。这个领导地位可以归因于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 [28], RoBERTa[65]和T5[84]。由于在广泛的任务中取得了成功,MLMs已经成为自然语言处理领域的重要工具。
2.2 GPT风格的语言模型:仅解码器虽然语言模型在架构中通常与任务无关,但这些方法需要对特定下游任务的数据集进行微调。研究人员发现,扩大语言模型的规模可以显著提高少样本甚至零样本的性能[16]。获得更好的少样本和零显示性能的最成功的模型是自回归语言模型,它是通过给定前面的单词在序列中生成下一个单词来训练的。这些模型已被广泛用于文本生成和问答等下游任务。自回归语言模型的例子包括GPT-3 [16], OPT [126], PaLM[22]和BLOOM[92]。改变游戏规则的GPT-3首次通过提示和上下文学习展示了合理的少样本/零样本性能,从而显示了自回归语言模型的优越性。还有一些模型,如CodeX[2],针对特定任务(如代码生成)进行了优化,用于金融领域的BloombergGPT[117]。最近的突破是ChatGPT,它专门针对对话任务改进了GPT-3,为各种现实世界的应用提供了更具交互性、连贯性和上下文感知的对话。
3 数据实用指南
在本节中,我们将讨论数据在为下游任务选择适当模型方面发挥的关键作用。数据对模型有效性的影响从预训练阶段开始,一直持续到训练和推理阶段。 (1)在面临分布外数据的下游任务中,LLM的泛化能力比微调模型更好,如对抗性样本和域偏移。(2)在处理有限的标注数据时,LLM比微调模型更可取,并且在有大量标注数据时,两者都可以是合理的选择,具体取决于特定的任务需求。(3)建议选择在与下游任务类似的数据字段上预训练的模型。
4 NLP任务实用指南
在本节中,我们详细讨论LLM在各种下游NLP任务中的用例和非用例以及相应的模型能力。在图2中,我们将所有讨论总结为一个决策流。它可以是面对任务时快速决定的指南。
5 其他注意事项
尽管LLM适用于各种下游任务,但还有一些其他因素需要考虑,如效率和可信性。对效率的讨论包括LLM的训练成本、推理延迟和参数有效的调优策略。对可信性的考察包括鲁棒性和校准、公平性和偏差、潜在的虚假相关性以及LLM中的安全挑战。
6 结论和未来的挑战
大型语言模型的最新进展正在彻底改变自然语言处理领域。有效地使用LLM需要了解它们的能力和各种NLP任务的限制。本文为在下游NLP任务中使用LLM提供了实用指南。首先讨论了一些突出的模型,如GPT风格和BERT风格的架构以及影响它们性能的因素。探讨了将LLM用于下游任务,包括知识密集型任务、NLU和NLG任务,并提供了成功和局限性的具体例子。本实用指南提供了对LLM的见解和跨NLP任务利用LLM的最佳实践。我们希望它能使研究人员和从业人员发挥他们的潜力,推动语言技术的创新。接下来,我们分析了LLM未来面临的挑战:
在真实世界的“数据集”上评估所提出的模型。现有的深度学习模型主要在标准的学术数据集上进行评估,如ImageNet,这些数据集是深度学习发展的里程碑。然而,标准学术数据集的局限性并不能准确反映现实世界的性能。随着模型的发展,至关重要的是要在反映现实世界需求的更多样化、复杂和现实的数据上评估它们。评估真实世界“数据集”上的模型,除了学术上的,将提供更严格的测试它们的能力,以及更好地理解它们在真实世界应用中的有效性。这确保了模型能够应对现实世界的挑战并提供实际的解决方案。
模型对齐。确保日益强大和自主的模型与人类的价值观和优先事项相一致至关重要。必须开发方法来保证这些模型的行为符合预期,并且不会针对不期望的结果进行优化。从模型开发过程的一开始就集成对齐技术至关重要。模型透明度和可解释性也是评估和确保对齐的重要因素。此外,当我们展望未来时,一个更艰巨的挑战正在逼近:调整超人系统。虽然这项任务目前超出了我们的需求,但重要的是要考虑和准备调整这些先进系统的潜在影响,因为它们可能提出独特的复杂性和伦理问题[8,15]。
安全对齐。虽然人工智能存在风险的讨论很重要,但需要具体的研究来保证先进人工智能的安全发展。这包括可解释性、可扩展的监督和管理,以及模型属性的形式化验证技术。安全性不仅应该被视为一个附加组件,而且应该被视为模型构建过程中不可分割的一部分。
基于缩放的性能预测。随着模型大小和复杂性的急剧增加,很难预测模型性能将如何变化。开发方法在扩展后或在开发新架构时更好地预测模型性能,将允许更有效地使用资源和加速进展。一些可能性包括:训练一个较小的“种子”模型并推断其增长,模拟规模增加或模型调整的影响,以及在不同规模上对模型迭代进行基准测试以构建缩放规律。这些可以在模型建立之前就了解模型的性能。