AI WINTER AND SPRING · CHAPTER 06

Transformer 革命(2017—2022)

Transformer、规模定律与基础模型如何共同铺平通往大模型时代的道路。

一个"只需要注意力"的赌注

Transformer 编码器、解码器和多头注意力完整架构图
Transformer 编码器—解码器及注意力机制架构。dvgodoy;CC BY 4.0。 查看原始资料

2017 年 6 月 12 日,一篇论文悄悄挂上了 arXiv,编号 1706.03762。标题是七个英语学习者都能读懂的一句话:《Attention Is All You Need》——你只需要注意力。

作者是 Google Brain 和 Google Research 的一个八人小组,外加一位在多伦多大学实习的本科生。他们提出了一个叫 Transformer 的架构,干了一件在当时看来相当激进的事:把循环神经网络(RNN)和卷积网络(CNN)全部扔掉,只留下注意力机制(attention)本身。 论文摘要写得很明确——"based solely on attention mechanisms, dispensing with recurrence and convolutions entirely"。

这是一个有底气的赌注。注意力机制本身不是新发明——2014 年,巴丹诺(Bahdanau)、赵(Cho)和本吉奥(Bengio)在蒙特利尔大学就已经把它用在了机器翻译的序列到序列(seq2seq)模型上。但那时注意力只是 RNN 的一个辅助部件。Google 这群人的宣言是:辅助部件本身就是主角,循环那套可以不要。

为什么不要?因为 RNN 有两个致命的工程缺陷。第一,它必须按时间步串行计算——第 t 步依赖第 t−1 步,没法并行,GPU 的大规模并行算力在它身上使不上劲。第二,长序列里远距离的两个词之间,信号要经过一长串中间步骤,梯度走着走着就消失了。Transformer 用自注意力(self-attention)一刀解决两个问题:所有位置在每一层同时计算(完全并行),任意两个位置之间直接连接(路径长度 O(1),不再随距离衰减)。

半年后,2017 年 12 月,这篇论文在 Long Beach 召开的第 31 届 NeurIPS 上正式宣读。没有人立刻意识到,它会在接下来五年里改写整个人工智能的格局。

一棵树的两个枝桠

Transformer 一落地,立刻分叉成两条路线,而这两条路线的竞争,将决定接下来七年的走向。

第一条是编码器路线。2018 年 10 月,Google AI Language 的德夫林(Devlin)等人发布 BERT(arXiv 1810.04805)。它只用 Transformer 的编码器,注意力是双向的——每个词同时看到左边的词和右边的词,像做完形填空一样,挖掉一个词让模型猜。BERT 在理解类任务上极强:分类、问答、命名实体识别、检索。它一度是自然语言处理的王者。

第二条是解码器路线。这里要厘清一个容易被时间线误导的细节:GPT 其实比 BERT 早四个月。2018 年 6 月,OpenAI 的雷德福德(Radford)等人发布了 GPT-1。它只用 Transformer 的解码器,注意力是单向的(causal masked)——每个词只看左边已经生成的词,逐词往后预测,像写作文。论文标题《Improving Language Understanding by Generative Pre-Training》(《通过生成式预训练提升语言理解》)有点拗口,而且有意思的是,这篇论文从未正式发表在任何学术会议上,只放在 OpenAI 官网上——这在 LLM 史上是个常被忽略的细节。

两条路线的本质区别,是一句话能说清的:编码器看全文,解码器只看上文。BERT 擅长"读懂",GPT 擅长"续写"。2018 年那会儿,没人能判断谁会赢。Google 押注编码器,OpenAI 押注解码器。到 2020 年 GPT-3 之后,胜负才逐渐分明——但这要从一条更深的规律说起。

规模是一条规律,不是直觉

2017 到 2018 年,深度学习界开始意识到一件令人不安的事:模型越大,效果越好,而且这个"越好"是有规律地、可预测地变好。

2020 年 1 月,OpenAI 的卡普兰(Kaplan)等人把这条直觉固化成了定律。论文《Scaling Laws for Neural Language Models》(《神经语言模型的缩放定律》,arXiv 2001.08361)给出了一个冷冰冰的结论:语言模型的损失(loss),随着参数量、数据量、算力的增长,沿一条幂律(power law)下降。"更大就更好"不再是经验感觉,而是可量化的数学规律——给定预算,你能预先算出最优的参数/数据配比;只要钱够、卡够、数据够,性能就能按曲线外推。

这条 Scaling Law 的思想先声,其实是里奇·萨顿(Rich Sutton)2019 年那篇广为流传的文章《The Bitter Lesson》(《苦涩的教训》):在 AI 史上,凡是依赖人类手工知识的方法,最终都被算力驱动的通用方法超越。萨顿的结论是——别再费心设计巧妙的算法了,把算力用足就行。卡普兰 2020 给这个"苦涩教训"补上了数学证明。

但 Scaling Law 不是教条。2022 年,DeepMind 的霍夫曼(Hoffmann)等人发表《Training Compute-Optimal Large Language Models》(《训练算力最优的大语言模型》,Chinchilla,arXiv 2203.15556),修正了卡普兰的结论:原 Scaling Law 低估了数据量的重要性。卡普兰的曲线暗示"多堆参数少喂数据",Chinchilla 指出更优的策略是"参数和数据同步增长"。这次修正说明"暴力美学"不是无脑堆参数——参数和数据的配比本身就是一门学问。

无论用 Kaplan 还是 Chinchilla 的版本,结论都指向同一个方向:规模这条路,是通的。

