第十三章:规模就是力量------Scaling Laws 与涌现能力
!info
第 11 章中,预训练范式横扫了 NLP 领域。BERT 和 GPT-1 证明了一件事:先在海量无标注文本上预训练,再用少量标注数据微调,可以在几乎所有语言理解任务上远超以往。预训练-微调,成了整个行业的默认工作流。
但这个范式的尽头在哪里?GPT-1 有 1.17 亿参数,训练了 8 亿词的书籍语料。如果参数增大到十亿、百亿、千亿,训练数据扩展到千亿词、万亿词------效果还会持续提升吗?提升的速度有什么规律?还是说某个地方存在一个性能天花板,规模到了一定程度再提升就效果不明显了?
2020 年,一批 OpenAI 的研究者用系统性的实验,给出了一个让整个行业为之震动的答案。
!question
规模和能力之间存在什么数学规律?更大的模型是否会无限变好,还是存在"最优配比"?超过某个规模后,会出现什么意料之外的能力?
13.1、GPT-2 引爆的问题
在 2018 年,AI 研究界的共识大体是这样的:语言模型还很弱,微调 BERT 才是正道,从零训练大模型对小公司来说太贵,学术界和工业界都心照不宣地接受了这套秩序。
这个共识,在 2019 年 2 月的某天上午,被 OpenAI 发布的一篇博客文章炸碎了。
13.1.1 太危险,不能发布
2019 年 2 月,OpenAI 发布了一篇博客文章,内容是这样的:
"GPT-2 generates convincing paragraphs, achieves state-of-the-art scores on many language modeling benchmarks, and performs rudimentary reading comprehension, machine translation, question answering, and summarization---all without task-specific training."
(译文:GPT-2 能生成令人信服的段落,在许多语言建模基准测试上达到了最优水平,并且在没有任何任务特定训练的情况下,表现出了基础的阅读理解、机器翻译、问答和摘要能力。)
然后,OpenAI 宣布了一个在 AI 历史上前所未有的决定:他们不打算发布完整的模型。
原因是他们担心这个模型的文本生成能力太强,可能被滥用于大规模生产虚假新闻、钓鱼内容、或者自动化的舆论操控。他们会分阶段发布较小版本,观察社区的反应,再决定是否发布完整版本。
这个决定立刻在 AI 社区炸开了锅。批评者认为这是在炒作------一个"我们做出了太厉害的东西以至于不敢公开"的公关策略,而不是真正的安全顾虑。支持者认为这是 AI 实验室对公众责任的认真对待,是值得鼓励的预防性思考。
争论持续了数月。到了 2019 年 11 月,OpenAI 终于发布了完整的 GPT-2 模型(参数量 15 亿),并附上了一篇使用报告。结果表明,当时并没有爆发他们担心的滥用浪潮------这部分是因为到那时已经有足够多的研究者独立复现出了类似的模型,"不发布"这个决定的实际效果值得存疑。
但 GPT-2 事件本身,在 AI 领域埋下了一个深远的种子:规模本身可能是一种风险。当模型大到某种程度,它的能力可能超出了建造者和使用者的预期与控制范围。这个直觉,在后来的"AI 安全"和"AI 对齐"讨论中被反复引用。
GPT-2 发布风波在更深层上还揭示了一个还没有人认真思考过的治理问题:谁来决定一个 AI 模型是否"太危险"? OpenAI 的做法是单方面决定,没有外部监管机构参与,没有公众讨论,没有独立评估程序。这种"研究实验室自我裁量"的模式究竟是负责任的预防,还是技术权力集中下的信息管制?这个问题在 GPT-3、ChatGPT 的后续发布中反复出现,成为后来各国政府讨论 AI 监管立法时绕不开的案例。
13.1.2 GPT-2 做到了什么
先抛开争议,来看 GPT-2 的实际能力。
GPT-2 的架构非常简单:仍然是 Transformer 解码器(Decoder-only),只不过层数从 GPT-1 的 12 层增加到了 48 层,隐层维度从 768 增加到了 1600,总参数量从 1.17 亿扩大到 15 亿。训练数据从 BooksCorpus 的 8 亿词扩展到了 WebText------一个从 Reddit 上赞数较高的帖子链接爬取的网页文本,约 40 GB,大约 100 亿词。
技术路线没有变,只是规模变大了。结果却让人瞠目结舌。
OpenAI 在博客里附上了几个 GPT-2 生成文本的例子。其中最广为流传的是一段以独角兽开头的新闻:
输入(人类给出的前几句):In a shocking finding, scientist discovered a herd of unicorns living in a remote, previously unexplored valley, in the Andes Mountains...(在一个惊人的发现中,科学家在安第斯山脉的一个偏远山谷发现了一群独角兽......)
GPT-2 的续写:The scientist named the population, after their distinctive horn, Ovid's Unicorn. These four-horned, silver-white unicorns were previously unknown to science... (科学家以它们独特的角,以奥维德独角兽命名了这一种群。这些四角银白色的独角兽此前未被科学界所知......)
这段续写中包含了虚构的科学家姓名、论文引用、大学机构,写得一本正经,仿佛真正来自一篇科学报道。如果不告诉你这是 AI 生成的,你很可能当作真新闻来读。
类似的,给 GPT-2 一段英文,它能翻译成法文------尽管训练数据里几乎没有专门的翻译对。
最让研究者困惑的就是这最后一项:GPT-2 在翻译任务上的零样本(Zero-shot)性能。它从没被专门训练来做翻译,但它"会"翻译------因为互联网上的文本里充满了双语内容,让模型隐式地学到了语言之间的对应关系。这说明:大规模的语言预训练,不只是让模型学到了语言,还让模型学到了语言所承载的各种任务能力。
这个现象,在 GPT-3 中被推到了一个令所有人都没想到的极致。
13.1.3 一个没有答案的问题
GPT-2 留下了一个没人能回答的问题:这种"规模换能力"的效应,是持续的还是会饱和的?
直觉上,应该存在某个天花板。一个模型的能力不可能随着参数量的增加而无限提升,就像一座大楼不能无限加高,总有结构强度的限制。
但直觉也可能是错的。
当时没有人做过系统性的实验来测量"规模-性能"之间的关系。每个实验室训练模型的时候,超参数各不相同,数据集各不相同,很难做横向比较。我们知道更大的模型往往更好,但不知道"更好多少",也不知道有没有规律。
这个问题不只是学术好奇心------它是一个价值数亿美元的商业问题。如果损失随着规模以可预测的方式下降,那么可以在训练前计算"要达到某个性能目标,需要花多少钱"。如果损失的下降是不可预测的,那么大模型训练就永远是一场昂贵的赌博。
回答这个问题,需要有人愿意系统性地训练一批大小不同的模型,在受控条件下测量性能,绘制出规模-性能的曲线。
OpenAI 的研究者们,决定做这件事。
13.2、规模定律:给未来开一张预测清单
13.2.1 Kaplan 等人的实验
2020 年 1 月,OpenAI 发布了一篇标题略显朴素的论文:《Scaling Laws for Neural Language Models》(神经语言模型的规模定律)。
论文的第一作者是贾雷德·卡普兰(Jared Kaplan,OpenAI 研究员,后联合创立 Anthropic)。他和同事们花了大量计算资源,系统训练了几十个不同规模的语言模型------参数量从数十万到几十亿,训练数据量从数百万 Token 到数百亿 Token,计算预算(FLOPs)从极小到极大------然后精确测量了每种配置下的模型损失(Loss)。
结果,出现了一个极其工整的规律。
13.2.2 幂律:损失与规模的关系
研究发现,模型的语言建模损失 (衡量模型预测下一个词的准确程度,越低越好)与三个关键变量都呈现出幂律关系(Power Law):
- 模型大小 N (参数量):损失 ∝ N − 0.076 \propto N^{-0.076} ∝N−0.076
- 数据量 D (训练 Token 数):损失 ∝ D − 0.095 \propto D^{-0.095} ∝D−0.095
- 计算量 C (训练所用的 FLOPs 总量):损失 ∝ C − 0.050 \propto C^{-0.050} ∝C−0.050
这几个公式的意思是:每当规模翻倍,损失就会下降一个固定的比例,而且这个规律在跨越几个数量级的范围内都高度稳定------从很小的模型到当时最大的模型,实验曲线都贴合得非常好。
幂律(Power Law)在直觉上是什么感觉?想象你在爬一座永远不会有平台的山。每走同样的路程,海拔都会增加,但增加的幅度逐渐变小------走头一公里可能上升 100 米,走下一公里可能上升 80 米,再下一公里上升 64 米......以一个固定比例递减。这就是幂律的直觉:持续提升,但提升的边际成本持续上升。重要的是,这条曲线没有平台------只要你愿意投入更多资源,损失就会继续下降。
对工程师来说,这意味着一件事:在训练一个大模型之前,就可以预测它大概能达到什么损失水平。
你用小模型(比如 1M 参数)训练,得到一个损失数值。再用中等模型(100M 参数),得到另一个数值。把这两个点在双对数坐标上连一条直线,外推到 100B 参数------这条线预测的损失,和实际训练 100B 参数模型得到的损失,会非常接近。
这就像地质勘探:在钻一口深井之前,先打几个浅井采样,就能预测深处的地质结构。Scaling Laws 给了 AI 研究者类似的"预测能力"------在花费数百万美元训练超大模型之前,先用小模型勘探性能边界。
13.2.3 最优分配的发现
Scaling Laws 论文还回答了一个更实用的问题:给定一个固定的训练计算预算,应该把多少用来增大模型,多少用来增加训练数据?
Kaplan 等人的发现,有一个让很多人感到反直觉的结论:在计算预算有限的情况下,主要应该增大模型,而不是增加数据。换句话说,一个大模型训练较短时间(相对于其规模"训练不足"),往往比一个小模型训练很长时间更好。
这个结论背后有一定道理:更大的模型具有更强的"表示能力",相同数量的训练步骤能让它学到更多东西。就像给一个有天赋的学生和一个普通学生同样的授课时间,天赋更高的学生吸收的知识往往更多------即使他"没有学完"全部课程。
这个结论直接影响了 GPT-3 的设计决策:1750 亿参数,但训练了相对"适中"的数据量(约 3000 亿 Token)。按照这个配比,GPT-3 平均每个参数只见到了约 1.7 个 Token------这在后来被证明是严重"训练不足"的。
但这个结论后来被证明是有问题的。两年后,DeepMind 的一支团队会推翻这个结论------但那是 Chinchilla 的故事,我们将在后面章节继续讨论。
13.2.4 意义:从"试错"到"预测"
在 Scaling Laws 之前,每个 AI 实验室训练大模型,很大程度上是一种费用昂贵的赌博:投入大量算力,希望模型能达到预期的效果。没有人知道"再多训练一倍参数,会有多大改善",只能凭经验猜测。
Scaling Laws 第一次给这个赌博加上了概率估算。
对于大型实验室(OpenAI、谷歌、DeepMind)来说,这意味着训练计划可以被精确优化:已知预算,已知期望的性能目标,Scaling Laws 告诉你应该把预算怎么分配。对于研究者来说,这意味着可以在小规模上验证训练方法的改进效果,然后"外推"到大规模------如果在小模型上有效,按照 Scaling Laws 预测,在大模型上也会有效。
这是一种从工艺(art)向工程(engineering)的转变。Scaling Laws 让大模型训练有了一种"设计图纸",而不只是"尝试与失败"。就像建筑工程师在动工前能用力学公式预测大楼的承重能力,AI 工程师现在可以在正式训练前用幂律公式预测模型的性能下限------这让决策变得可计算,而不只是凭直觉和运气。
这个转变的实际意义是:它让"投资决策"变成了可计算的问题。一家公司在决定是否训练一个新的大模型时,可以用 Scaling Laws 估算:用 X 亿美元,能得到什么性能水平的模型?这种可预测性,对风险投资和战略规划来说极其宝贵。从 GPT-3 开始,AI 大模型的商业化进程加速,Scaling Laws 功不可没。
值得一提的是,Scaling Laws 的发现也有其局限性。这些幂律关系描述的是语言建模损失(预测下一词的准确程度),而不是下游任务的性能(比如问答准确率、代码生成能力)。损失和实际能力之间的关系并不总是线性的------这正是后面要讨论的"涌现"现象的来源之一。一个损失比另一个低 5% 的模型,在某些任务上可能没有任何差别,但在另一些任务上可能突然好得多。
此外,Scaling Laws 是在语言模型这个特定领域里发现的。它是否适用于视觉模型、多模态模型、甚至非 Transformer 架构,在 2020 年是一个开放问题,之后的研究表明,类似的幂律关系在很多架构和领域中都成立,但具体的指数不同。这让 Scaling Laws 从"关于语言模型的发现"升级成了"关于深度学习的普遍规律"------这个泛化本身,是 Scaling Laws 论文的另一层深远影响。
13.3、GPT-3:规模的礼物
13.3.1 一篇 72 页的论文,31 个作者
2020 年 5 月,OpenAI 发布了 GPT-3。
GPT-3 的技术报告有 72 页,作者名单上有 31 个人------这在 AI 论文里是罕见的,侧面说明了这个项目的规模:数百名工程师和研究者共同参与,涵盖了模型设计、数据工程、评估体系、基础设施等各个方面。
第一作者是汤姆·布朗(Tom Brown,OpenAI 研究员)。
GPT-3 的架构仍然是 Transformer 解码器------就是 GPT-1 的基本结构,只不过层数变成了 96 层,隐层维度变成了 12,288,注意力头数变成了 96,总参数量:1750 亿(175B)。
训练数据:约 3000 亿(300B)Token,混合了经过过滤的 Common Crawl(网页文本)、WebText2、Books1、Books2 和英文维基百科。
训练成本:GPT-3 实际使用了微软为 OpenAI 搭建的 V100 GPU 超级计算集群(A100 要到 GPT-3 发布的同月才正式发布,彼时尚未量产),训练时间超过一个月。电费与硬件折旧的训练成本估计在 460 万美元到 1200 万美元之间,不同的计算方式给出了不同结果。无论如何,这是当时最昂贵的模型训练项目之一。
OpenAI 当时已经转型为"有限盈利"公司(Capped-Profit),接受了微软 10 亿美元的投资,而微软获得了 GPT-3 的独家商业授权。萨姆·奥特曼(Sam Altman,1985-,OpenAI CEO)在发布博客中写道,GPT-3 将以 API 的形式商业化,为 OpenAI 的持续研究提供资金来源。这是语言模型商业化的第一声枪响------从那时起,"大模型即服务(LLM-as-a-Service)"逐渐成为 AI 行业的主流商业模式。
13.3.2 In-context Learning:无需微调的"学习"
GPT-3 最令人震惊的能力,不是它的参数有多大,而是它展示了一种全新的"使用模型"的方式------In-context Learning(上下文学习)。
值得先说清楚它与 GPT-2 的本质区别。GPT-2 已经能做 zero-shot 翻译,但那是不稳定、低质量的"意外惊喜"------研究者把它当作有趣的现象,而不是可以依赖的能力。GPT-3 的 few-shot 能力是另一回事:只需给它 3-5 个示例,它就能稳定地、跨任务地执行,性能足以和有监督方法相提并论。这不是量的积累,而是"可用性"意义上的质变。
什么是 In-context Learning?
用 GPT-1 或 BERT 时,如果你想让模型做一个新任务(比如情感分析),你需要:(1)准备几千条带标签的训练数据;(2)在这些数据上微调模型,更新参数;(3)把微调后的模型部署用于推理。这个过程叫"微调(Fine-tuning)",是第十一章讲到的标准范式。
用 GPT-3 时,你可以直接在提示词(Prompt)里写几个例子:
把以下句子从英文翻译成中文:
Sea otter: 海獭
Plush tiger: 毛绒老虎
Big furry dog:
然后 GPT-3 会自然地续写:毛茸茸的大狗。
这就是少样本(Few-shot) 的 In-context Learning:给几个例子,模型就"学会"了任务。
更惊人的是零样本(Zero-shot):不给任何例子,只描述任务:
请把以下英文翻译成中文:
The weather is nice today.
GPT-3 同样能给出正确答案。
研究者们立刻发现:这个模型不需要任何梯度更新,不改变任何参数,仅仅靠在提示词里看到几个例子,就能完成翻译、问答、写代码、数学推理、总结摘要......这在之前所有的机器学习系统里是完全不存在的能力。
传统机器学习的"学习",是指通过梯度下降更新权重参数------这需要时间,需要数据,需要重新训练。GPT-3 的"学习"发生在推理时,发生在上下文窗口里,不改变任何参数------这是一种根本性的不同。
这种能力从哪里来?至今仍有争议。
一种解释是:GPT-3 的预训练数据包含了大量"任务描述 + 示例"的格式(教科书、教程、问答网站、代码文档......),模型在预训练中已经学会了"看到示例 → 归纳规律 → 执行任务"这种元层面的推理方式。这类似于一个读过大量教材的学生,不需要专门为每门新课报名,只需要看几道例题,就能大致掌握解题套路------因为"归纳套路"这个元能力早已通过大量阅读被内化了。
另一种解释更激进:也许 In-context Learning 根本不是"学习",只是一种极其精妙的模式匹配------GPT-3 在预训练数据里见过类似的格式,在推理时只是把当前的输入映射到记忆中最匹配的输出。真正的学习,需要泛化到未见过的类型,而 GPT-3 可能并没有做到这一点。这两种解释在 2020 年之后引发了大量实验研究:有些论文试图通过给模型"错误的"示例标签(故意把翻译例子的目标语言标错)来测试它是否真的在"学"示例的规律,还是只在利用示例的格式------结果颇为耐人寻味:有时候错误标签几乎不影响性能,支持了"模式匹配"假说;但在某些需要精确对应关系的任务上,错误标签会显著降低性能,又支持了"真正学习"假说。
这个争论在 2020 年没有定论,在此后数年里持续激烈。但不管答案是什么,这个现象本身改变了整个行业使用 AI 模型的方式:你不再需要标注数据和微调,只需要写一个好的提示词(Prompt),就能让模型完成各种任务。Prompt Engineering(提示词工程) 这个词,从此正式进入了 AI 工程师的日常词汇。
从工程实践的角度,In-context Learning 还带来了一个深远影响:它把"模型能力"和"任务定义"分离开来了。在微调时代,一个模型被绑定到一个特定的任务------情感分析模型就是情感分析模型,问答模型就是问答模型。In-context Learning 时代,同一个 GPT-3 模型,可以通过不同的提示词,今天做客服聊天机器人,明天做代码补全工具,后天做营销文案生成------不需要任何重新训练。这种灵活性,是"模型即平台"商业模式的技术基础,也是后来 ChatGPT 能面向普通用户的前提条件。
13.3.3 GPT-3 的基准测试:令人惊叹,但也有明显弱点
在各种评测上,GPT-3 的少样本性能令人印象深刻。
在 SuperGLUE(GLUE 的升级版,更难的语言理解任务集合)上,GPT-3 的少样本性能接近微调 BERT-Large 的水平,在某些任务上超过了它------而 GPT-3 根本没有在这些任务上做任何微调。
在翻译任务上,GPT-3 的法英翻译性能接近有监督方法的水平。在算术任务(两位数加减法)上,GPT-3 的准确率超过了 90%。
让研究者印象最深的,是 GPT-3 在开放域问答上的表现。给它问题:
"哪颗行星距离太阳最远?"
GPT-3 能正确回答"海王星"------无需任何提示,无需任何微调,只靠预训练里见过的天文知识。这和 BERT 时代"在 SQuAD 上微调再问答"的范式完全不同------它是真正的"问什么答什么",而不是"在给定文章里找答案"。
但 GPT-3 也有明显的弱点:
- 多步推理:需要多个步骤的数学证明、逻辑推理,GPT-3 往往会在中间某步出错。给它一道需要 3 步以上的代数题,它很可能给出错误答案,而且这个错误答案的呈现方式和正确答案一样自信
- 反事实推理:需要理解"如果 X 不发生,Y 会怎样"这类假设场景
- 一致性:前后矛盾------同一个问题换一种问法,GPT-3 可能给出不同答案
- 事实幻觉:对于不确定的知识,GPT-3 仍然倾向于自信地给出错误答案
这些弱点后来被系统性地研究,并催生了一系列对策(思维链提示、强化学习对齐等),是后续章节的重要内容。但即使有这些缺点,GPT-3 也彻底改变了 AI 研究者和工程师对语言模型潜力的认知。人们第一次感受到,也许规模这一条路,能走得比任何人想象的都要远。
13.3.4 一个超出预期的工程挑战:长上下文的代价
GPT-3 使用的上下文窗口是 2048 个 Token。这意味着,不管你的提示词有多长,模型每次只能"看到"最近的 2048 个词。
这个限制背后,是第九章讲到的 Transformer 的根本性限制:Self-Attention 的计算复杂度是 O ( n 2 ) O(n^2) O(n2)。序列长度翻倍,计算量翻四倍,显存占用同样翻四倍。2048 这个数字,不是随意选的,而是在当时的硬件条件下,兼顾性能与计算成本的...工程折中。
对使用 GPT-3 API 的工程师来说,这带来了一系列实际挑战:
- 如何把一篇长文档压缩进 2048 Token 的窗口?
- 如何处理需要参考大量历史对话的多轮问答场景?
- 如何让模型"记住"之前对话中提到的重要信息?
这些问题催生了大量工程实践------分块处理(Chunking)、摘要压缩(Summarization Compression)、外部记忆(External Memory)......这些技术后来演化成了检索增强生成(RAG)的雏形,是第十七章的重要背景。
另一个常被忽视的挑战是推理速度和成本。GPT-3 每次生成一个 Token,需要把 1750 亿参数全部过一遍------这在 2020 年的 GPU 上大约需要 100-200 毫秒。对于实时对话(用户在等待回复)的场景,这意味着生成一段 200 词的回复需要 20-40 秒,用户体验极差。
这个推理速度问题直接影响了 GPT-3 API 的商业化路径:OpenAI 只能把 GPT-3 作为一个异步的"批处理"服务来销售,而不是一个实时的对话系统。要让大语言模型进入实时对话,需要推理硬件的大幅升级,以及模型压缩、量化等技术的进步------这是第二十四章"化大为小"要讨论的主题。
13.4、涌现:能力从无到有的断崖
13.4.1 什么是涌现
2022 年,谷歌大脑和斯坦福大学的研究者们发表了论文《Emergent Abilities of Large Language Models》(大型语言模型的涌现能力),系统地描述了一个令人着迷的现象:某些能力,在参数量较小的模型上完全不存在(准确率接近随机),但当参数量超过某个临界值后,能力会突然出现,准确率急剧上升到有意义的水平。
这就是涌现(Emergence)------能力从无到有的断崖式变化。
用具体例子说明。以三位数加减法为例:在数十亿参数规模的模型上,这个任务的准确率约等于随机猜测;随着参数量增加,性能几乎没有改善;但当模型跨过数十亿到百亿参数量级的某个临界点,准确率突然跳升到接近 100%。具体的阈值因模型系列(GPT、LaMDA、PaLM 等)和评测设置而有所不同,但这种断崖式的跳升在多个模型系列中都能清晰观察到。这个跳跃不是平滑的,而是一条陡峭的台阶曲线------大量规模增长几乎不见效果,然后突然全线突破。
类似的现象出现在各种任务上:
- 多步算术:需要多次加减乘除的组合问题
- 词义消歧(Word-in-Context):识别同一个词在两个句子里是否语义相同
- 因果序列推理(Causal Sequence):从一系列事件中推断出因果顺序
- 国际象棋走法(Chess Move):在描述棋局的文字里,找出合法的下一步
这些任务有一个共同特点:它们需要模型具备某种"组合能力"------不是单一技能,而是多种子能力的协同。在规模达到某个临界点前,任何一个子能力的缺失都会让整体失败;达到之后,所有子能力同时到位,整体能力骤然涌现。
13.4.2 为什么会有涌现
涌现现象从根本上挑战了"规模是线性改进"的直觉。如果性能总是平滑地随规模增长,那么涌现就不应该存在。但实验数据清楚地显示,某些能力的出现更像是"相变"(Phase Transition)------就像水从固态变成液态,在临界温度附近发生的是质的跳跃,而不是量的累积。
一种解释是:某些任务需要多个子能力的同时具备 。比如,多步算术需要模型既能做加法、又能跟踪中间结果、又能按正确顺序执行步骤。每一个子能力可能都在平滑地随规模增长,但只有当所有子能力都超过某个阈值,才能共同支撑起完成整个任务------任何一个子能力的缺失,都会让整体准确率接近随机。这就产生了"所有前期的规模增长都不见效果,直到某一刻突然全线具备"的假象。
用一个日常类比:想象一个人在学骑自行车。在掌握平衡之前,无论学了多久,"成功骑行"的准确率都是 0%------因为平衡是一个"必要条件"而不是"线性累积量"。一旦某天某个时刻突然掌握了平衡,准确率就瞬间跳到了接近 100%。旁观者看到的是断崖式的能力涌现,但背后可能是许多微小的神经肌肉协调技能在默默积累,直到某天全部到位。
这个解释有一定说服力,但并不完整。也有研究者认为,涌现只是测量方式的问题。
13.4.3 涌现的争议:真实存在,还是测量幻象?
2023 年,雷科斯·夏费尔 (Rylan Schaeffer,斯坦福大学研究员)等人发表了一篇提出挑战的论文:他们认为,许多看起来像"涌现"的现象,实际上是评估指标(Metric)的选择问题。
他们的论点是这样的:研究者通常用的是"准确率"(Accuracy)------答对就是 1,答错就是 0。这种评估是离散的、非线性的。如果用一个更连续的评估指标(比如:答案的一部分是否正确?生成的 Token 与标准答案的重叠程度?),涌现现象往往会消失,变成平滑的增长曲线。
换句话说:涌现可能不是能力的真实相变,而是我们用粗糙的测量工具,把一条平滑的曲线错误地读成了断崖。就像用一个只能显示整数温度的温度计测量冰水混合物:在冰点以下,显示都是 0℃;越过冰点,突然显示 1℃------看起来像是个断崖,其实只是测量精度的问题。
这场争论至今没有定论。两方都提出了各自有说服力的证据。也许真相介于两者之间:有一部分涌现现象确实是测量幻象,但也有一部分涌现能力(如多跳推理链),是真实的质变,只是原因至今尚不清楚。
这个争论还有一个非常实际的工程意涵:如果涌现是真实的,那么在小模型上完全看不到的能力,可能在大模型上突然出现------这意味着小规模实验无法完全预测大规模行为,"先用小模型验证,再扩展到大模型"的通行做法存在根本局限。但如果涌现只是测量幻象,那么小模型的实验结论可以更放心地被外推。这个问题对于如何科学地规划大模型训练实验,有着不可忽视的影响。
无论如何,涌现现象的发现改变了 AI 研究者的思维方式:训练更大的模型,可能不只是"更好地做已有的事",而是"解锁全新的能力"。这种可能性,让规模竞争变得更加紧迫------你永远不知道下一个数量级里会出现什么惊喜。
13.5、Chinchilla:纠错时刻
13.5.1 GPT-3 的隐藏问题
GPT-3 发布后的一年里,大家都在争相训练更大的模型。谷歌训练了 5400 亿参数的 PaLM,DeepMind 训练了 2800 亿参数的 Gopher,Meta 训练了 1750 亿参数的 OPT......每家实验室都遵循着 Kaplan 等人的 Scaling Laws 建议:尽量把计算预算多用于扩大模型,少用于扩展数据量。
但有一个问题,在这场军备竞赛里逐渐显现:这些模型在很多任务上表现的并不如预期。
DeepMind 的研究者们开始质疑 Kaplan 等人的 Scaling Laws 结论。他们注意到,Kaplan 等人的分析有一个前提:计算预算是固定的,在这个约束下求最优配比。但 Kaplan 等人在实验时,为了节省时间,往往让小模型训练到接近收敛,而大模型只训练很短时间。这可能系统性地高估了大模型的效率。
2022 年,DeepMind 的乔丹·霍夫曼 (Jordan Hoffmann,DeepMind 研究员)等人发表了一篇论文,提出了他们的新结论------以他们的一个实验性小模型命名:Chinchilla(龙猫)。
13.5.2 Chinchilla 的结论:数据和模型要同步扩展
Chinchilla 论文的实验设计更严格:他们训练了超过 400 个不同规模的模型,在更大的计算预算范围内系统地搜索最优配比,而不是只靠外推。
他们的核心发现是,在给定计算预算下,模型参数量 N N N 和训练 Token 数 D D D 应该大致同比例增长。 用更具体的数字说:对于每 1 亿个参数,应该用大约 20 亿个 Token 来训练。
按照这个配比,Chinchilla 模型本身只有 700 亿参数(比 Gopher 的 2800 亿少了 75%),但训练了 1.4 万亿 Token(比 Gopher 多了 4 倍以上)。结果:Chinchilla 在几乎所有基准测试上都优于 Gopher,而且优势明显。 一个小 4 倍的模型,因为训练充分,打败了一个"训练不足"的大模型。
这个发现对整个行业是一次当头棒喝:过去两年的大模型竞赛,方向是错的。
OpenAI 的 GPT-3(1750 亿参数,3000 亿 Token 训练)、谷歌的 PaLM(5400 亿参数)、DeepMind 自己的 Gopher------按照 Chinchilla 的配比,这些模型的参数量都相对过大,而训练数据相对不足。换句话说,这些模型是"大材小用"的:它们有能力学到更多,但训练过早停止了。
一个有用的类比:假设你有 100 小时来练习弹钢琴。Kaplan 的建议相当于"买一架最好的钢琴,练 10 小时"。Chinchilla 的发现相当于说:"其实买一架中档钢琴,练 100 小时,效果更好。"工具的质量固然重要,但练习量(数据量)同样不可或缺。
Chinchilla 之后,大模型训练的策略发生了根本转变:
- Meta 的 LLaMA 系列(2023年)明确按照 Chinchilla 配比设计,用更多数据训练更小的模型
- 谷歌的 Gemini 也在计算效率上做了大幅改进
- "训练 Token 数"成为了模型规格里和"参数量"同等重要的数字
13.5.3 Chinchilla 配比的局限与延伸
值得注意的是,Chinchilla 的结论并不是最终答案。它的"最优配比"是在单次训练预算下的最优------即:训练完成就进行部署,一次性使用。
但如果你的模型需要长期服务数亿用户,推理成本也很重要。推理时,模型越小越快越省钱。从总生命周期成本(训练成本 + 长期推理成本)的角度看,有时候值得花更多训练预算训练一个小而训练充足的模型,因为它的推理效率更高。Meta 的 LLaMA 系列正是在这个逻辑下,把"Chinchilla 最优"推得更远------训练了更多数据,超过了 Chinchilla 配比,为了让最终小模型在推理时更有效率。
Chinchilla 还隐含了一个让当时很多人没想到的问题:数据够用吗?
按照 Chinchilla 配比,一个 700 亿参数的模型应该训练大约 1.4 万亿 Token。但如果把这个模型扩展到 7000 亿参数,就需要 14 万亿 Token------这接近了互联网上高质量英语文本的估算上限。如果想训练更大的模型,可能面临高质量训练数据不够用的根本性问题。
这个"数据墙"(Data Wall)的担忧,在 2023-2024 年随着模型规模继续扩大而变得越来越现实。它推动了合成数据(Synthetic Data)技术的兴起------用已有模型生成新的训练数据。这是第十八章"对齐的再进化"将要讨论的重要主题之一:Phi 系列模型证明,用高质量的合成数据训练一个小模型,有时候可以达到与大模型相当的能力。
这个多维度的权衡,是实际大模型工程中不断演化的前沿问题,至少在目前还没有唯一的正确答案。Chinchilla 提供的不是一个固定的公式,而是一种思维框架:训练前认真权衡模型大小、数据量和推理成本的三角关系,而不是只盯着"参数越大越好"这一个维度。
13.6、让规模成为现实:分布式训练的工业化
13.6.1 物理基础设施的挑战
Scaling Laws 告诉你应该训练一个 1750 亿参数的模型。但实际上怎么做到呢?
1750 亿参数,以 16 位浮点(FP16)存储,需要约 350 GB 的显存。而一块 A100 GPU 只有 80 GB 显存。这意味着,单张 GPU 连模型的参数都装不下,更不用说训练所需的优化器状态(通常是参数量的 4-8 倍)。
要训练 GPT-3,至少需要几百块 GPU,而且这几百块 GPU 必须协同工作,每次梯度更新需要它们同步。这就是分布式训练的核心问题:如何把一个模型分散到数千块 GPU 上,让它们高效地并行工作?
要理解这个问题的规模,可以用一个类比:想象你要建造一座 1000 层的摩天大楼,而你唯一有的工具是一批只能搬运 10 层楼材料的卡车。你需要一套精密的协调系统------哪辆车运哪批材料、什么时候运、运到哪里、如何确保不互相干扰------这套系统的复杂程度,并不亚于建筑本身。分布式训练的工程挑战,正是这种性质的。
在第六章中,我们介绍了数据并行(Data Parallelism)的基本思想:把一个大批量的训练数据分成小块,每块送到不同的 GPU,各自计算梯度,再汇总同步。这是最直觉的并行方式,但这里有一个根本限制:每个 GPU 仍然需要保存完整的模型参数。如果模型本身已经超出了单 GPU 的显存,数据并行就无能为力了。
实际训练 GPT-3 时,OpenAI 使用了微软 Azure 的 V100 GPU 超级计算集群,约 1 万块 GPU 通过高速网络互联,训练时间超过一个月。在这期间,在一个如此规模的集群中,硬件故障(某块 GPU 崩溃、网络中断、内存错误)是统计上必然发生的事件,而不是偶然意外。如果没有妥善的容错机制,一次故障就会让持续数周的训练任务前功尽弃。大模型训练基础设施的一个核心工程问题,正是如何设计检查点(Checkpoint)保存和恢复机制------每隔一段时间把训练状态写入持久存储,故障后从最近的检查点重启,而不是从头开始。OpenAI、谷歌等公司在这方面积累了大量工程经验,这些经验本身就是竞争壁垒的一部分。
训练 GPT-3 规模的模型,需要三种并行技术同时使用------这被称为三维并行(3D Parallelism):数据并行处理批次,张量并行切分矩阵,流水线并行切分层数。三者协同,才能让数千块 GPU 像一台超级计算机一样工作。
13.6.2 张量并行:把矩阵切开
张量并行(Tensor Parallelism) 解决的是"模型太大,单卡装不下"的问题,方法是把模型内部的矩阵运算切分到多块 GPU 上。
Transformer 模型的核心计算是矩阵乘法。一个隐层维度为 12,288 的 Transformer,其中的注意力权重矩阵大小为 12,288 × 12,288(约 1.5 亿参数,以 FP16 存储约 300 MB)。张量并行的思路:把这个矩阵按列切成 8 份,每份放在一块 GPU 上,8 块 GPU 并行计算,最后把各 GPU 的部分结果汇总。
这种方法由 NVIDIA 研究院的穆罕默德·肖比(Mohammad Shoeybi,NVIDIA,Megatron-LM 项目负责人)等人在 2019 年的 Megatron-LM 项目中系统化并开源。Megatron-LM 提供了一套经过工程优化的张量并行实现,能在数十块 GPU 上几乎线性地扩展 Transformer 的训练效率。
张量并行的代价是:各 GPU 之间需要频繁的通信(传递中间结果),因此对 GPU 之间的互联带宽要求极高。英伟达的 NVLink 高速互联技术,正是为这种场景设计的------8 块 A100 之间通过 NVLink 连接,通信带宽可以达到 600 GB/s,远超标准 PCIe 总线的 16 GB/s。这也解释了为什么超大模型训练必须使用高端服务器而不是普通 PC 集群:互联带宽是瓶颈。
13.6.3 流水线并行:让不同层流动起来
流水线并行(Pipeline Parallelism) 的思路不同:它不切分矩阵,而是把模型的不同层分配到不同的 GPU 上。
举例:GPT-3 有 96 层 Transformer。流水线并行把这 96 层分成 8 段(每段 12 层),每段放在一块 GPU 上。第一批数据送进第一块 GPU,经过前 12 层后,把激活值传给第二块 GPU,同时第一块 GPU 开始处理第二批数据......就像工厂流水线,不同的工序同时在不同批次的数据上进行。
流水线并行的核心工程挑战是气泡问题(Pipeline Bubble):流水线启动和排空时,某些 GPU 会处于空闲状态等待数据,就像工厂流水线刚开工时,后面工位的工人无事可做。解决气泡问题需要精心设计微批量(Micro-batch)的大小和流水线调度策略。Megatron-LM 框架针对这个问题做了大量优化,把气泡比例压缩到了较低水平,使得整体 GPU 利用率保持在较高水平。
13.6.4 ZeRO:消灭显存冗余
除了模型本身,训练还需要大量额外的显存来存储:
- 梯度(Gradients):每个参数的梯度,大小与参数量相同
- 优化器状态(Optimizer States):Adam 优化器需要存储一阶矩、二阶矩等,大小是参数量的 2-3 倍
- 激活值(Activations):前向传播时中间层的输出,用于反向传播计算梯度
这三项加起来,总显存需求是模型参数本身的 5-10 倍。对于 GPT-3 这样的模型,即使 8 块 A100 通过 NVLink 连成一台"大机器",显存也会非常紧张。
微软研究院的萨米·拉杰班达里 (Samyam Rajbhandari,微软研究院,DeepSpeed 项目核心作者)等人在 2020 年提出了 ZeRO(Zero Redundancy Optimizer)。
ZeRO 的核心思想:在数据并行训练中,每块 GPU 都存了一份完整的优化器状态------但这是冗余的,因为每块 GPU 只负责更新一部分参数,存储其他部分的优化器状态完全是浪费。ZeRO 把优化器状态、梯度、甚至参数本身分片(Shard) 到各个 GPU 上,每块 GPU 只存储自己负责那份的数据,需要时再从其他 GPU 获取。
ZeRO 的三个阶段分别对优化器状态、梯度、参数进行分片:
- ZeRO-1(分片优化器状态):显存节省约 4 倍
- ZeRO-2(分片梯度 + 优化器状态):显存节省约 8 倍
- ZeRO-3(分片所有三项):显存节省与 GPU 数量成正比------理论上 1000 块 GPU 节省 1000 倍
用具体数字感受 ZeRO 的威力。GPT-3 的 1750 亿参数,每个参数以 FP32 存储占 4 字节,仅参数本身就需要 700 GB 显存。Adam 优化器还需要存储每个参数的一阶矩(动量)和二阶矩(方差),各自与参数等大,加上梯度,优化器的总额外开销约为参数量的 3 倍,即约 2100 GB。三者合计约需 2800 GB------相当于 35 块 80 GB A100 的总显存。
在标准数据并行中,每块 GPU 都需要存储完整的 2800 GB,这在工程上直接不可行。ZeRO-3 把所有这些数据分片到 N 块 GPU 上:用 1000 块 A100,每块只需存储 2.8 GB------完美契合单卡容量。需要某块参数时,通过高速网络按需广播,用完即丢。这种"按需取用"的思路,是 ZeRO 能在不牺牲太多通信效率的前提下突破显存瓶颈的关键。
ZeRO 以开源形式集成在 DeepSpeed 框架里,让研究者不需要购买英伟达最昂贵的 NVLink 集群,也能在更普通的 GPU 集群上训练较大规模的模型。Microsoft Research 把 DeepSpeed 开源,使其成为除 NVIDIA Megatron 之外最广泛使用的大模型训练框架之一。
13.6.5 梯度检查点与混合精度
除了上述三种并行方式,还有两种技术对大模型训练至关重要。
梯度检查点(Gradient Checkpointing):正常训练时,前向传播的激活值需要全部保存,供反向传播使用。这些激活值的显存占用随模型深度线性增长------96 层的 GPT-3,激活值的显存可以轻松超过参数本身。梯度检查点的做法是:只保存一部分"检查点"层的激活值,其他层的激活值在反向传播时重新计算。这用大约 30-40% 的额外计算时间,换取了显存占用减少 5-10 倍。对于极深的模型,这个权衡通常是值得的。
混合精度(Mixed Precision):以 BF16(Brain Float 16)替代 FP32 来存储模型参数和梯度,同时在关键操作(如 Softmax、Layer Normalization)上保留 FP32 精度。BF16 相比 FP16 的优势在于:它保留了 FP32 的指数范围(8 位指数 vs FP16 的 5 位),只牺牲了精度(7 位尾数 vs FP32 的 23 位)。对于大模型训练,梯度的数值范围波动很大,FP16 容易出现数值溢出和下溢,导致训练不稳定甚至崩溃;BF16 解决了这个问题,同时把参数存储大小减半,训练速度提升接近 2 倍。这也是为什么谷歌 TPU(专为 BF16 优化)在大模型训练中如此受欢迎。
这些技术组合起来,构成了 2020-2022 年大模型训练的标准技术栈:数据并行 + 张量并行 + 流水线并行(三维并行)+ ZeRO + 梯度检查点 + BF16 混合精度。
把这些技术理解为"让规模成为可能的物理基础设施"------没有它们,无论 Scaling Laws 描绘的前景多么美好,GPT-3 都只是一张在数学上存在但在物理上无法实现的蓝图。
13.7、规模的代价与隐忧
13.7.1 成本的指数级上升
规模定律是令人兴奋的,但它也有一个令人沮丧的推论:为了获得持续的性能提升,成本的上升速度远快于性能的提升速度。
具体数字说明:GPT-3 的训练成本大约是 460 万美元(2020 年估计)。按照幂律关系,让性能提升同等幅度,大约需要把参数量增加 10 倍------训练成本将上升到约 4000-5000 万美元。再提升同样幅度,需要再增加 10 倍------训练成本将达到数亿美元。
GPT-4 的训练成本(2023年)据估计超过了 1 亿美元。这意味着,继续沿着这条路走,大模型训练将很快超出除了少数几家超大型实验室之外所有研究者的资金能力。AI 研究的"贫富分化",从 GPT-3 时代开始急剧加速:大实验室拥有的计算资源,和学术界、小公司之间的差距,以每年数倍的速度扩大。
这种趋势有一个深刻的制度性后果:AI 研究的中心,从大学转移到了工业界。以往,开创性的 AI 研究往往发生在学术实验室------深度学习的三巨头(Hinton、LeCun、Bengio)都是学术研究者,他们的研究成果在发表时对所有人免费开放。但当训练一个有竞争力的语言模型需要数亿美元时,学术实验室几乎完全被排除在外。从 GPT-3 时代开始,AI 领域最重要的模型几乎都来自工业界(OpenAI、谷歌、Meta、微软、Anthropic),而不是大学。
这个转变改变的不只是"谁在做研究",也改变了"研究什么"。学术界的研究受制于同行评审和公开发表的激励,倾向于解决有理论意义的问题;工业界的研究受制于商业竞争,倾向于优先解决"能让模型更有用、更安全、更好卖"的问题。这两条路线在很多方向上重叠,但并不完全相同。当大模型研究的算力门槛确立,"学术界引领、工业界跟进"的传统格局永久性地倒转了过来。
这引出了一个关于 AI 格局的根本性问题:如果规模是能力的关键,而规模的成本持续上升,那么 AI 的未来是否注定会被少数拥有超强算力的实体垄断? 这个问题在后来的开源模型运动(第二十五章)和效率革命(第二十四章)中得到了部分回应,但在 2020-2022 年的时间点,这是一个令整个 AI 社区深感不安的开放问题。
13.7.2 强大但任性:对齐问题的浮现
GPT-3 的能力让人兴奋,但它的行为模式同样让人担忧。
GPT-3 的训练目标是"预测下一个词",优化的是语言建模损失,而不是"有用、真实、无害"。这个差距在实践中造成了一系列令人头疼的问题:
有害内容生成:如果你要求 GPT-3 续写一段关于暴力的文字,它往往会高质量地完成。因为互联网上充满了各类内容,包括大量有害内容,GPT-3 在预训练中学到了如何流畅地生成这些内容。它不知道这样做是不对的,因为它从来没有被训练过"什么是不该做的"。
系统性偏见:GPT-3 继承了训练数据里的所有偏见------性别偏见(职业词汇的性别关联)、种族偏见(对不同群体的刻板印象)。这些偏见以令人信服的、自然语言的形式输出,危害比算法时代更隐蔽。
幻觉的"自信"问题:随着模型规模增大,生成内容的流畅度提升了,但事实幻觉并没有消失。更糟糕的是,更大的模型往往以更流畅、更权威的语气表述错误信息,让人更难辨别真假。一个能写出博士论文风格文字的模型,比一个只会写简单句子的模型,更善于让错误信息看起来"像真的"。
越狱(Jailbreak):研究者很快发现,用一些巧妙的提示词,可以"诱导"GPT-3 绕过 OpenAI 加入的基本过滤器,生成它被要求不去生成的内容。提示词工程的双刃剑属性,从 GPT-3 时代就已经显现。
这一系列问题,有一个统一的名称:对齐问题(Alignment Problem)。模型的训练目标(预测下一词)与我们希望它实现的目标(帮助人类、避免伤害)之间存在根本性的错位。规模让这个错位变得更加危险:一个在言语上更有说服力的模型,能够以更大的规模、更难以察觉的方式传播错误和偏见。
在 OpenAI 内部,这个问题在 GPT-3 发布的同年就已经触发了严重的内部讨论。一批研究者------包括贾雷德·卡普兰(Scaling Laws 论文的第一作者)、伊利亚·苏茨克沃(OpenAI 联合创始人兼首席科学家)、以及后来的 Anthropic 创始团队------他们深信,如果不系统地解决对齐问题,继续提升规模将带来越来越难以控制的风险。
2021 年,一批核心研究者离开 OpenAI,创立了 Anthropic ,专注于 AI 安全研究和"有益 AI"的开发。联合创始人包括达里奥·阿莫代 (Dario Amodei,前 OpenAI 研究副总裁)、丹尼拉·阿莫代(Daniela Amodei,前 OpenAI 运营副总裁),以及贾雷德·卡普兰(Scaling Laws 论文第一作者)等 11 名 OpenAI 核心成员。这次集体离职被媒体称为 AI 领域的"世纪大出走",在当时是一次罕见的公开分歧信号。
Anthropic 的定位从一开始就和 OpenAI 有本质区别:它把 AI 安全研究(AI Safety)放在商业化之前,认为在对齐问题得到系统性解决之前,不应该不加节制地追求规模。这次分拆,不只是一次人才流动,而是 AI 领域对"规模扩展是否需要配套的安全保证"这一根本性问题的不同立场的分歧------它预示着整个领域即将进入的对齐与安全大讨论的时代。
13.7.3 一个暂时的结语
2020 年,规模定律和 GPT-3 共同描绘了一幅令人激动又令人不安的图景:
令人激动:有一条通往更强大 AI 的清晰路径------更多参数、更多数据、更多计算。幂律告诉我们这条路没有明显的天花板,涌现现象告诉我们更大的规模可能带来意料之外的能力突破。
令人不安:这条路的成本是指数级的,将 AI 能力集中在少数几家能负担得起的实体手中。更重要的是,更强大的模型不自动意味着更有益的模型------规模解决了能力问题,但没有解决意图问题。一个 1750 亿参数的模型,在"帮助人类"和"生成有害内容"这两件事上同样有能力,而它默认倾向于哪一个,取决于训练时优化的目标。
GPT-3 展示了规模的力量,但也暴露了一个无法回避的问题:它太强大了,又太任性了。给它一个写文章的任务,它可能产出精彩的内容;换一个提示词,它可能产出充满偏见的文字,甚至危险的建议。"规模"解决了能力问题,却带来了控制问题。
这里有一个细节很能说明这种矛盾:OpenAI 的工程师们在 GPT-3 发布前花了大量时间在输出层加入过滤器,手动列出不应该出现的内容类型,试图"堵住"模型的危险行为。但这种"打地鼠"式的过滤无法根本解决问题------一个足够聪明的模型,总能找到绕过过滤器的方式,而一个足够聪明的用户,也总能设计出绕过过滤器的提示词。这让研究者意识到:正确的方向不是在外部堵漏洞,而是从内部改变模型的"意图"------让它从根本上想要做有益的事。
如何让一个强大但任性的模型,真正理解并遵循人类的意图?如何把人类的价值判断------道德感、谨慎、对真实性的尊重------内化到一个本质上只是"文本续写机器"的模型里?这是第十五章要讨论的故事------从 InstructGPT 到 ChatGPT,AI 对齐的艰难之路。
13.8、知识自检
读完本章,你应该能做到:
- 解释 Scaling Laws 的核心发现:损失与模型大小、数据量、计算量之间是什么关系?这种关系有什么工程含义("训练前预测效果")?
- 解释 In-context Learning 是什么,以及它与传统 Fine-tuning 的根本区别------前者不改变什么,后者改变了什么?
- 用一个具体任务举例说明"涌现能力"是什么,以及为什么在学术上存在争议
- 说出 Chinchilla 修正了 Kaplan 等人结论的哪个具体方面,以及这个修正如何改变了后来的大模型训练策略
- 解释三种并行方式各自解决了什么问题:数据并行(解决什么),张量并行(解决什么),流水线并行(解决什么)
13.9、常见误解
❌ "模型越大效果越好,所以应该一直追求最大的模型"
✅ 实际上:Chinchilla(2022)证明,模型大小和训练数据量需要同比例增长。一个"训练不足"的大模型(参数多但数据少),往往不如一个"训练充分"的小模型。评估一个模型时,参数量和训练 Token 数同样重要。
❌ "Scaling Laws 证明了损失会一直下降,永远不会饱和"✅ 实际上:Scaling Laws 描述的幂律关系表明,在测试的规模范围内,损失持续下降而没有明显的饱和点。但这不等于"永远不会饱和"------它只是说我们还没看到饱和。而且损失下降的边际成本持续上升(每次提升需要更多资源),经济可行性是另一回事。
❌ "In-context Learning 说明 GPT-3 在推理时也在更新参数、在学习"✅ 实际上:In-context Learning 发生在推理时,不改变任何参数。模型的权重在整个推理过程中是固定的。它是某种形式的"元推理"------模型利用上下文里的示例来调整输出,但并不是传统机器学习意义上的"学习"(参数更新)。这一区别至今在研究界有争议,但参数不变这一事实是确定的。
❌ "涌现能力意味着某个规模以上模型会突然变得非常聪明,像'觉醒'"✅ 实际上:涌现是在特定任务上能力的突然出现,不是整体智能的觉醒。同一个展示了涌现能力的模型,在其他任务上可能仍然非常糟糕。涌现的实际含义是:某些需要多种子能力协同的任务,在模型达到某个规模前无法完成,之后突然可以------而不是"模型在某个规模变成了通用智能体"。
❌ "ZeRO 和数据并行是同一件事"✅ 实际上:数据并行关注的是如何把训练数据分散到多块 GPU 上,每块 GPU 仍需存储完整的模型。ZeRO 是对数据并行中显存冗余的优化------它把优化器状态、梯度乃至参数本身分片到各 GPU 上,让每块 GPU 只存一部分,从而支持训练更大的模型。可以理解为:数据并行是分发工作,ZeRO 是分发"仓库"。
❌ "GPT-3 的幻觉问题是因为模型'不够大',更大的模型不会有幻觉"✅ 实际上:幻觉问题不因规模增大而消失。更大的模型会以更流畅、更权威的语气表述错误信息,有时反而让幻觉更难被发现。幻觉问题的根源在于训练目标(预测下一词)与"说真实的话"之间的根本性错位,这是一个对齐问题,不是一个规模问题。
本章关键词
| 词汇 | 简明定义 |
|---|---|
| Scaling Laws(规模定律) | 描述语言模型损失与模型大小、数据量、计算量之间幂律关系的经验定律,由 Kaplan 等人(2020)系统建立 |
| 幂律(Power Law) | 一种数学关系: y ∝ x − α y \propto x^{-\alpha} y∝x−α,每当 x x x 翻倍, y y y 下降固定比例,在宽广范围内都成立 |
| In-context Learning(上下文学习) | 模型在推理时,通过上下文里的示例"学会"新任务,不更新任何参数的能力,由 GPT-3 展示 |
| Few-shot / Zero-shot | 少样本(给几个示例)/ 零样本(只给任务描述)的推理模式,无需微调 |
| 涌现能力(Emergent Abilities) | 某些能力在小模型上完全不存在,超过某个规模阈值后突然出现的现象 |
| Chinchilla 配比 | Hoffmann 等人(2022)提出:最优训练应使模型参数量 N 与训练 Token 数 D 同比例增长,每个参数对应约 20 个 Token |
| 数据并行(Data Parallelism) | 把训练批次分散到多 GPU,各自计算梯度后汇总,每块 GPU 存完整模型 |
| 张量并行(Tensor Parallelism) | 把模型内部的矩阵运算切分到多块 GPU 上并行计算,Megatron-LM 的核心技术 |
| 流水线并行(Pipeline Parallelism) | 把模型不同层分配到不同 GPU,让不同批次的数据像流水线一样同时在不同层处理 |
| ZeRO(Zero Redundancy Optimizer) | DeepSpeed 的显存优化技术,通过分片存储优化器状态、梯度和参数,消除数据并行中的显存冗余 |
| 梯度检查点(Gradient Checkpointing) | 只保存部分层的激活值,在反向传播时重新计算其余层,用计算时间换取显存 |
| BF16(Brain Float 16) | 16 位浮点格式,保留了 FP32 的动态范围(8 位指数),比 FP16 更适合大模型训练,不易出现数值溢出 |
| 对齐问题(Alignment Problem) | 模型的训练目标(预测下一词)与人类期望目标(有用、真实、无害)之间的根本性错位 |
| Prompt Engineering(提示词工程) | 通过设计输入文本的格式和内容,引导大模型产生期望输出的技术与方法论 |
延伸阅读
-
必读 :Kaplan, J., et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.------Scaling Laws 的原始论文,图表丰富,第 3、4 节的实验结果最重要
-
必读 :Brown, T., et al. (2020). Language Models are Few-Shot Learners. NeurIPS 2020.(GPT-3 技术报告,arXiv:2005.14165)------重点读 Section 2(模型和训练细节)和 Section 3(In-context Learning 基准测试)
-
推荐 :Hoffmann, J., et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.(Chinchilla 论文)------修正 Kaplan 等人结论的关键论文,第 4 节的实验对比很直观
-
推荐 :Wei, J., et al. (2022). Emergent Abilities of Large Language Models. Transactions on Machine Learning Research.------涌现能力的系统性整理,涌现任务列表和曲线图值得细看
-
推荐 :Schaeffer, R., et al. (2023). Are Emergent Abilities of Large Language Models a Mirage? NeurIPS 2023.------对涌现能力的有力挑战,建议和上面一篇对比阅读
-
深入 :Rajbhandari, S., et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion Parameter Models. SC20.------ZeRO 的原始论文,附录的显存分析非常详尽
!tip
下一章预告:在语言模型沿着规模曲线高速扩张的同时,AI 发展的另一条平行轨道上,一个完全不同的问题正在被攻克:不是识别,而是决策。2016 年 3 月,首尔,一个名为 AlphaGo 的程序以 4:1 打败了人类最强围棋棋手------就在几年前,整个围棋界还认为这至少需要十年。这条平行故事线,与语言模型的发展最终在 2022 年汇合,产生了今天 AI 推理和对齐能力的核心基础。下一章,我们暂时离开 NLP 主线,追踪这条从 Atari 游戏到国际数学奥林匹克的深度强化学习之路。