《大模型面试精华》


1 前言
    1.1  大模型的发展历史

    1.2  Hugging Face简介

    1.3  大模型技术总览

    1.4  GPT模型的发展历程

    1.5  BERT和GPT之战

2 Transformer技术
    2.1  词嵌入技术简介

    2.3  Transformer简介

3 预训练与监督微调
    3.1  预训练技术简介

    3.2  监督微调技术简介

4 大模型核心技术
    4.3  大模型的重复问题

    4.4  LoRA的诞生背景

    4.5  LoRA的数学原理

    4.6  LoRA的核心考点

    4.8  知识蒸馏常见考题

    4.9  模型量化常见考题

    4.10  大模型的剪枝问题

5 大模型压缩技术
    5.2  压缩技术全景图

    5.3  知识蒸馏入门介绍

    5.4  温度参数入门介绍

    5.5  落地选型的考量

    5.6  智能客服案例分析

    5.7  大模型量化

    5.8  模型剪枝入门介绍

    5.9  大模型压缩实战

6 大模型与强化学习
    6.1  大模型与强化学习

    6.2  强化学习面试要点

    6.3  RLHF核心考题

    6.4  RLHF的挑战

    6.5  GRPO入门介绍

    6.6  人类反馈强化学习

    6.8  PPO算法代码复现

    6.9  大模型与强化学习

    6.10  强化学习核心概念

    6.11  RLHF入门介绍

    6.12  PPO入门介绍

    6.13  RLAIF与自动化对齐

    6.16  规模定律详细介绍

    6.17  强化学习的未来

7 扩散模型与文生图
    7.1  文生图原理介绍

    7.2  扩散模型原理介绍

    7.3  扩散模型与文生图

8 手搓大模型

Scaling Law:大模型的“第一性原理”

创建时间:2026-07-02 更新时间:2026-07-02 阅读次数:1017 次

如果说大模型时代有一条堪称“信仰”的定律,那一定是 Scaling Law(规模定律) 。它是驱动整个行业不惜投入数千万美元去训练更大模型的核心理论基础。

什么是Scaling Law?

Scaling Law,简单来说,就是模型性能与模型规模、数据量、计算量三者之间存在的幂律关系。

这一概念由OpenAI在2020年的论文《Scaling Laws for Neural Language Models》中系统阐述。核心结论可用一句话概括:增加参数量、扩大数据集、投入更多算力,模型的测试损失会按照一个可预测的幂律曲线稳定下降。

在深度学习中,通常用交叉熵损失衡量模型性能。更关键的是,这种性能提升没有明显的天花板,只要你有更多的算力,喂进去更多的数据,模型就能稳定地变得更聪明。它不依赖于奇技淫巧的架构创新,只需要“大力出奇迹”。

核心公式与性能预测

从功能形式上看,Scaling Law 表达为标准的幂律关系:

$$ L(C) = a \cdot C^b + L_\infty $$

其中:

  • $L$ 是模型在测试集上的交叉熵损失
  • $C$ 是训练所用的总计算量(通常以 PFLOPS-days 为单位)
  • $a$ 是比例系数,与模型架构等具体实现细节相关
  • $b$ 是幂律指数,决定了收益递减的速率(典型值约为 $-0.05$ 至 $-0.1$)
  • $L_\infty$ 是理论上的损失下界,代表数据中无法被消除的固有噪音(即贝叶斯最优误差),与模型或算法无关

这个公式揭示了深刻的现象:无论投入多少算力,损失都无法低于 $L_\infty$,它由数据分布的固有熵决定。这意味着,当损失接近这一下界时,继续扩展规模的收益将急剧衰减——因为改进空间本身在缩小。因此,Scaling Law不仅仅是扩张的指南,也同时定义了性能的终极界限。

Chinchilla定律:找到了“黄金配比”

早期的Scaling Law揭示了增大规模的有效性,却留下了一个关键问题:在固定算力预算下,模型参数量和训练数据量该如何分配?

