如何使用好大模型,大模型(LLM)使用综合指南

您所在的位置:网站首页 模型开发工具 如何使用好大模型,大模型(LLM)使用综合指南

如何使用好大模型,大模型(LLM)使用综合指南

2024-01-13 22:01| 来源: 网络整理| 查看: 265

随着大模型的爆火,如何使用好大模型,对于从业研究提出了更高的要求。在学习探索过程中,一直也在总结,不过,发现已经有学者进行了大模型使用的相关研究:Harnessing the Power of LLMs in Practice A Survey on ChatGPT and Beyond。论文的相关陈述和研究探讨,对于相关工作研究具有指导意义。

代码:https://github.com/mooler0410/llmspracticalguide 论文:https://arxiv.org/pdf/2304.13712v2.pdf摘要

本文讨论了,关于大型自然语言模型(LLMs)在自然语言处理(NLP)任务中综合而实用的应用指南,旨在为实践者和终端用户提供帮助。论文从模型、数据和下游任务的角度提供讨论和见解。首先,论文介绍和简要概述当前的GPT-style和BERT-style LLMs,然后论文讨论预训练数据、训练数据和测试数据的影响。最重要的是,论文提供了详细的讨论,探讨了大型语言模型在各种自然语言处理任务中的使用和非使用情况,例如知识密集型任务、传统的自然语言理解任务、自然语言生成任务、新兴能力和对于特定任务的注意事项。论文提供了各种大模型实用案例和非实用案例,以说明LLMs在实际场景中的实际应用和限制。论文还分析了数据的重要性以及每个NLP任务所面临的特定挑战。此外,论文探索了虚假偏见对LLMs的影响,并深入研究了其他重要考虑因素,例如效率、成本和延迟时间,以确保全面了解实践中部署应用LLMs的方法。本综合指南旨在为研究人员和实践者提供宝贵的见解和最佳实践,从而使这些模型在各种NLP任务中的成功运用。

1 引言

近年来,大型语言模型(LLMs)的快速发展正在革新自然语言处理(NLP)领域。这些强大的模型在解决各种NLP任务方面展现了巨大的潜力,从自然语言理解(NLU)到生成任务,甚至为通用人工智能(AGI)铺平了道路。然而,有效且高效地利用这些模型需要对其能力和局限性以及涉及NLP的数据和任务有实际的理解。

为了为从业人员和最终用户提供指南,本研究重点介绍了在下游NLP任务中使用LLMs的实际案例。本指南旨在提供关于选择使用LLMs的原因和为什么不选择的实用建议,以及如何选择最适合的LLM,考虑到模型大小、计算需求和领域特定预训练模型的可用性等因素。本研究从实用角度提供了对LLMs的全面理解,因此为从业人员和最终用户提供了成功利用LLMs为其 NLP 任务提供支持所需的实用知识。

论文的研究结构如下。首先,本研究通过讨论最重要的模型,如GPT-style和BERT-style架构,简要介绍了LLMs。然后,论文深入探讨了从数据角度影响模型性能的关键因素,包括预训练数据、训练/调整数据和测试数据。最后,而且最重要的是,论文深入研究了知识密集任务、传统NLU任务和生成任务等各种具体的NLP任务,介绍了这些模型具有的新能力和挑战性且实际存在的情况。论文提供了详细的示例,以突出LLMs在实践中的成功案例和局限性。

为了评估大型自然语言模型 (LLMs) 的能力,论文将它们与微调模型进行了比较。目前尚未普遍认可 LLMs 和微调模型的定义。考虑到实用性,在本文中,论文提出了以下定义:LLMs 是在大量数据集上预训练的大型语言模型,没有针对特定任务的数据进行微调;微调模型通常是较小的语言模型,也是预先训练的,然后在较小的任务特定数据集上进一步微调,以优化其在该任务上的性能。

本文总结了以下使用LLMs的主要实用指南: • 自然语言理解。在面对分布外的数据或非常少的训练数据时,利用LLMs的异常概括能力。 • 自然语言生成。利用LLMs的能力,为各种应用程序创建连贯、具有上下文相关性和高质量的文本。 • 知识密集型任务。利用储存在LLMs中的广泛知识,实现需要领域专业知识或一般世界知识的任务。 • 推理能力。了解并利用LLMs的推理能力,以改善各种情境下的决策和解决问题。

2 模型实用指南

当今最先进的LLMs模型在训练策略、模型架构和应用案例上有所不同。为了更清晰地了解LLMs的发展现状,论文将它们分为两类:编码-解码或仅编码和仅解码语言模型。在下图,论文展示了语言模型的详细演变过程。从这个演化树中,论文做出了以下有趣的观察:

