ChatGPT 引发的舆论热潮至今仍未消退,以其为代表的大型语言模型(LLM)正是目前自然语言处理领域的研究热点,同时其在机器翻译、文本生成和聊天机器人等方面的应用也让实践者们跃跃欲试,期望找到新的应用和商业机会。
而在实际探索的过程中,实践者可能会苦于寻找适合自己应用的 AI 模型:是选择 LLM 还是微调模型?如果用 LLM,又该选择哪一种?
近日,来自亚马逊、德州农工大学、莱斯大学等机构的学者对 ChatGPT 等语言模型的发展历程进行了一番讨论,其文章也得到了 Yann LeCun 的转推。
论文:https://arxiv.org/abs/2304.13712
相关资源:https://github.com/Mooler0410/LLMsPracticalGuide
本文将从实际应用角度出发,探讨适用 LLM 的任务以及在选择模型时需要考虑的模型、数据和任务等方面实际问题。
1 引言
近年来,发展迅猛的大型语言模型(LLM)已然引发了自然语言处理(NLP)领域的革命。这些模型非常强大,有望解决许多不同种类的 NLP 任务 —— 从自然语言理解(NLU)到生成任务,甚至铺就了通往通用人工智能(AGI)之路。但是,为了有效且高效地利用这些模型,我们需要立足实际地理解它们的能力和局限,还要理解 NLP 所涉及的数据和任务。
这篇论文重点着眼于在下游 NLP 任务中实际应用 LLM 的各个方面,以给实践者和最终用户提供指引。本指南的目标是为读者提供实际有用的建议,以助其了解是否应该为给定任务选用 LLM 以及如何选择最适用的 LLM—— 这其中需要考虑诸多因素,比如模型大小、计算需求、具体领域是否已有预训练模型等。本文还会从实际应用角度介绍和解释 LLM,这些实用知识能助力实践者和最终用户成功利用 LLM 的力量来解决他们自己的 NLP 任务。
本文的结构为:本文首先会简要介绍 LLM,其中主要会讨论最重要的 GPT 式和 BERT 式架构。然后会深入介绍数据方面影响模型性能表现的关键因素,包括预训练数据、训练数据 / 调优数据、测试数据。在最后也是最重要的部分,本文会深入各种具体的 NLP 任务,介绍 LLM 是否适用于知识密集型任务、传统 NLU 任务和生成任务,此外还会描述这些模型不断获得的新能力以及具有挑战性的现实世界应用场景。我们会提供详细的案例,以彰显 LLM 在实践中有用和有局限的地方。
为了分析大型语言模型的能力,本文会将它们与微调模型(fine-tuned model)进行比较。对于 LLM 和微调模型的定义,目前而言我们还没有一个得到广泛认可的标准。为了实际有效地区分,本文给出的定义如下:LLM 是指在大规模数据集上预训练得到的大型语言模型并且没有针对具体任务调整数据;微调模型则通常更小一些,它们在经过预训练后还会在更小的具体任务数据集上做进一步微调,以优化它们在该任务上的表现。
本文总结了在以下方面使用 LLM 的实用指南:
- 自然语言理解。当实际数据不在训练数据的分布范围内或训练数据非常少时,可利用 LLM 那出色的泛化能力。
- 自然语言生成。使用 LLM 的能力为各种应用创造连贯的、上下文相关的和高质量的文本。
- 知识密集型任务。利用 LLM 中存储的广博知识来处理需要特定专业知识或一般性世界知识的任务。
- 推理能力。理解和利用 LLM 的推理能力来提升各种情形中制定决策和解决问题的能力。
2 模型方面的实用指南
图 1:这幅现代 LLM 的进化树追溯了近些年语言模型的发展历程,其中重点凸显了某些最知名的模型。同一分支上的模型关系更近。基于 Transformer 的模型都不用灰色表示:仅解码器模型是蓝色分支,仅编码器模型是粉色分支,编码器 - 解码器模型是绿色分支。模型在时间轴的竖直位置表示其发布时间。实心方块表示开源模型,空心方块则是闭源模型。右下角的堆积条形图是指各家公司和机构的模型数量。
这一节会简要介绍当前表现最佳的 LLM。这些模型有着各不相同的训练策略、模型架构和用例。为了更清晰地理解 LLM 的整体图景,我们可将其分为两大类:编码器 - 解码器或仅编码器(encoder-only)语言模型和仅解码器(decoder-only)语言模型。图 1 详细展示了语言模型的演化过程。基于这幅进化树,我们可以观察到一些有趣的结论:
a)仅解码器模型正逐渐成为 LLM 发展的主导模型。在 LLM 的早期发展阶段,仅解码器模型的流行程度赶不上仅编码器和编码器 - 解码器模型。但在 2021 年之后,GPT-3 的出现改变了行业图景,仅解码器模型经历了爆发式的发展。与此同时,BERT 也为仅编码器模型带来了初始的爆发式增长,但在那之后,仅编码器模型却渐渐淡出了视野。
b)OpenAI 持续保持着其在 LLM 方向上的领先地位,现在如此,未来很可能也是如此。为了开发可与 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 的特点。
表 1:大型语言模型的特点