DeepMind在2022年用Chinchilla定律给出了量化答案:当模型参数量和训练token数同比增加时,性能最优。 具体来说,一个最优配比的模型,其参数量(以B计)与训练token数(以B计)的比值约为1:20。这意味着,在给定的10^23 FLOPs算力预算下,最优选择是训练一个约70B参数的模型,并使用约1.4T token,而非简单地将参数扩大到175B。

这带来了一场“瘦身革命”。研究证明,一个70B参数、使用1.4T token训练的Chinchilla模型,性能可超越当时175B的GPT-3。很多模型“虚胖”,是因为参数量很大,但数据根本没“喂饱”,而Chinchilla定律指明了更经济的训练路径。

不过请注意: 这个“1:20”的比例主要针对当时的常规数据集。在如今追求极致性能的实践中,为了充分挖掘数据价值,业界往往直接使用远多于该比例的token(如DeepSeek-V3使用了14.8T token),让模型“吃得更撑”,以换取更好的效果。

超越损失:涌现与相变

Scaling Law主要预测的是测试损失(交叉熵)的平滑下降,但真正驱动业界为之疯狂的,是能力的涌现——这些在损失曲线上完全不可见。

当模型参数量、数据量或计算量跨越某个临界阈值时,模型会突然获得之前完全不具有的能力,例如:

  • 上下文学习:从少量示例中推理出新任务,而无需任何梯度更新

  • 思维链推理:逐步拆解复杂问题,生成中间推理步骤

  • 多步规划与工具使用:将目标分解为子任务并调用外部工具

这种性能在阈值附近的突变,在物理学中被称为相变现象。一个经典案例是:在加法任务中,当模型参数量从百万级增加到数十亿级时,准确率可能从接近随机(~50%)突然跃升至近乎完美(>95%)。这种非线性跃迁无法从平滑的损失下降中预测,也是Scaling Law最令人兴奋又最难以把握的部分。

更引人深思的是,这种现象表明:训练损失即使仅从0.25下降到0.20,看似微小的改善,在下游任务上对应的能力差异可能是指数级的。这就引出了一个问题:我们究竟是在优化损失,还是在触发一种尚未被量化的“智能相变”?

Scaling Law的局限性

尽管Scaling Law指导行业数年,但它并非万能。

数据天花板:地球上可用的高质量文本数据是有限的,预计在10^14量级,按照当前的Scaling速度,将很快耗尽。

边际效应递减:由于幂律指数的存在,损失下降速度会随着计算量增加而持续放缓。这意味着投入10倍的算力,却只能换来线性级别的性能提升,成本效益越来越低。

能力涌现的非线性:Scaling Law主要预测测试损失的下降,但像逻辑推理、思维链等高级能力,通常是在某个规模上突然“涌现”的,无法被它精确预测。

最佳批大小的增长规律:实践中,最优批大小会随训练损失的下降而增长。以GPT-3为例,训练初期的批量大小可能从几十万token开始,到训练结束时已增长至数百万token。这背后反映了模型学习动力学的深层变化:训练初期,损失高、梯度噪声大,需要小批量频繁更新以快速探索参数空间;随着损失降低,梯度信号的信噪比提升,更大批量能提供更稳定的梯度估计,加速收敛。动态调整批量大小,已成为大模型训练的标准实践。

总结:一种新的思维方式

Scaling Law的本质,是将原本充满不确定性的模型训练,变成了一个可预测的工程优化问题。它让研究人员能够像芯片领域的“摩尔定律”一样,通过外推小模型的趋势,相对可靠地预测大模型的性能。

它代表了大模型时代最核心的方法论:相信规模,用算力换取智能。 尽管存在局限,但在找到下一条能取代它的定律之前,Scaling Law仍是大模型进步最坚实的阶梯。

知识扩展1:形象化理解:两个生活中的幂律

之所以叫“幂律”,是因为它描述的是一种“投入越翻倍,回报越递减”的非线性关系。这不是模型独有的,生活中无处不在。

例子一:刷墙——解释“幂律指数 b ”

想象你有一面斑驳的旧墙,你的目标是把它刷白(相当于降低模型损失)。

刷第1遍:效果拔群!墙从灰色变成了明显的白色,进步巨大。