仅解码的模型逐渐主导了LLMs的发展。在LLMs的早期阶段,仅解码的模型并不像仅编码和编码-解码模型那样受欢迎。然而,随着颠覆性LLMs - GPT-3的引入,仅解码模型经历了显著的繁荣。与此同时,在由BERT带来的初期爆发式增长之后,仅编码模型逐渐消失。 OpenAI在LLM方面始终保持领导地位,无论是当前还是未来。其他公司和机构正在努力赶上OpenAI,开发能够与GPT-3和当前的GPT-4相媲美的模型。这种领先地位可能归因于OpenAI在最初并不广泛被认可时坚定地坚持其技术道路。Meta对开源LLMs做出了重大贡献,并促进了LLMs的研究。在考虑对开源社区的贡献时,特别是与LLMs有关的贡献,Meta是最慷慨的商业公司之一,因为Meta开发的所有LLMs都是开源的。LLMs表现出向闭源化的倾向。在LLM开发的早期阶段(2020年以前),大多数模型都是开源的。然而,随着GPT-3的引入,公司越来越倾向于关闭其模型,例如PaLM,LaMDA和GPT-4。因此,学术研究人员更难在LLM培训方面进行实验。因此,基于API的研究可能成为学术界主要的方法。编码-解码模型仍然很有前途,因为这种类型的架构仍在积极探索,而且大多数都是开源的。 Google在开源编码-解码架构方面做出了实质性的贡献。然而,仅解码模型的灵活性和通用性似乎使得Google对此持坚定立场的前景较少。

3 数据使用指南

在这一节中,论文将讨论数据在选择下游任务的适当模型中所扮演的关键角色。数据对于模型的效果产生的影响始于预训练阶段,并贯穿到训练和推理阶段。

该问题的关键是三个:

(1)如何面对分布之外的数据,例如对抗性示例和域偏移,在下游任务中LLMs比微调模型具有更好的泛化性;(2)在使用有限标注数据时,LLMs比微调模型更可取,对于丰富的标注数据,根据特定任务的要求,两者均为合理选择;

(3)建议选择预训练于与下游任务相似的数据领域的模型。

3.1 预训练数据

预训练数据在大型语言模型的开发中起着至关重要的作用。作为LLM惊人能力[5, 47]的基础,预训练数据的质量、数量和多样性显著影响LLMs的性能[124]。常用的预训练数据包括书籍、文章和网站等多种文本来源。这些数据被精心策划,以确保全面反映人类知识、语言细微差别和文化观点。预训练数据的重要性在于它可以向语言模型提供丰富的词汇知识、语法、句法和语义理解,以及识别上下文和生成连贯响应的能力。此外,预训练数据的多样性在塑造模型性能方面也起着至关重要的作用,LLMs的选择高度依赖于预训练数据的组成部分。例如,PaLM[22]和BLOOM[92]在多语言任务和机器翻译方面表现出色,这归功于它们丰富的多语言预训练数据。此外,PaLM将一定量的社交媒体对话和书籍语料库整合到预训练数据中,增强了其在问答任务中的表现。同样,GPT-3.5的代码执行和代码完成能力(code-davinci-002)由于整合了代码数据,其预训练数据集的性能得到了提升。简而言之,在选择用于下游任务的LLMs时,建议选择预训练数据类型相似的模型。

3.2 微调数据

在部署模型用于下游任务时,根据已注释数据的可用性,考虑三种主要情况是至关重要的:零、少和丰富。在本节中,论文提供了一个简明的概述,其中包括对每种情况所应采用的适当模型的描述。

零注释数据:在注释数据不可用的情况下,利用零-shot场景中的LLMs被证明是最适合的方法。LLMs已经被证明胜过以往的零-shot方法。此外,由于语言模型参数保持不变,没有参数更新过程,确保避免了灾难性遗忘。 几乎没有注释数据:在这种情况下,将少数样本直接合并到LLMs的输入提示中,名为上下文学习,在任务的推广中可以起到良好的指导作用。据报道,在一次或几次训练中的性能都有显著提升,甚至匹配了最先进的fine-tuned models的性能。而LLMs的零/少量shot能力可以通过扩大规模来进一步提高。另外,一些少数样本学习方法被创造出来来增强fine-tuned models,例如元学习或转移学习。然而,性能可能低于使用LLMs,因为基于fine-tuned models的模型更小并且过拟合的可能性更高。 充足的注释数据:对于特定任务可用的大量带注释数据,可以考虑 fine-tuned models 和 LLMs 两者。在大多数情况下,fine-tuning模型可以很好地适应数据。虽然,LLMs可以用来满足诸如隐私保护等一些限制。在这种情况下,选择使用fine-tuned models还是LLMs是任务特定的,并且还取决于许多因素,包括期望的性能、计算资源和部署限制。

总之,LLMs在数据可用性方面更加灵活,而在有丰富的注释数据时可以考虑使用fine-tuned models。

