LLM 扩展的数学悖论: 指数级成功如何创造出幂律

在人工智能飞速发展的世界里,“扩展 (Scaling) ”是一个神奇的词汇。我们通常讨论的扩展是指训练阶段——增加模型的参数量或投入更多的数据。但最近,一个新的前沿领域开启了: 推理时计算扩展 (Inference-time compute scaling)

这个想法简单而深刻: 如果我们不把模型变大,而是让它“思考”得更久一点会怎样?或者更具体地说,如果我们让它对一个问题尝试多次会怎样?

最近的研究发现了一个迷人且有些神秘的现象。当你让大型语言模型 (LLM) 多次尝试一项任务 (这种技术通常被称为“Best-of-N”策略) 时,平均成功率会遵循一个非常具体的数学模式进而提升: 幂律 (Power Law)

但这里存在一个悖论。基本的概率论表明,对于任何单个问题,随着尝试次数的增加,成功的几率应该呈指数级提升,而不是幂律。指数增长比幂律增长快得多。那么,为什么这些“大语言猴子 (Large Language Monkeys) ”的总体表现会慢下来,呈现出幂律呢?

在这篇文章中,我们将深入探讨研究论文 “How Do Large Language Monkeys Get Their Power (Laws)?” (大语言猴子如何获得它们的幂律?) 。 我们将解开这个数学谜题,探索隐藏在你最喜爱的 LLM 内部的统计分布,并学习如何利用仅为通常所需一小部分的算力来预测模型性能。

1. 观察结果: 无处不在的幂律

首先,让我们建立背景。我们关注的是一种被称为重复采样 (repeated sampling) 的特定设置。

想象一下,你给 LLM 一个数学题。你让它生成一个解。它可能做错了。你再问一次。它可能又错了。你问了 100 次。如果这 100 次尝试中有任何一次是正确的,我们就认为这个问题被“解决”了。

研究人员 Brown 等人 (2024) 和 Hughes 等人 (2024) 在大规模数据集——数学解题 (MATH 基准测试) 和“越狱 (jailbreaking) ”尝试 (试图绕过安全过滤器) ——上进行了这项实验。他们将成功率定义为 pass@k: 即 \(k\) 次尝试中至少有一次成功的概率。

pass@k 的定义。

当他们将平均成功率的负对数与尝试次数 (\(k\)) 绘制在图表上时,他们在双对数坐标图 (log-log plot) 上发现了一个惊人的线性关系。在物理学和统计学中,双对数图上的直线是幂律的标志。

幂律方程。

这种关系在不同规模的模型 (从小型的 Pythia 模型到大规模的 GPT-4 级模型) 和不同领域 (数学和越狱安全) 中都成立。

图 1: 重复采样下语言模型的幂律扩展。顶部: Brown 等人 (2024) 发现解决数学问题的负对数平均通过率随尝试次数呈多项式 (即幂律) 缩放。底部: Hughes 等人 (2024) 发现针对多模态语言模型的越狱攻击成功率同样呈幂律缩放。应该预期这种幂律缩放吗?大语言猴子从何处获得它们的力量 (幂律) ?

如上图 1 所示,无论是解微积分还是寻找安全漏洞,错误率都随着 \(k\) 的增加而呈现可预测的下降。这种规律性很美,但对于数学家来说,这也令人深感不安。让我们找出原因。

2. 悖论: 为什么不是指数级?

要理解为什么幂律令人惊讶,我们必须看看在单个问题层面上发生了什么。

假设我们有一个特定的数学问题,问题 \(i\)。模型在单次尝试中答对这个特定问题的概率是固定的。我们称这个概率为 \(\text{pass}_i@1\)。

如果模型每次生成答案时都只是在掷骰子 (假设尝试是独立的) ,那么计算 \(k\) 次尝试后成功的数学公式就很直接了。\(k\) 次尝试后失败的唯一情况就是每一次都失败了。

方程显示 pass@k 等于 1 减去所有尝试都失败的概率。

如果一次尝试成功的概率是 \(p\),那么失败的概率就是 \((1-p)\)。连续失败 \(k\) 次的概率是 \((1-p)^k\)。

简化的指数方程。