刷第2遍:效果不错,遮盖了一些第一遍没刷匀的淡斑,但远没有第一遍那么惊艳。

刷第3遍、第4遍:你几乎看不出和上一遍有什么区别。你投入了同样多的油漆(算力),但视觉上的改善(性能提升)越来越小。

这个“边际收益递减”的速度,就是公式里的 幂律指数 b。对于大模型,指数 b 约在 -0.05 到 -0.1 之间。这相当于告诉你:要让墙看起来再白一个色号,你可能需要比上一次多刷几十倍的油漆。

例子二:考试成绩——解释“损失下界$L_\infty$

想象你在准备一门满分100的考试。你的目标是让“丢分”(损失)降到零。

从0分提升到60分:比较容易,背背公式、搞懂基础概念,进步飞快。

从60分提升到90分:开始变难,需要大量刷题,攻克中高难度题目。

从95分提升到99分:难如登天。你可能需要把冷门知识点都背得滚瓜烂熟,投入的学习时间是指数级增长的。

冲击100分:几乎不可能。因为试卷本身可能有一道有争议的题目,或者你总会因笔误、理解偏差而扣分。

这个你无论如何努力都无法避免的、必然会被扣掉的分数,就是 $L_\infty$

(理论损失下界)。它不是你的错,而是考试(数据)本身就存在的“固有噪音”和“不确定性”。模型训练到了极致,损失的极限就是这个 $L_\infty$,永远无法降到零。

知识扩展2:直观感受幂律关系公式的魅力

完整的幂律关系公式如下所示:

$$ L(C) = a \cdot C^b + L_\infty $$

关键在于 幂指数 $b$ 是一个负数,典型值在 -0.05-0.1 之间。

我们代入一个具体数值来感受一下:

  • 假设 $a = 10$, $b = -0.1$, $L_\infty = 1.0$

现在,我们让计算量 $C$ 从 1 增长到 10,000:

计算量 CC计算过程 10×C0.1+1.010 \times C^{-0.1} + 1.0测试损失 LL
110×10.1=10×1=1010 \times 1^{-0.1} = 10 \times 1 = 1011.0
10010×1000.110×0.63=6.310 \times 100^{-0.1} \approx 10 \times 0.63 = 6.37.3
10,00010×100000.1=10×0.1=1.010 \times 10000^{-0.1} = 10 \times 0.1 = 1.02.0
1,000,00010×10000000.110×0.025=0.2510 \times 1000000^{-0.1} \approx 10 \times 0.025 = 0.251.25

规律一目了然:

  • $C$ 在分母上(因为指数为负),所以 $C$ 越大,$C^b$ 这项就越小。
  • 这一项越小,$a$ 乘以它也就越小。
  • 因此,总损失 $L$ 不断下降,并缓慢逼近那个无法消除的底线 $L_\infty = 1.0$。

换一种更直觉的理解:损失即“无知”

我们还可以完全抛开公式,从信息的本质来理解。

测试损失,本质上衡量的是模型对下一个词预测的“意外程度”或“无知程度”。

  • 高损失:模型什么都不知道,看到“天空是___”,它觉得填“蓝色”“红色”“奔跑”“沙发”的概率都差不多,非常混乱,预测错的惩罚极高。
  • 低损失:模型已经学到了规律,很确信这里该填“蓝色”,预测精准,惩罚就小。

那这和 $C$(计算量)有什么关系?

你可以把计算量 $C$ 想象成模型“学习”所花的总时间。

  • $C$ 很小:模型只图图吞枣地读了一点数据,学了个大概,所以它的“无知程度”很高,测试损失 $L$ 自然很大。
  • $C$ 越来越大:模型有更多计算去反复咀嚼海量数据,不断修正自己脑中的世界模型。它知道了语法的细枝末节、罕见词的用法、逻辑的陷阱……于是,它的“无知程度”稳步下降,测试损失 $L$ 也跟着降低。

所以,$C$ 越大 $L$ 越小,是因为更多的计算让模型有机会从数据中榨取出更多规律,从而极大地消除了自身对世界的“无知”。

本教程共54节,当前为第50节!
本教程最新修订时间为:2026-07-04 23:57:28