千亿、万亿参数的超大模型需要有人研究,十亿、百亿参数的大模型同样需要。
刚刚,Meta 首席 AI 科学家 Yann LeCun 宣布,他们「开源」了一个新的大模型系列 ——LLaMA(Large Language Model Meta AI),参数量从 70 亿到 650 亿不等。这些模型的性能非常优异:具有 130 亿参数的 LLaMA 模型「在大多数基准上」可以胜过 GPT-3( 参数量达 1750 亿),而且可以在单块 V100 GPU 上运行;而最大的 650 亿参数的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。
众所周知,参数是机器学习模型用来根据输入数据进行预测或分类的变量。语言模型中的参数数量是影响其性能的关键因素,较大的模型通常能够处理更复杂的任务并产生更连贯的输出,这被 Richard Sutton 称为「苦涩的教训」。在过去的几年里,各大科技巨头围绕千亿、万亿参数量的大模型展开了军备竞赛,大大提高了 AI 模型的性能。
但是,这种比拼「钞能力」的研究竞赛对于不在科技巨头工作的普通研究者来说并不友好,阻碍了他们对于大模型运行原理、潜在问题解决方案等问题的研究。而且,在实际应用中,更多的参数会占用更多的空间,并且需要更多的计算资源来运行,导致大模型应用成本居高不下。因此,如果一个模型可以用更少的参数获得与另一个模型相同的结果,则表示效率显著提高。这对于普通研究者来说非常友好,模型在现实环境中部署也会更容易。这便是 Meta 这项研究的意义所在。
「我现在认为,在一两年内,我们将在自己的(顶级)手机和笔记本电脑上运行具有 ChatGPT 相当一部分能力的语言模型,」独立人工智能研究员 Simon Willison 在分析 Meta 新 AI 模型的影响时写道。
为了训练该模型,同时满足开源和可复现等要求,Meta 只用了公开可用的数据集,这点不同于大多数依赖于非公开数据的大模型。那些模型往往是不开源的,属于大型科技巨头私有资产。为了提高模型性能,Meta 在更多的 token 上进行了训练:在 1.4 万亿 token 上训练了 LLaMA 65B 和 LLaMA 33B,最小的 LLaMA 7B 也用到了 1 万亿 token。
在推特上,LeCun 还展示了 LLaMA 模型续写文本的一些结果。模型被要求续写:「你知道 Yann LeCun 去年发行了一张说唱专辑吗?我们听了一下,我们的想法是这样的:____ 」
不过,在能否商用方面,Meta 博客和 LeCun 推特表述的差异引发了一些争议。
Meta 在博客中表示,为了保持完整性和防止滥用,他们将在非商业许可下发布他们的模型,重点是研究用例。该模型的访问权将被逐一授予学术研究人员,那些隶属于政府、民间团体和学术界的组织,以及全世界的工业研究实验室。感兴趣的人可以在以下链接中申请:
https://docs.google.com/forms/d/e/1FAIpQLSfqNECQnMkycAp2jP4Z9TFX0cGR4uf7b_fBxjY_OjhJILlKGA/viewform
而 LeCun 则表示,Meta 致力于开放研究,在 GPL v3 许可下向研究界发布所有模型(GPL v3 允许商用)。
这一表述是颇具争议的,因为他没有说清楚这里的「模型」指的是代码还是权重,或者二者均有。在不少研究者看来,模型权重比代码重要得多。
对此,LeCun 解释说,在 GPL v3 许可下开放的是模型代码。
有人认为,这种程度的开放还算不上真正的「AI 民主化」。
目前,Meta 已经把论文上传了 arXiv,GitHub 库中也已经上传了一些内容,大家可以前去浏览。
- 论文链接:https://research.facebook.com/publications/llama-open-and-efficient-foundation-language-models/
- GitHub 链接:https://github.com/facebookresearch/llama
研究概览
在大规模的文本语料库中训练的大型语言模型(LLMs)已经显示出它们有能力从文本 prompt 或少数样本中执行新的任务。在将模型扩展到足够大的规模时,这些少样本特性首次出现,从而催生了专注于进一步扩展这些模型的工作系列。
这些努力都是基于一个假设:更多的参数会带来更好的性能。然而,Hoffmann et al. (2022) 最近的工作表明,在给定的计算预算下,最好的性能不是由最大的模型实现的,而是由在更多的数据上训练的小模型实现的。
Hoffmann et al. (2022) 提出的 scaling laws 的目标是确定在特定的训练计算预算下,如何最好地缩放数据集和模型大小。然而,这个目标忽略了推理预算,而推理预算在大规模服务语言模型时变得至关重要。在这种情况下,可以给定一个目标性能水平,首选的模型不是训练速度最快的,而是推理速度最快的。尽管训练一个大的模型以达到一定的性能水平可能更便宜,但一个训练时间较长的小模型最终在推理方面会更便宜。例如,尽管 Hoffmann et al. (2022) 建议在 200B 的 tokens 上训练一个 10B 的模型,但研究者发现 7B 的模型的性能甚至在 1T 的 tokens 之后还能继续提高。
这项工作的重点是训练一系列语言模型,通过在比通常使用的更多的 token 上进行训练,在各种推理预算下达到最佳性能。由此产生的模型被称为 LLaMA,其参数范围从 7B 到 65B,与现有的最佳 LLM 相比,这一模型的性能具有竞争力。例如,尽管 LLaMA-13B 比 GPT-3 小 10 倍,但在大多数基准测试中都优于 GPT-3。
研究者表示,这个模型将有助于 LLM 的民主化研究,因为它可以在单个 GPU 上运行。在更高的规模上,LLaMA-65B 参数模型也能与最好的大型语言模型(如 Chinchilla 或 PaLM-540B)相媲美。
与 Chinchilla、PaLM 或 GPT-3 不同,该模型只使用公开可用的数据,使得这项工作与开源兼容,而大多数现有模型依赖的数据要么不公开可用、要么没有记录(例如 Books-2TB 或社交媒体对话)。当然也存在一些例外,特别是 OPT (Zhang et al., 2022), GPT-NeoX (Black et al., 2022), BLOOM (Scao et al., 2022) 和 GLM (Zeng et al., 2022), 但没有一个能与 PaLM-62B 或 Chinchilla 竞争。
本文的其余部分概述了研究者对 transformer 架构的修改以及训练方法。然后介绍了模型性能,并在一组标准基准上与其他大型语言模型进行了比较。最后,研究者使用了负责任的人工智能社区的一些最新基准,展示了模型中的偏见和毒性。
方法概述
研究者使用的训练方法与 (Brown et al., 2020)、(Chowdhery et al., 2022) 等此前工作中描述的方法相似,并受到 Chinchilla scaling laws (Hoffmann et al., 2022) 的启发。研究者使用了一个标准的优化器在大量的文本数据上训练大型 transformer。
预训练数据
如表 1 所示,这项研究的训练数据集是几个来源的混合物,涵盖了不同的领域。在大多数情况下,研究者重新使用了已经被用来训练其他大型语言模型的数据源,但此处的限制是只能使用公开可用的数据,并与开放资源兼容。数据的混合情况以及它们在训练集中所占的百分比如下:
- 英语 CommonCrawl [67%];
- C4 [15%];
- Github [4.5%];
- 维基百科 [4.5%];
- Gutenberg 和 Books3 [4.5%];
- ArXiv [2.5%] ;
- Stack Exchange [2%]。
整个训练数据集在 token 化之后大约包含 1.4T 的 token。对于大多数训练数据,每个 token 在训练期间只使用一次,但维基百科和 Books 域除外,我们在这两个域上执行大约两个 epoch。
架构
基于最近关于大型语言模型的工作,这项研究同样使用了 transformer 架构。研究者借鉴了随后提出并在不同的模型中使用的各种改进,比如 PaLM。在论文中,研究者介绍了其与原始架构的主要区别:
- 预归一化 [GPT3]。为了提高训练的稳定性,研究者对每个 transformer 子层的输入进行归一化,而不是对输出进行归一化。他们使用了 Zhang and Sennrich (2019) 提出的 RMSNorm 归一化函数。
- SwiGLU 激活函数 [PaLM]。研究者用了 Shazeer (2020) 提出的 SwiGLU 激活函数取代了 ReLU 非线性以提高性能。他们分别使用 2D、3D、4D 的维度,而不是 PaLM 中的 4D。
- 旋转嵌入 [GPTNeo]。研究者删除了绝对位置嵌入,在网络的每一层增加了 Su et al. (2021) 提出的旋转位置嵌入(RoPE)。不同模型的超参数细节可见表 2。
实验结果
常识性推理
在表 3 中,研究者与现有的各种规模的模型进行比较,并报告了相应论文中的数字。首先,LLaMA-65B 在所有报告的基准上都超过了 Chinchilla-70B,除了 BoolQ。同样,除了在 BoolQ 和 WinoGrande 上,这个模型在任何方面都超过了 PaLM540B。LLaMA-13B 模型在大多数基准上也超过了 GPT-3,尽管其体积小了 10 倍。
闭卷答题
表 4 展示了 NaturalQuestions 的性能,表 5 展示了 TriviaQA 的性能。在这两项基准测试中,LLaMA-65B 在零样本和少样本设置中都达到了最先进的性能。更重要的是,尽管 LLaMA-13B 是 GPT-3 和 Chinchilla 的五分之一到十分之一,但在这些基准测试中也同样备竞争力。该模型的推理过程是在单个 V100 GPU 上运行的。
阅读理解
研究者还在 RACE 阅读理解基准 (Lai et al., 2017) 上评估了模型。此处遵循 Brown et al. (2020) 的评估设置,表 6 展示了评估结果。在这些基准上,LLaMA-65B 与 PaLM-540B 具有竞争力,而且,LLaMA-13B 比 GPT-3 还高出几个百分点。
数学推理
在表 7 中,研究者将其与 PaLM 和 Minerva (Lewkowycz et al., 2022) 进行了对比。在 GSM8k 上,他们观察到 LLaMA65B 优于 Minerva-62B,尽管它没有在数学数据上进行过微调。
代码生成
如表 8 所示,对于类似的参数数量,LLaMA 的表现是优于其他一般模型的,如 LaMDA 和 PaLM,这些模型没有经过专门的代码训练或微调。在 HumanEval 和 MBPP 上,13B 以上参数的 LLaMA 超过了 LaMDA 137B。LLaMA 65B 也优于 PaLM 62B,即使它的训练时间更长。
大规模多任务语言理解
研究者使用基准所提供的例子,在 5-shot 的情况下评估模型,并在表 9 中展示了结果。在这个基准上,他们观察到 LLaMA-65B 在大多数领域都落后于 Chinchilla70B 和 PaLM-540B 平均几个百分点。一个潜在的解释是,研究者在预训练数据中使用了数量有限的书籍和学术论文,即 ArXiv、Gutenberg 和 Books3,总和只有 177GB,而这些模型是在高达 2TB 的书籍上训练的。Gopher、Chinchilla 和 PaLM 所使用的大量书籍也可以解释为什么 Gopher 在这个基准上的表现优于 GPT-3,而在其他基准上却不相上下。
训练期间的性能变化
在训练期间,研究者跟踪了 LLaMA 模型在一些问题回答和常识性基准上的表现,结果如图 2 所示。在大多数基准上,性能稳步提高,并与模型的训练困惑度呈正相关(见图 1)。