Scaling Law

Scaling Laws for Neural Language Models

image-20260309113726076

Chain of Thought (CoT) 是让模型把逻辑推导过程写出来

Instruction Tuning 是教模型听懂并执行人类指令

Scratchpad 就是给模型一块“草稿本”,让它在最终输出答案前先在大脑(上下文)里打草稿。

  • CoT (思维链):是行为方式,像是在说“请步步为营地思考”。
  • Instruction Tuning (指令微调):是训练手段,通过海量“指令-回复”对让模型变乖、变聪明。
  • Scratchpad (草稿纸):是技术实现,通过在输出中强制包含中间步骤,利用已生成的 Token 来辅助生成后续更复杂的 Token(即“以空间换逻辑”)。

Scratchpad

定义

Scaling Law(规模法则) 是 AI 界的“大力出奇迹”指南。它告诉我们:如果你投入更多的算力、更多的数据、更大的模型参数,AI 的性能就会预测性地变得更强。

它揭示了模型性能并不是随机增长的,而是遵循严格的数学幂律关系。

为什么要学这个?

理解 Scaling Law 能帮你明白为什么现在的 AI 竞争变成了“算力竞赛”

  • 为什么厂商都在抢购 NVIDIA H100 显卡?(堆算力)
  • 为什么大家都在拼命爬取全网数据?(堆数据)
  • 因为只要这三条线还没到头,AI 的智力上限就还没封顶。

三个核心维度

要想让 AI 变得更聪明,你只需要在以下三个“堆料”方向上使劲:

  • **计算量 (Compute)**:训练模型时消耗的 GPU 算力总和。
  • **数据集大小 (Data)**:喂给模型学习的文章、代码、书籍的总量。
  • **参数量 (Parameters)**:模型“大脑”中神经元连接点的数量。

可预测性:哪怕你只训练一个小模型,也能通过公式精准预算出如果增加 100 倍算力后,大模型的表现会是多少。

边际效应:虽然投入越多越强,但越往后,为了提升一点点性能,所需的资源投入会呈爆炸式增长。


形象类比

你可以把 AI 想象成一个学生:

  • 参数量:学生的智商(大脑容量)。
  • 数据量:学生读过的书。
  • 计算量:学生刷题消耗的精力和时间。

Scaling Law 告诉我们:只要这学生不笨、书管够、且没日没夜地刷题,他最后一定能考上清华。

探讨

语言模型知不知道自己不知道?

Calibration
https://arxiv.org/abs/2207.05221

Calibration,相当于大模型的“信心分数”,信心越高,“瞎掰”的可能性越低;

有没有可能模型越大,准确度越差

有一个比赛,

https://github.com/inverse-scaling/prize

设计一些奇怪任务,使得模型越大,准确度越差。

但是后面有paper指出,那些模型越跑越差,只是因为那些模型还不够大(https://arxiv.org/abs/2211.02011),更大之后,准确度就会好起来。

那这个准确度从高到低再到更高的这个“U形曲线”,是怎么出现的呢?

原理:那些刻意让大模型比较差的任务,通常包含了一些”陷阱”,模型够大才能看出真实的问题是什么。

多少资料才够

https://arxiv.org/abs/2011.04946

机器要正确回答问题要有两个能力:

  1. 语言认识
  2. 世界认识

Scaling Language Models: Methods, Analysis &Insights from Training Gopher
https://arxiv.org/abs/2112.11446

论文要点

DeepMind 发现,并不是所有任务都能通过单纯增加参数量(Scaling)来解决:

  • 显著提升的领域:阅读理解、事实核查、常识推理。
  • 提升缓慢的领域逻辑推理数学。即使模型变大了很多,在处理复杂的数理逻辑时依然容易翻车。
  • 副作用:随着模型变大,毒性(Toxicity)和偏见(Bias)也会随之增加,模型变得更难“驯服”。

与 Scaling Laws 的关系(洞察)

这篇论文是对 OpenAI 早期 Scaling Law 的一次补充和修正:

  • 并非参数唯一论:论文指出,虽然大模型更强,但单纯堆参数的收益在某些特定任务上会进入“平台期”。
  • 性能预测:他们成功预测了增加算力对模型交叉熵(Loss)的降低作用,再次验证了 Scaling Law 的数学严谨性。

Deep Preparation

image-20260309130019733

在固定运算资源的情况下,资源or模型?

https://arxiv.org/abs/2203.15556

image-20260309131808926

简单结论:小模型+大资料 更好

Instruction-tuning

Scaling Instruction-Fine-tuned Language Modelshttps://arxiv.org/abs/2210.11416


1. 为什么要搞指令微调?

预训练模型(Base Model) 本质上是一个超级复读机续写员

  • 如果你问它:“北京的首都是哪里?”
  • 它可能不会回答“北京”,而是继续续写:“上海的首都是哪里?广州的首都是哪里?”(因为它在模仿网页排版)。

指令微调 的目的,就是打破这种“续写”惯性,让模型明白:当人类输入一个请求时,它应该给出对应的回答。


2. 指令微调是怎么做的?

它的核心是准备一种特殊格式的数据集:(指令,上下文,回答)

  • 指令 (Instruction): “请将这段话翻译成英文。”
  • 输入 (Input): “今天天气不错。”
  • 输出 (Output): “The weather is nice today.”

通过成千上万条这种“指令-答案”对的训练,模型学到了:只要看到特定的语气(比如命令、提问),就去执行特定的任务,而不是瞎续写。


3. 指令微调的三大价值

价值点 描述
任务泛化 模型学会了“理解意图”,即使遇到没见过的指令,也能猜出该怎么做。
释放能力 把预训练时学到的庞大知识,通过指令精准地“调用”出来。
对齐 (Alignment) 让模型的语气变得友好、专业,符合人类的社交礼仪。

4. 标志性模型:从 GPT-3 到 InstructGPT

OpenAI 发现 GPT-3 虽强但“不听话”,于是用指令微调(加上强化学习)做出了 InstructGPT。这就是后来 ChatGPT 的前身。


类比

  • **预训练 (Pre-training)**:就像让一个孩子读完整个图书馆的书。他现在知识渊博,但如果你问他问题,他可能只会背书,或者自言自语。
  • **指令微调 (Instruction-tuning)**:就像给这个孩子请了个家教。家教告诉他:“当我问你问题时,你要简要回答;当我让你写作文时,你要分段写。”

现在这个孩子不仅有才华,还能真正帮你干活了。

KNNLM

kNN-LM(k-Nearest Neighbors Language Model)

https://arxiv.org/abs/1911.00172

核心原理:预测 = 模型输出 + 邻居搜索

传统语言模型(如 GPT)预测下一个词时,完全依靠模型参数里的“记忆”。而 kNN-LM 分为两步:

  1. 模型计算:标准的神经网络(如 Transformer)算出当前上下文的一个向量表示(Embedding)。
  2. 检索邻居:把这个向量丢进一个巨大的“离线数据库”(包含数亿个文本片段及其对应的下一个词),找到最相似的 k 个片段。
  3. 加权合并:将模型自己预测的概率分布与检索到的这 k个邻居的词分布进行线性融合。

image-20260309135812596