这个公式,\((1-p)^k\),描述了失败率的指数衰减 。 指数衰减是非常快的。如果你有 50% 的成功机会 (\(p=0.5\)) ,仅仅 10 次尝试后,你失败的概率就是 \(0.5^{10} \approx 0.0009\) (不到 0.1%) 。

研究人员通过实证验证了这一点。他们观察了单个问题,并绘制了随着 \(k\) 增加的成功率。

图 3: 每个问题的性能随尝试次数 k 呈指数级扩展。

在图 3 中,彩色线条代表单个问题。注意它们是如何迅速向下弯曲的吗?这就是指数级缩放。

悖论:

  1. 个体上 , 每一个单独的问题都呈指数级 (快速) 缩放。
  2. 总体上 (在整个数据集上平均) ,性能呈幂律 (缓慢) 缩放。

将一堆快速的指数函数相加,怎么会导致一个缓慢的幂律函数呢?

3. 解答: 重尾 (The Heavy Tail)

答案在于难度的分布

并非所有问题都是生而平等的。有些很简单 (单次尝试成功率高,比如 \(p=0.9\)) 。有些很难 (\(p=0.1\)) 。还有一些几乎是不可能的 (\(p=0.00001\)) 。

要计算一个基准测试 (如 MATH 数据集) 的总体成功率,实际上是在平均该数据集中每个问题的 pass@k。在数学上,这是对单次尝试概率分布 \(\mathcal{D}\) 的期望。

总体通过率定义为分布上的期望。

这个积分是关键。我们在对指数函数 \((1-p)^k\) 进行求和,但我们是根据该概率 \(p\) 在数据集中出现的频率 \(p_{\mathcal{D}}(\text{pass}_i@1)\) 来进行加权的。

可视化机制

作者提供了一个精彩的示意图来可视化这一点。

图 2: 示意图: 重复采样推理计算扩展产生幂律的根源。

图 2 :

  • 左图: 我们观察到的总体幂律。
  • 中图: 单个问题呈指数级缩放。
  • 右图: 单次尝试概率的分布。

“魔法”发生在右侧面板 。 注意曲线在 x 轴左侧是如何向上飙升的?这表明有大量的成功概率极低 (接近 0) 的问题。

这些“困难”问题是瓶颈。简单的问题几乎瞬间就被解决了 (几次尝试内) 。中等难度的问题也能很快解决。但那些困难的问题——模型只有百万分之一机会答对的题目——需要大量的尝试才能攻克。

随着 \(k\) 的增加,我们“耗尽”了简单和中等的问题,只剩下了最难的那些。这些困难问题的主导地位使得总体的改进速度从指数级减缓为多项式级 (幂律) 。

分布的数学

研究人员测试了不同的理论分布,看看哪些会产生幂律。

  1. Delta 分布: 如果所有问题难度相同 (例如,每个问题都有 10% 的机会) ,总体结果将是指数级的。没有幂律。 Delta 分布方程。

  2. 均匀分布 (Uniform Distribution) : 如果难度分布均匀 (简单、中等和困难问题的数量相同) ,缩放比例变为 \(1/k\)。这是指数为 1 的幂律。 均匀分布缩放。

  3. Beta 和 Kumaraswamy 分布: 这些是常用于建模概率的灵活概率分布。如果分布在零附近看起来像 \(p^{\alpha-1}\) (困难问题的“重尾”) ,它会产生指数为 \(\alpha\) 的幂律。 Beta 分布缩放。

下表总结了这些发现。关键的结论是,分布的形状决定了缩放定律。

分布及其产生的缩放定律表。

定理: 幂律等价性

作者将这种直觉形式化为一个严格的定理。他们证明了,总体性能遵循幂律 \(k^{-b}\) 当且仅当单次尝试成功率的密度在零附近表现为 \(p^{b-1}\)。

定理说明密度函数与幂律之间的关系。

这意味着,如果我们知道问题难度的分布 (特别是困难问题的左尾) ,我们就可以精确预测随着算力增加模型将如何扩展。

4. 实证证据: 模型真的表现如此吗?

