语言模型参数越多越好?DeepMind用700亿打败自家2800亿,训练优化出「小」模型

简介: 语言模型参数越多越好?DeepMind用700亿打败自家2800亿,训练优化出「小」模型
给定固定的 FLOPs 预算,应该如何权衡模型大小和训练 token 的数量? DeepMind 得出了与先前不同的结论。


最近一系列大型语言模型 (LLM) 正在崛起,其中最大的语言模型已经拥有超过 5000 亿个参数。这些大型自回归 transformer 通过使用各种评估协议(例如零样本、少样本和微调),在许多任务中表现出令人印象深刻的性能。

然而训练大型语言模型需要消耗巨大的计算和能源,并且这种消耗随着模型的增加而增加。在实践中,研究者事先分配的训练计算预算通常是预先知道的:有多少加速器可用以及我们想要使用它们多长时间。通常这些大模型只训练一次是可接受的,因此准确估计给定计算预算的最佳模型超参数至关重要。

Kaplan 等人研究 (2020) 表明,自回归语言模型 (LM) 中的参数数量与其性能之间存在幂律关系。结果是该领域一直在训练越来越大的模型,期望性能得到改善。Kaplan 等人(2020) 得出的一个值得注意的结论是,不应该将大型模型训练到其可能的最低损失,以获得计算的最佳化。

来自 DeepMind 的研究者得出了相同的结论,但他们估计大型模型可以训练的 token 数应该比作者推荐的更多。具体来说,假设计算预算增加 10 倍,其他研究者建议模型的大小应该增加 5.5 倍,而训练 token 的数量应该只增加 1.8 倍。相反,DeepMind 发现模型大小和训练 token 的数量应该以相等的比例扩展。

论文地址:https://arxiv.org/pdf/2203.15556.pdf

继 Kaplan 等人和 GPT-3 的训练设置研究之后,近期大型模型的训练 token 大约为 3000 亿个(表 1),这与增加算力时,主要采用增加模型大小结论一致。

在这项工作中,DeepMind 重新审视了这个问题:给定固定的 FLOPs 预算,应该如何权衡模型大小和训练 token 的数量?为了回答这个问题,DeepMind 将最终的预训练损失 𝐿(𝑁, 𝐷) 建模为模型参数数量 𝑁 和训练 token 数量 𝐷 的函数。由于计算预算 𝐶 是所见训练 token 和模型参数数量的确定性函数 FLOPs(𝑁, 𝐷),因此可以在约束 FLOPs(𝑁, 𝐷) = 𝐶 下最小化𝐿:

DeepMind 根据 400 多个模型的损失估计了这些函数,参数范围从 70M 到 16B 以上,并在 5B 到 400B 多个 token 上进行训练——每个模型配置都针对几个不同的训练范围进行训练。结果表明 DeepMind 方法得出的结果与 Kaplan 等人的结果大不相同,如下图 1 所示:

基于 DeepMind 估计的计算最优边界,他们预测用于训练 Gopher 的计算预算,一个最优模型应该是模型大小比之前小 4 倍,而训练的 token 应该是之前的 4 倍多。

为了证明这一点,DeepMind 训练了一个更优计算的 70B 模型 Chinchilla,具有 1.4 万亿个 token。Chinchilla 不仅性能优于模型更大的 Gopher,而且其减小的模型尺寸大大降低了推理成本,并极大地促进了在较小硬件上的下游使用。大型语言模型的能源成本通过其用于推理和微调的用途来摊销。因此,经过更优化训练的较小模型的好处,超出了其性能改善的直接好处。

特斯拉人工智能和自动驾驶视觉总监 Andrej Karpathy 表示:Chinchilla 是一个新的语言模型(70B),它优于 Gopher (280B), GPT-3 (175B), Jurrasic-1 (178B), MT-NLG (530B) 大模型。这是关于语言模型(LM)新的扩展定律非常重要的论文。

估计最优参数 / 训练 tokens 分配

研究者提出三种不同的方法来解答推动本项研究的问题:给定固定的 FLOPs 预算,应该如何权衡模型大小和训练 tokens 的数量?在所有三种情况下,研究者首先训练了一系列参数和训练 tokens 都不同的模型,并使用得出的训练曲线来拟合模型扩展的经验估计器(empirical estimator)。

三种方法的预测结果类似,表明模型参数和训练 tokens 的数量应该随着计算量的增加而增加,比例如下表 2 所示。这与以前有关该主题的工作形成鲜明对比,值得进一步研究。