3.3 测试数据/用户数据

在使用LLMs进行下游任务时,论文经常面临的挑战是测试/用户数据与训练数据之间的分布差异。这些差异可能涵盖领域转移[132]、分布变化[31],甚至是对抗性示例[82]。这些挑战显著阻碍了微调模式在实际应用中的有效性。它们适用于特定分布,但具有一定的泛化能力,因此无法处理OOD数据。然而,由于它们没有明确的拟合过程,LLMs在面对这种情况时表现出色。此外,最近的进展进一步提高了语言模型在此方面的能力。人类反馈强化学习(RLHF)方法显著提高了LLMs的泛化能力[77]。例如,InstructGPT在各种任务的指导下表现出了出色的适应能力,甚至能够遵循不同语言的指示,尽管这种指示很少见。同样,ChatGPT在大多数对抗性和OOD分类和翻译任务中表现出一致的优势[109]。它在理解对话相关的文本方面的优越性导致了在DDXPlus数据集上的卓越表现[101],这是一个为OOD评估而设计的医疗诊断数据集。

4 实用的NLP任务指南

在本节中,论文详细讨论了LLMs在各种下游NLP任务中的使用情况和不使用情况以及相应的模型能力。在图2中,论文对所有讨论进行了总结,形成了决策流程。它可以成为面对任务时快速决策的指南。

4.1 传统的NLU任务

选择LLMs或精细调整模型的决策流程,旨在帮助用户评估其下游NLP应用程序是否符合特定条件,并根据评估结果确定LLMs或精细调整模型对其应用程序最适合的选择。图中的决策过程中,Y表示符合条件,N表示不符合条件。最后一个条件中的黄色圆圈表示没有模型能在这种类型的应用上效果良好。

在传统的NLU任务中,微调模型通常比LLMs更好,但在需要强大的泛化能力时,LLMs可以提供帮助。

4.2 生成任务

自然语言生成广泛涵盖了两大类任务,其目标是创建连贯、有意义且与语境相适应的符号序列。第一类任务侧重于将输入文本转换为新的符号序列,例如段落摘要和机器翻译等任务。而第二类“开放式”生成旨在从零开始生成文本或符号,以准确匹配输入描述,例如撰写电子邮件、撰写新闻文章、编写虚构故事和编写代码等。 由于其强大的生成能力和创造力,LLMs在大多数生成任务上都表现出更高的优越性。

4.3 知识密集型任务

知识密集型NLP任务是指一类对背景知识、领域专业知识或真实世界知识具有强烈依赖的任务。这些任务超越了简单的模式识别或语法分析。它们高度依赖于特定实体、事件和论文现实世界的常识的记忆和适当利用。

由于其丰富的实际知识,LLMs在知识密集型任务方面表现突出。 当任务的知识要求与其学习到的知识不匹配或者只需要上下文知识时,LLMs会遇到困难,这种情况下微调模型也可以和LLMs一样有效。4.4 关于扩展能力

LLMs的扩展(如参数、训练计算等)可以极大地增强预训练语言模型的性能。随着模型规模的增加,模型通常在一系列任务中变得更加能力强大。在某些指标上,性能与模型规模之间呈幂律关系。例如,用于衡量语言建模性能的交叉熵损失随着模型规模的指数增加呈线性下降,也称为“扩展律”[41,47]。对于某些关键能力,例如推理,扩展模型已经逐渐将这些能力从非常低的状态转变为可用状态,甚至接近人类的能力。在本节中,论文总结LLMs在能力和行为方面随着扩展的使用情况。

随着模型规模的指数增加,LLMs在算术推理和常识推理等方面变得尤其擅长。 随着LLMs扩展的能力不断出现,出现了一些意想不到的用途,例如词汇操纵能力和逻辑能力。 在许多情况下,由于对大语言模型能力随扩展而改变的理解不足,性能并没有随着扩展稳定提高的趋势。4.5 其他任务

本节探讨其他任务,以更好地了解LLMs的优缺点。

在远离LLMs预训练目标和数据的任务中,微调模型或指定模型仍然有其空间。LLMs擅长模仿人类,进行数据标注和生成。它们还可以用于NLP任务的质量评估,并具有可解释性等附加优势。4.6 真实世界中的“任务”

在这一部分的最后,论文想讨论LLMs和微调模型在真实世界的“任务”中的使用。论文使用“任务”这个术语是松散的,因为真实世界的场景常常缺乏像学术界那样格式良好的定义。许多请求甚至不能被视为NLP任务。模型在真实世界中面临的挑战有以下三个方面:

