当前位置: 首页 > article >正文

Scaling Laws for Neural Language Models

Scaling Laws for Neural Language Models

摘要:

调查大模型与模型结构,模型大小,算力,数据之间的关系。这种关系可以被更严格地定义成 Scaling Law,这是一个可以描述 LLM 的测试损失随某个量(如训练计算量)的增长而降低的公式。Scaling Law 可帮助我们预测当投入更多资源进行更大规模训练时的效果,这能给我们提供继续投资 scaling 的必要信心。如何合理的分配资源来达到更好的训练效果。

问题:
模型的形状(即层的数量和大小)重要吗?
使模型更大是否有助于其表现更好?
训练这些更大的模型需要多少数据匹配?
可以提前预测loss early stop吗?

结论:

  • 模型性能主要与模型参数量N,数据集大小D,算力C相关,与模型参数(例如深度or宽度)无关。
  • 当不受另外两个参数限制时,模型性能与N,D,C成幂律的关系。单独改变一个参数,性能变化是平缓的。
  • 性能变化是可预测的,只要同时放大N与D的规模,如果N与D保持不变,另外一个增加,则会进入收益递减的状态。性能损失可预见的取决于该比例: N 0.74 / D N^{0.74}/D N0.74/D, 如果增加模型大小8倍,需要同时增加数据大小5倍来避免惩罚(避免过拟合)。
  • 训练曲线遵循可预测的幂律,其参数大致与模型大小无关,通过外推早期预测曲线,后期loss是大致可预测的。
  • sample-efficient :大模型比小模型更加sample-efficient,使用更少的train step和数据可以达到相关的效果。

也就是说模型的测试损失和模型参数量之间存在可测量的关系。其中一个量的变化将导致另一个量发生相对的、无关尺度的变化。换句话说,我们可基于这种关系了解到:增加模型参数量(假设已满足其他条件,比如训练数据充足)将导致测试损失降低某个可预测的程度。

  • 当拥有更多计算资源时,应该如何分配:
    在这里插入图片描述

Test loss预测

在其他条件固定且充足的条件下,test loss是可预测的:
在这里插入图片描述

在这里插入图片描述
LLM 的性能(就其在 WebText2 上的测试损失而言)会随着参数、数据和计算量的增加而稳步提高。这些趋势在计算量方面跨越了八个数量级,在模型大小方面跨越了六个数量级,在数据集大小方面跨越了两个数量级(横坐标)。上图提供了确切的幂律关系和拟合每个幂律关系的方程。

随着我们扩大参数 N N N, D D D, C m i n C_{min} Cmin,模型性能改变的程度成 α N \alpha_{N} αN α D \alpha_{D} αD, α C m i n \alpha_{Cmin} αCmin幂律变化。例如,将N增大2倍,那么loss缩小 2 − α N 2^{-\alpha_N} 2αN=0.95倍。而模型的性能与model shape,tansformer超参数是弱相关的。

更大的模型具有更高的sample efficent

较大的 LLM 往往具有更高的样本效率,达到相同的测试效果相比小模型需要更少的数据。因此,对 LLM 进行预训练以使其收敛(可以说)不是最优的。相反,我们可以在较少的数据上训练更大的模型,在收敛之前停止训练过程。这种方法在训练计算使用量方面是最优的,但它没有考虑到推理成本。实际上通常会在更多数据上训练较小的模型,因为较小的模型推理成本较低。

在这里插入图片描述
将等式1.1和1.2结合,可以得到单个等式(N与D,N与S)来预测loss走势,指导过拟合的程度(loss曲线平缓了就可以early stop 见图4):
在这里插入图片描述

在这里插入图片描述

S:number of train steps:
在这里插入图片描述
当使用固定的 compute budget C C C, 可以预测最优的 N N N, B B B, S S S, D D D:
在这里插入图片描述
可以得到:
在这里插入图片描述
所以当计算资源增加,应该主要增加模型参数 N N N,而不是训练时间和数据集。也说明了当模型变大时,会变得更加sample efficient。最优的实验结果依赖于总共的计算(等式1.3)