方法 1:固定模型大小,改变训练 tokens 数量

对于第一种方法,研究者改变了固定参数模型(从 70M 到 10B 参数)的训练步数,为每个模型训练了 4 个不同数量的训练序列。运行之后,他们能够直接提取给定训练 FLOPs 所达到的最小损失的估计值。训练曲线如下图 2 所示。

方法 2:IsoFLOP

在第二种方法中,研究者针对 9 种不同的训练 FLOP(从 6 × 10^18 到 3 × 10^21 FLOPs)改变模型大小,并考虑到了每个点的最终训练损失。与方法 1 整个训练运行中考虑点(𝑁, 𝐷, 𝐿)形成了对比,这使得直接回答以下问题:对于给定的 FLOP 预算,最优参数数量是多少?下图 3 为 IsoFLOP 曲线。

方法 3:拟合一个参数损失函数

最后,研究者将方法 1 和 2 中实验的所有最终损失建模为一个包含模型参数和可见 tokens 数量的参数函数。遵循经典的风险分解,他们提出了如下函数形式:

为了估计(𝐴, 𝐵, 𝐸, 𝛼, 𝛽),研究者使用 L-BFGS 算法来最小化预测和观察到对数损失(log loss)之间的 Huber 损失。

他们通过从初始化网格中选择最佳拟合来考虑可能的局部最小值。Huber 损失(𝛿 = 10^−3)对异常值具有鲁棒性,这点对于留出数据点实现良好预测性能非常重要。

此外,研究者在下图 4(左)中展示了拟合函数的等值线,并以蓝色代表闭合形式(closed-form)的高效计算边界。

最优模型扩展

研究者发现,以上三种方法尽管使用了不同的拟合方案和不同的训练模型,但对有关 FLOPs 的参数和 tokens 的最优扩展产生了可比较的预测。它们都表明了,随着计算预算的增加,模型大小和训练数据量应该以大致相同的比例增加。其中,第一种和第二种方法对最优模型大小的预测非常相似,第三种方法在更多计算预算下能够最优地预测更小模型。

在下表 3 中,研究者展示了 FLOPs 和 tokens 的估计量,以确保给定大小的模型位于计算最优边界上。结果表明,考虑到各自的计算预算,当前一代的大规模语言模型「过于大了」。

新模型 Chinchilla

根据上文的分析,Gopher 模型的最优模型大小介于 40B 到 70B 参数之间。出于数据集和计算效率的考虑,研究者训练了一个 70B 参数、1.4T tokens 的模型,称之为 Chinchilla,并与 Gopher 和其他大规模语言模型进行了比较。注意,Chinchilla 和 Gopher 的训练 FLOPs 相同,但模型大小和训练 tokens 不同。

由于 Chinchilla 的参数量为 Gopher 的 1/4,因而它的内存占用和推理成本更小。

模型参数

Chinchilla 的训练超参数及其与 Gopher 的比较如下表 4 所示。两者使用了相同的模型架构和训练设置,但在 head 数量、批大小等方面有所不同。

实验结果

研究者对 Chinchilla 进行了广泛的评估,与各种大规模语言模型在 Rae et al. (2021)提出的很多任务上展开了比较。这些任务包括语言建模(LM)、阅读理解、问答、常识、MMLU 和 BIG-bench,具体如下表 5 所示。

语言建模任务。如下图 5 所示,Chinchilla 在 The Pile 的所有评估子集上均显著优于 Gopher。

多任务语言理解(MMLU)任务。大规模 MMLU 基准测试包含一系列与学科类似的考试问题。在下表 6 中,研究者展示了 Chinchilla 在 MMLU 上的平均 5-shot 性能。可以看到,尽管规模小得多,但 Chinchilla 明显优于 Gopher,平均准确率为 67.6%,比 Gopher 提高了 7.6%。并且,Chinchilla 的准确率甚至超过了 2023 年 6 月专家预测的 63.4% 。

在图 6 中,DeepMind 展示了按任务细分结果与 Gopher 的比较。总的来说,研究发现 Chinchilla 提高了绝大多数任务的性能。在四个任务(college_mathematics、econometrics、moral_scenarios 和 formal_logic)上,Chinchilla 的表现不如 Gopher,并且在两个任务上的表现没有变化。

