语言模型的缩放定律

张开发
2026/4/6 0:57:40 15 分钟阅读

分享文章

语言模型的缩放定律
原文towardsdatascience.com/scaling-law-of-language-models-5759de7f830c…/Images/4233ccd60e0f318a8415180079f742b1.pngLLMs 的缩放定律行为——图片来自[1]人工智能的世界正在见证一场革命而其前沿正是那些似乎每天都在变得更加强大的大型语言模型。从 BERT 到 GPT-3 再到 PaLM这些 AI 巨头正在推动自然语言处理可能性的边界。但你有没有想过是什么推动了它们在能力上的飞速增长在本文中我们将踏上探索语言模型缩放核心的奇妙之旅。我们将揭示使这些模型运转的秘密配方——三种关键成分的强大混合模型大小、训练数据和计算能力。通过理解这些因素如何相互作用和缩放我们将获得对 AI 语言模型过去、现在和未来的宝贵见解。那么让我们深入其中揭开推动语言模型性能和能力达到新高度的缩放定律。目录本文包括以下部分简介近期语言模型发展的概述语言模型缩放的关键因素2. 幂律分布快速回顾理解幂律关系可视化幂律3. 语言模型中的缩放定律行为模型大小与性能数据集大小与性能计算资源与性能4. 缩放因素之间的相互作用“6 FLOPs”规则5. Chinchilla 论文一个转折点关键发现和影响Chinchilla 预测公式6. 结束语理解缩放定律的重要性7. 参考文献简介如你所知过去几年语言模型的发展经历了快速缩放。正如我们在下面的图片中看到的语言模型从 2018 年 BERT-base 的 10⁹ 个参数增长到 2022 年 PaLM 的 540B 个参数。每个模型不仅在大小即参数数量上增加而且在训练标记数量和训练计算以浮点运算或 FLOPs 计上也增加了。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4dcb652ec9541746048ff2e0600a51d8.png图片由作者提供一个自然的问题就是“这三个因素之间有什么关系”模型大小和训练数据是否对模型性能即测试损失的贡献是相等的即测试损失哪一个更重要如果我想将测试损失降低 10%我应该增加模型大小还是训练数据增加多少这些问题的答案在于 LLMs 的缩放定律行为。但在我们深入答案之前让我们回顾一下幂律分布。幂律分布快速回顾幂律是两个数量x和y之间的非线性关系可以通用地表示为https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/950f1e3bb5107cd4676cab216cd26fa4.png方程 1幂律 – 图像由作者提供其中*k和a*是常数。注意如果我在对数-对数图中绘制幂律关系它将是一条线因为https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/809aed4cfb5a041c9613d66d50d401f3.png方程 2对数-对数空间中幂律的线性关系 – 图像由作者提供让我们绘制两个不同k值的幂律以观察其不同的行为。如果k是正数则y和x之间存在增加的关系。然而如果k是负数则它们之间存在减少的关系。以下是一个简单的代码来绘制幂律曲线。importnumpyasnpimportmatplotlib.pyplotaspltdefplot_power_law(k,x_range(0.1,100),num_points10000): Plot the power law function y x^k for any non-zero k. Parameters: k (float): The exponent for the power law (can be positive or negative, but not zero). x_range (tuple): The range of x values to plot (default is 0.1 to 10). num_points (int): Number of points to calculate for a smooth curve. ifk0:raiseValueError(k cannot be zero)# Generate x valuesxnp.linspace(x_range[0],x_range[1],num_points)# Calculate y valuesyx**k# Create the plotplt.figure(figsize(10,6))plt.plot(x,y,b-,labelfy x^{k})plt.title(fPower Law: y x^{k})plt.xlabel(x)plt.ylabel(y)plt.grid(True)plt.legend()plt.show()让我们按照以下方式绘制正k的图plot_power_law(2)# This will plot y x²https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f3efe51db62c0adbb13ad2e4eeeca315.png正指数幂的幂律 – 图像由作者提供如果我们选择负指数关系将是减少的plot_power_law(-0.5)# This will plot y x^(-0.5)https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/77da01a23441c87858de62730c0b7f1a.png负指数幂的幂律 – 图像由作者提供注意上面的图在 x 轴和 y 轴上都是线性刻度。如果我们以对数刻度绘制它们它们将是一条线如方程 2 所示。现在让我们将这些内容结合起来展示幂律如何与语言模型的测试损失相关。语言模型中的缩放定律行为语言模型中的缩放定律行为指的是观察到的模型性能与各种因素如模型大小、数据集大小和计算资源之间的关系。随着模型规模的扩大这些关系遵循可预测的模式。缩放定律行为中的关键因素如下模型大小随着模型中参数数量的增加性能往往会按照幂律提高。数据集大小较大的训练数据集通常会导致更好的性能也遵循幂律关系。计算资源用于训练的计算资源flops的数量与性能的提高相关。下面的三个图显示了语言模型中的缩放定律。…/Images/2525e8655eaca7e1c9195e4fca5d2d33.png语言模型中的缩放定律行为 – 图像来自[2]中的论文所有三个图都是在对数-对数空间中并且是线性的这证明了测试损失与计算资源、数据集大小和模型参数的每个方面都遵循幂律关系。此外这些图还显示随着我们增加模型大小、数据集大小和用于训练的计算量语言模型的性能会提高。到目前为止我们已经看到了这三个因素与测试损失之间的个体关系。现在有几个问题这三个因素之间有什么关系这些因素是如何贡献于测试损失的它们是否贡献相等或者其中一个比另一个更重要缩放因子的相互作用简而言之对于模型中的每一个参数和每一个训练示例大约需要 6 次浮点运算。因此这三个因素之间的关系如下https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4c64ac19b84a0ffaab35b885313995f3.png作者图片每个参数和每个训练示例大约需要 6 次浮点运算的原因如下考虑训练过程中的参数w在前向传播过程中需要恰好 2 次浮点运算来将w与输入节点相乘并将其加到语言模型计算图中的输出节点上。1 次浮点运算用于乘法1 次浮点运算用于加法计算损失相对于w的梯度需要恰好 2 次浮点运算。更新参数w需要恰好 2 次浮点运算来计算损失相对于w的梯度。如果您想了解更多关于这个问题的详细解释请参阅这篇帖子。如果我们知道语言模型的大小和使用的训练数据量我们可以用α ≈ 6 来估计训练语言模型的计算需求。接下来让我们回答模型大小和训练数据这两个因素是如何贡献于模型性能的问题Chinchilla 论文一场变革Chinchilla [1] 是 2022 年由 DeepMind 发表的一篇论文。作者发现由于在保持训练数据不变的同时关注模型大小的缩放当前的大型语言模型存在欠训练的问题实际上作者在 5 到 500 亿个标记上训练了从 7000 万个到超过 160 亿个参数的 400 多个语言模型并得出结论为了计算最优训练模型大小和训练标记的数量应该同等比例缩放。他们提出了以下经验预测公式该公式将模型大小和训练数据与模型性能联系起来。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/f7b835801300b2febeadc382c3c5db3b.pngChinchilla 方程 – 作者图片N是参数数量即模型大小D是训练标记。符号L(N,D)表示具有N个参数且在D个标记上训练的模型性能或测试损失。E是一个常数代表不可减少的损失即模型在完美训练下可以达到的最小损失。它反映了模型训练任务固有的难度和数据中的噪声。常数 A 和 B 以及指数α和β是通过实验和拟合数据来确定的。具体来说他们发现α≈0.50 和β≈0.50。这加强了论文的主要发现即对于模型大小的每倍增加训练标记的数量也应加倍以实现计算最优训练[1]。结束语语言模型的缩放定律为这些强大人工智能系统的发展和优化提供了关键见解。正如我们所探讨的模型大小、训练数据和计算资源之间的关系遵循可预测的幂律模式。这些定律对人工智能研究人员和工程师具有重要意义平衡缩放Chinchilla 的研究结果强调了在最佳性能下同等程度地缩放模型大小和训练数据的重要性。这挑战了之前仅关注增加模型大小的做法。资源分配理解这些关系允许更有效地分配计算资源可能带来更经济高效和环保的人工智能发展。性能预测这些定律使研究人员能够根据可用资源对模型性能做出有根据的预测有助于设定现实的目标和期望。随着人工智能领域的快速演变牢记这些缩放定律对于在模型开发、资源分配和研究方向上做出明智决策至关重要。通过理解和利用这些关系我们可以朝着创建更高效、更强大和更有责任心的语言模型迈进。参考文献训练计算最优的大型语言模型神经语言模型的缩放定律

更多文章