性能与模型参数之间的关系:

  1. 性能与模型shape 参数有较微弱的关系:
    在这里插入图片描述
  2. 性能与模型参数之间的关系:
  • 包含embedding参数:相同的参数下,效果与层数相关性巨大。
  • 不包含embedding参数:相同的参数下,效果呈相同的趋势(与模型shape相关参数关系微弱)。
    在这里插入图片描述
  1. 与LSTM比较:
  • 比较LSTM和Transformer的性能与non-embedding参数计数N的关系。LSTM使用相同的数据集和上下文长度进行训练。从这些图中我们可以看出,LSTM在上下文早期出现的令牌中的性能与Transformer一样好,但无法与后期的Transformer性能相匹配。性能和上下文位置之间的幂律关系:其中较大模型的幂函数越来越大,表明快速识别模式的能力得到了提高。在这里插入图片描述
  1. 训练时总共的non-embedding参数为: C = 6 N B S C=6NBS C=6NBS, 6是前向和反向传播的加和统计。所以对于给定C值,我们可以扫描不同的N值来找到最佳的性能。

Charting the Infinite Data Limit and Overfitting

  • 我们将实证证明,经过最佳训练的测试损耗符合方程式(1.5)定律。这为我们提供了指导,告诉我们需要多少数据来训练越来越大的模型,同时控制过度拟合。
    -在这里插入图片描述- 该公式的3个原则
  1. 词汇量或标记化的变化预计将按总体因素重新调整损失。L(N,D)(以及所有损失模型)的参数化必须自然地允许这种重新缩放。
  2. 固定D,放大N到无穷,整体loss接近 O ( D ) O(D) O(D)。同理,固定N,放大D到无穷,整体loss接近 O ( N ) O(N) O(N)

Results for L ( N , S m i n ) L(N,S_{min}) L(N,Smin) and Performance with Model Size and Compute

不同预算值都有最佳的模型大小;
在这里插入图片描述

实际意义

大规模预训练非常好,但这一事实却带来了一些困境。为了得到最好的模型,需要大量数据进行大规模模型训练。然而,这些训练成本很高,这意味着它们也会带来很大的风险。如果我们花费了 1000 万美元,结果训练了一个不符合我们期望的模型,这可如何是好?考虑到预训练的费用,我们无法执行任何特定于模型的调整,我们必须确保我们训练的模型表现良好。我们需要制定一个策略来调整这些模型并预测它们的性能,同时无需花费太多钱。

参考:

  • 2020- Scaling Laws for Neural Language Models
  • 万字长文解读Scaling Law的一切,洞见LLM的未来: https://baijiahao.baidu.com/s?id=1822931723327422180&wfr=spider&for=pc

http://www.kler.cn/a/576854.html

相关文章:

  • DIY Tomcat:手写一个简易Servlet容器
  • HTTPS安全通信协议原理
  • 什么是 Java 的 Timer?
  • opentitan riscv
  • 关于父组件向子组件传值的形式(类型一)
  • 【商城实战(13)】购物车价格与数量的奥秘
  • 【leetcode hot 100 142】环形链表Ⅱ
  • webflux响应式编程
  • Windows、macOS和Linux系统的统计文件夹下的文件数量的方法
  • 笔记:代码随想录算法训练营day38: LeetCode322. 零钱兑换、279.完全平方数、139.单词拆分;多重背包
  • 数学建模:MATLAB强化学习
  • MacBook上API调⽤⼯具推荐
  • 线性代数笔记28--奇异值分解(SVD)
  • 【从零开始学习计算机科学】数字逻辑(五) Verilog HDL语言
  • Lab17_ Blind SQL injection with out-of-band data exfiltration
  • MTK Android12 桌面上显示文件管理器图标
  • 深入剖析 ConcurrentHashMap:高并发场景下的高效哈希表
  • 查看k8s集群的资源使用情况
  • Azure云生态系统详解:核心服务、混合架构与云原生概念
  • 一文了解基于AUTOSAR的ECU传感器信号处理全流程