阅读理解。在单词预测数据集 LAMBADA 上,Chinchilla 达到了 77.4% 的准确率,而 Gopher 和 MT-NLG 530B 的准确率分别为 74.5% 和 76.6%(见表 7)。在 RACE-h 和 RACE-m 上,Chinchilla 的性能大大优于 Gopher,两种情况下的准确率都提高了 10% 以上。

BIG-bench。DeepMind 在 BIG-bench 任务上评估了 Chinchilla,与 MMLU 中观察到的情况类似,Chinchilla 在多项任务上优于 Gopher。

其他更多实验结果详见论文。

相关文章
|
5月前
|
数据采集 机器学习/深度学习 人工智能
AI 十大论文精讲(二):GPT-3 论文全景解析——大模型 + 提示词如何解锁 “举一反三” 能力?
摘要 2020年发表的《Language Models are Few-Shot Learners》(GPT-3论文)开创了AI新时代。该论文突破性地证明:当Transformer模型参数规模扩大到1750亿时,仅通过文本交互即可实现任务无关的少样本学习。GPT-3采用"预训练+提示词"的新范式,无需微调就能在翻译、问答等40+任务上展现强大性能。论文系统验证了模型在语言建模、闭卷问答等9类任务中的表现,其中在LAMBADA长文本任务上准确率达86.4%,较此前最优提升18.4%。这一研
965 152
|
机器学习/深度学习 人工智能 自然语言处理
大语言模型的Scaling Law:如何随着模型大小、训练数据和计算资源的增加而扩展
在这篇文章中,我们将介绍使这些模型运作的秘密武器——一个由三个关键部分组成的法则:模型大小、训练数据和计算能力。通过理解这些因素如何相互作用和规模化,我们将获得关于人工智能语言模型过去、现在和未来的宝贵见解。
2031 7
大语言模型的Scaling Law:如何随着模型大小、训练数据和计算资源的增加而扩展
|
11月前
|
人工智能 运维 Serverless
一键部署 Qwen3! 0 代码,2 种方式全新体验
Qwen3 正式发布并开源 8 款混合推理模型,包括两款 MoE 模型(Qwen3-235B-A22B 和 Qwen3-30B-A3B)及六个 Dense 模型。这些模型支持 119 种语言,在代码、数学等测试中表现优异,并提供思考与非思考两种模式。依托阿里云函数计算 FC 算力,FunctionAI 平台支持模型服务和应用模板部署,适用于多种场景。用户可通过 Serverless 架构快速构建高弹性、智能化应用,显著降低开发成本,提升效率。试用链接及详细文档已提供,欢迎体验。
|
设计模式 人工智能 API
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
Claude 3.7 Max 是 Cursor 推出的最新 AI 模型,支持 200k 上下文窗口和 200 次工具调用,专为复杂代码任务设计,适合硬核开发者和大型项目。
1147 6
Cursor 上线最新 AI 模型 Claude 3.7 Max:200k上下文+200次工具调用!史上最强代码助手硬核上线
|
机器学习/深度学习 并行计算 PyTorch
PyTorch | 加速模型训练的妙招
PyTorch | 加速模型训练的妙招
|
存储 缓存 小程序
微信小程序数据缓存与本地存储:优化用户体验
本文深入探讨微信小程序的数据缓存与本地存储,介绍其意义、机制及应用场景。通过合理使用内存和本地缓存,可减少网络请求、提升加载速度和用户体验。文中详细讲解了常用缓存API的使用方法,并通过一个新闻列表案例展示了缓存的实际应用。最后提醒开发者注意缓存大小限制、时效性和清理,以确保最佳性能。
|
自然语言处理 搜索推荐 算法
gpt3模型训练数据量是多少?
【7月更文挑战第6天】gpt3模型训练数据量是多少?
3359 3
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
2600 0
|
数据中心 网络架构 Python
【计算巢】数据中心的网络架构设计原则
【5月更文挑战第31天】探讨数据中心网络架构设计原则:稳定性是基础,需抵御各种挑战;强调扩展性,适应业务发展;追求高效,确保数据传输速度;注重灵活性,灵活应对变化。简单Python代码示例展示网络节点连接。设计时需具备长远眼光,综合考虑技术方案,以构建坚固高效的信息桥梁。同学们,要持续学习和探索,为信息世界贡献力量!
376 2
|
网络协议 物联网

热门文章

最新文章

下一篇
开通oss服务