理论很好,但它符合现实吗?研究人员提取了 Pythia (在 MATH 上) 和前沿模型 (在越狱任务上) 的数据,并将分布拟合到它们的单次尝试成功率 (\(pass_i@1\)) 上。

图 4: 单次尝试成功率分布。

图 4中,看看直方图。x 轴是单次尝试成功概率 (对数刻度) 。

  • 顶部 (Pythia 在 MATH 上) : 注意左侧巨大的尖峰。对于这些小模型来说,大多数问题都非常难。这种重尾与观察到的幂律缩放完美对应。
  • 底部 (越狱) : 大多数模型显示出类似的曲线。

Llama 3 8B IT 的案例 图 4 中有一个有趣的离群点 (右下角,粉色曲线) : Llama 3 8B IT 。 注意它的曲线在左侧向下跳水。它缺乏困难问题的重尾。

根据理论,如果没有困难问题的重尾,就不应该有幂律。确实,回顾图 1 (底部) , Llama 3 8B IT 的粉色线条像悬崖一样掉落——它的缩放速度比幂律快得多!

这验证了理论: 幂律并非神经网络的某种神奇属性;它是数据集中问题难度混合造成的统计假象 (statistical artifact) 。

5. 新工具: 分布估计器

这对工程师和研究人员有什么意义?归根结底是效率

要使用传统方法 (“最小二乘法”) 测量缩放定律,你需要运行模型数千次 (\(k=10,000\)) 才能看到趋势。就算力和资金而言,这极其昂贵。

然而,作者的发现提供了一条捷径。既然缩放定律完全取决于单次尝试概率 (\(pass_i@1\)) 的分布,我们可以直接估计那个分布!

两种方法的比较

方法 A: 标准最小二乘法 (笨办法)

  1. 每个问题运行模型 10,000 次。
  2. 计算 \(k=1, 10, 100, 1000...\) 时的通过率。
  3. 在双对数图上拟合一条直线。

方法 B: 分布估计器 (聪明办法)

  1. 运行模型少量次数 (例如 100 次) 。
  2. 估计每个问题的单次尝试概率。
  3. 将 Beta 或 Kumaraswamy 分布拟合到这些概率上。
  4. 根据分布的参数解析地计算缩放定律。

图 5: 比较最小二乘估计器和分布估计器的示意图。

研究人员推导了这个估计器的公式:

分布估计器方程。

结果: 更少算力,同样精准

聪明办法管用吗?研究人员比较了两种方法估计的指数 (\(b\)) 。

图 6: 比较幂律指数的估计器。

图 6 所示,估计值几乎完美地排列在对角线上。分布估计器恢复了与暴力方法相同的缩放定律。

但真正的胜利在于样本效率 。 在下面的图 7 中,作者进行了“回测”。他们模拟拥有更少样本的情况。

图 7: 通过回测比较两种估计器。

粉色线 (最小二乘法) 在样本数较低时误差很大。绿色和蓝色线 (分布估计器) 以快几个数量级的速度达到低误差。这意味着研究人员可以用少 2-4 个数量级的推理算力来预测模型将如何扩展。

6. 结论与扩展的“暗物质”

这项研究揭开了大语言模型最有趣的某种行为的神秘面纱。“大语言猴子”并非通过魔法获得幂律;它们是从所面临问题的多样性中获得幂律的。

  • 单个问题代表指数级的挣扎。
  • 数据集代表难度的混合。
  • 幂律仅仅是在重尾难度分布上平均指数级成功率的数学结果。

其影响不仅仅是节省基准测试的费用。作者最后对预训练扩展定律 (即著名的参数/数据越多=损失越低) 提出了一个发人深省的想法。

他们认为预训练损失可能表现类似。也许整体的“损失”只是许多不同能力以不同的指数速率被学习的总和。

暗物质方程。

在这个视角下,“幂律”只是在简单事物被学会之后、不可能的事物被解决之前所留下的主导项。作者诗意地将那些非主导项称为 “神经扩展定律的暗物质” ——那些隐藏在数据中、以不同速率衰减的函数,等待着我们在进一步提升算力时去发现。

通过理解成功的统计学,我们从将 LLM 视为黑盒,转变为将其视为可预测的统计引擎——这对于构建可靠的 AI 系统至关重要。