一条三年涨一千五百倍的曲线

GPT-1、GPT-2 和 GPT-3 参数规模跨数量级增长曲线
GPT 参数规模从 2018 年的 1.17 亿增长到 2020 年的 1750 亿,三年约增长 1500 倍。 TerminalAI 原创信息图,CC BY-NC-SA 4.0。

OpenAI 用 GPT 系列把这条路走到了极致。

2018 年 6 月,GPT-1,约 1.17 亿参数。2019 年 2 月,GPT-2,约 15 亿参数——论文标题换成了一个更激进的宣言:《Language Models are Unsupervised Multitask Learners》(《语言模型是无监督的多任务学习器》)。2020 年,GPT-3,约 1750 亿参数,发表于 NeurIPS,arXiv 2005.14165。

三年,从 1.17 亿到 1750 亿,涨了约 一千五百倍,跨越三个数量级。每一次跳跃都在 10 倍以上:GPT-1 到 GPT-2 约 12.8 倍,GPT-2 到 GPT-3 约 116 倍。这不是渐进改良,是一场赌上了整个公司命运的规模豪赌。

GPT-2 还顺带制造了 AI 安全叙事的第一个公共事件。2019 年 2 月发布时,OpenAI 声称完整模型"过于危险不宜发布"——担心被用来大规模生成虚假信息——于是分阶段放出:先 124M,再 355M、774M,直到 2019 年 11 月才放出完整的 1.5B 版本。事后他们承认,没观察到显著滥用。支持者把这视为审慎,批评者(如 Fast.ai)指责这是营销话术。但无论如何,"too dangerous to release"这套修辞,从此成了前沿 AI 实验室发布新模型时的固定剧本。

GPT-3 是真正的范式转折点。它的核心发现不在规模本身,而在规模带来的一个副作用:few-shot learning(少样本学习)。GPT-3 论文证明,一个 1750 亿参数的模型,不需要微调,只要在 prompt 里给它几个例子,它就能做翻译、问答、写代码、做算术。论文把这种能力命名为 in-context learning(上下文学习)——模型在推理时,从上下文里当场学会一个新任务。

GPT-3 是真正的范式转折点。GPT-1/2 的范式是"预训练 + 微调",每个下游任务都要单独微调一个模型;GPT-3 把范式换成了"预训练 + prompt",一个模型靠提示就能应对万千任务。微调是给模型开小灶,prompt 是给模型下指令。后者的弹性,远大于前者。

一个 2021 年才被命名的概念:基础模型

规模之路走通之后,整个范式需要一个名字。2021 年 8 月,斯坦福以人为本 AI 研究院(HAI)发布了一份报告《On the Opportunities and Risks of Foundation Models》(arXiv 2108.07258,博马萨尼(Bommasani)等人)。报告造了一个词——基础模型(foundation model)——定义很简洁:在大规模数据上(通常用自监督)预训练,可适配(如微调)到多种下游任务的模型。

"基础"这个词有讲究。报告的意思是,这些模型不再是完成某一个具体任务的工具,而是整个下游应用的地基——就像操作系统之于应用软件。一个 GPT-3,可以撑起成百上千个不同的应用。博马萨尼等人自己也承认这个词有争议,但它流行开了。今天我们说"大模型",底层概念就是"基础模型"。

这个演化链值得理一遍。2006 年 Hinton 用逐层无监督预训练把深度网络救活(第五章);到了 GPT,预训练的目标变成了一个极其简单的自监督任务——预测下一个词。简单到让人怀疑它能不能学到东西。但它学到了。因为要准确预测下一个词,模型被迫去理解语法、记忆世界知识、追踪推理链条。这个看似平凡的目标,压缩了整个互联网的语料,也就压缩了语料里的世界。

1750 亿参数还不够

GPT-3 是规模之路的里程碑,但它有一个被刻意掩盖的问题:它不好用。

GPT-3 会生成流畅的胡说八道,会拒绝简单指令,会对有害请求照单全收。它有知识、有语言能力,但它不听话。这正是 2022 年那篇关键论文要解决的。

2022 年 3 月,OpenAI 的欧阳龙(Long Ouyang)等人发表《Training language models to follow instructions with human feedback》(《训练语言模型用人类反馈遵循指令》,InstructGPT,arXiv 2203.02155,NeurIPS 2022)。核心方法是 RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习),分三步:先监督微调(SFT),再训练一个奖励模型(RM)学习人类偏好排序,最后用 PPO 强化学习优化。

这篇论文有一个反直觉到震撼的发现:13 亿参数的 InstructGPT,其输出被人类评估者偏好于 1750 亿参数的 GPT-3。 小了两个数量级的模型,在对齐人类意图这件事上,反而赢了。

这点很关键:规模不是一切,对齐(alignment)是规模之外的另一个独立维度。一个又大又聪明但不听话的模型,不如一个稍小但听话的模型有用。这个判断,直接通向了 2022 年 11 月那场震动世界的产品发布。

但在那之前,还有最后一件事要说清楚。第六章讲的这一切——Transformer、Scaling Law、基础模型、GPT、InstructGPT——它们都在干同一件事:让模型学会语言,学会在语言里推理。 但推理本身,和"用语言做事",是两回事。一个模型能写出一篇漂亮的代码,不代表它能自己把代码跑起来、调试、修 bug、完成任务闭环。

这个从"会聊天"到"会干活"的跨越,是第八章的故事。而它是否顺利,将决定我们是否正在重演第三章的宿命。

(本章史料均经独立核证,详见《第六章-史料核证附录》。)