嘈杂/非结构化输入。真实世界的输入来自于非专家人员。他们很少了解如何与模型交互,甚至不能流利地使用文本。因此,真实世界的输入数据可能是凌乱的,包含错别字、口语和混合语言,与那些用于预训练或微调的格式规范的数据不同。学术界未规范化的任务。在真实世界的情况下,任务经常被学术界定义不清楚,并且比学术环境中的任务要多样得多。用户经常提出的查询或请求不会恰好落入预定义的分类中,有时单个请求中会包含多个任务。遵循用户的指示。用户的请求可能包含多个隐含意图(例如,要求特定的输出格式),或者他们想要的预测可能没有后续问题就不够明确。模型需要理解用户的意图,并提供符合这些意图的输出。基本上,这些真实世界中的挑战来自于用户的请求与专门设计用于特定任务的任何NLP数据集的分布明显偏离。公共NLP数据集不能反映出模型在使用中遇到的情况[77]。与微调模型相比,LLMs更适合处理真实世界的场景。然而,评估模型在真实世界中的有效性仍然是一个未解决的问题。5 其他需要考虑的因素

尽管LLMs适用于各种下游任务,但还有其他要考虑的因素,例如效率和可信度。论文对效率的讨论包括训练成本、推理延迟以及LLM的参数高效调试策略。同时,论文对可信度的检验包括鲁棒性和校准性、公平性和偏差、潜在的虚假相关性以及LLM的安全挑战。

对于那些敏感于成本或对延迟要求严格的人来说,应该考虑轻量级、本地化、微调模型(Light, local, fine-tuned models)而不是LLMs。参数高效调试(Parameter-Efficient tuning)是模型部署和交付的可行选项。 LLMs的zero-shot方法禁止从任务特定数据集中学习捷径规则,而这在“微调”模型中很常见。尽管如此,LLMs仍然表现出了一定程度的捷径学习问题。 LLMs所涉及的安全问题应该给予极大重视,因为LLMs产生的潜在有害输出和偏见,以及谬误可能会导致严重后果。一些方法,如人工反馈,已经显示出缓解这些问题的希望。

结论及未来挑战:

近来,大型语言模型在自然语言处理领域发挥着革命性的作用。要有效地使用LLMs,需要理解它们在各种NLP任务中的能力和限制。本文提供了一份实用指南,介绍了如何在下游NLP任务中使用LLMs。论文首先讨论了著名的模型,例如GPT-style和BERT-style架构以及影响其性能的因素。然后,论文探讨了使用LLMs进行下游任务的方法,包括知识密集型任务、NLU和NLG任务,同时提供了有关其成功和局限性的具体示例。本实用指南为LLMs提供了洞见并提供了在各种NLP任务中利用LLMs的最佳实践。论文希望它能让研究人员和实践者充分利用LLMs的潜力,并推动语言技术的创新发展。

接下来,论文预测LLMs未来将面临以下挑战:

在真实世界的“数据集”上评估所提出的模型。现有的深度学习模型主要在标准学术数据集上进行评估,如ImageNet等,这已成为深度学习发展的里程碑。然而,标准学术数据集的局限性不能完全反映其在实际中的表现。随着模型的进步,评估它们在更加多样化、复杂化和真实反映实际需求的数据上的表现至关重要。不仅仅是学术数据集,实际应用数据的评估也可以更严格的测试它们在实际应用中的能力和更好地理解它们在实际应用中的有效性。这确保了这些模型能够应对实际世界中的挑战,并提供实用的解决方案。模型对齐。确保越来越强大和自主的模型与人类价值和优先事项保持一致是至关重要的。必须开发方法来保证这些模型按照预期行事,不会优化不良结果。在模型开发过程的开始就需要集成对齐技术,模型的透明度和可解释性也是评估和确保对齐的重要因素。此外,随着论文展望未来,一个更加艰巨的挑战浮现:对齐超人类系统。虽然这个任务目前超出了论文的需求,但考虑和准备对齐这样先进的系统可能存在的独特复杂性和道德问题也是重要的。安全对齐。虽然讨论人工智能存在风险很重要,但需要进行具体的研究以确保先进的人工智能的安全发展。这包括可解释性、可扩展性的监督和管理以及模型属性的形式验证等方面。在模型构建过程中,安全不应该只是一个外加组成部分,而应该作为其重要的一部分考虑。随着模型大小和复杂性的大幅增长,预测模型性能的方法。难以预测模型性能会随着模型大小和复杂性的大幅增长而有所改变。开发更好的方法来预测模型的性能,即在模型扩展或开发新的架构后模型的性能如何改变,将有助于更有效地使用资源和加速进展。一些可能的方法包括:训练一个较小的“种子”模型,并推断其增长,模拟扩大规模或模型调整的影响,并在不同规模的模型迭代中进行基准测试,以建立扩展性定律。这些方法可以提供有关模型性能的深入洞察,甚至在模型构建之前就能预测模型的性能。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3