老司机带你学大模型
一、序章:语言(2010年前)
在深度学习真正接管自然语言处理之前,语言对机器来说,始终是一道难以解决的难题。
当时的研究者们面对的核心困境,并不是「模型不够深」,而是时间本身。
语言是序列。一个句子里的每个词,都依赖它前面出现过的词,有时甚至依赖很远之前的信息。要让机器处理这种依赖,最符合直觉的做法,就是让网络也「按时间一步步走」——这就是循环神经网络(RNN)以及它的改进版 LSTM、GRU 的出发点。它们在每个时间步接收一个词,更新自己的隐藏状态,再把这个状态传递给下一个时间步。理论上,只要隐藏状态足够强大,网络就能把之前所有信息都压缩进去,供后续使用。
环神经网络(RNN)正是这个信念的直接产物。它的设计高度符合直觉——网络在每个时间步读入一个词,更新自己的隐藏状态,再把这个状态传递给下一个时间步。理论上,隐藏状态就是模型的「记忆」,只要它足够强大,就能把之前出现过的所有信息压缩进去,供后面使用。语言从左到右展开,模型也从左到右前进,二者在结构上形成了完美的对应。
RNN系列模型
2014到2017年中期,RNN系列(主要是LSTM和GRU)几乎就是语言相关任务的主流解法。
最典型的是 Seq2Seq + Attention 架构,用在机器翻译上:
- 编码器(Encoder):用一层或多层LSTM,从左到右(有时再加一层从右到左)读完整句源语言,把每个时间步的隐藏状态记录下来。
- 解码器(Decoder):另一个LSTM,负责生成目标语言。每生成一个词,它都会通过注意力机制去看编码器所有时间步的隐藏状态,决定此刻最该关注输入的哪些部分。
- 训练时用教师强制(teacher forcing),推理时则是自回归生成。
除了翻译,RNN/LSTM当时还主导着:
- 语言模型(预测下一个词)
- 语音识别
- 图像描述生成
- 简单的对话和文本生成
可以说,那几年只要是「输入是序列、输出也是序列」的任务,第一反应基本都是上LSTM。
然而,原始RNN很快就暴露了致命缺陷。当序列变长,梯度在反向传播过程中会急剧消失或爆炸,网络几乎无法学习到较远距离的依赖关系。训练变得困难,模型的实际记忆能力远弱于理论预期。
真正让循环架构在2010年代中期焕发生机的,是LSTM(长短期记忆网络)以及后来的GRU。通过引入精巧的门控机制,LSTM大幅缓解了梯度问题,使神经网络第一次在机器翻译、语言建模等任务上取得了真正可用的效果。2014年前后,基于LSTM的Seq2Seq模型开始在翻译任务上展现出令人印象深刻的表现,神经网络方法迅速从边缘走向舞台中央。
一时间,乐观情绪弥漫。人们相信,只要继续改进记忆机制、加深网络、优化训练技巧,循环架构就能不断逼近语言的本质。注意力机制也在2015年被引入,作为RNN的重要补充——它允许解码器在生成每个词时,动态地回顾输入序列的不同部分,显著改善了长句处理效果。但几乎所有人仍将注意力视为循环结构的「插件」,而不是可以取而代之的基础。
到了2016至2017年初,天花板却变得清晰可见。
即便使用最强的LSTM,模型对长距离依赖的捕捉依然脆弱。句子一旦拉长,性能下降明显。更现实的制约在于计算效率:循环结构必须严格按时间步顺序计算,难以充分并行,训练速度和硬件利用率都受到严重限制。研究者们继续在门控设计、网络深度、正则化方法上投入努力,但边际收益已经越来越小。
当时的主流意识形态可以概括为:问题不在于「用循环来建模时间」这个前提,而在于我们的记忆机制还不够好。语言的顺序本质,决定了模型必须一步步往前走。没有人认真怀疑过,也许这个前提本身就值得被重新审视。
于是,整个领域陷入了一种精致的停滞。瓶颈人人可见,补丁越打越多,但真正动摇根基的想法,尚未出现。
当句子变长,梯度在反向传播时会急剧消失或爆炸。模型几乎记不住十几步之前的信息。训练变得缓慢且不稳定,因为计算必须严格按时间顺序进行,无法像卷积神经网络那样充分并行。更致命的是,研究者们逐渐发现:即便把网络加深、把隐藏状态加大,性能的提升也越来越有限。深度和记忆之间,似乎存在某种无法调和的矛盾。
在那个年代,主流的意识形态大致是这样的:
语言的本质是序列,因此模型也必须是序列的。循环结构是处理时间依赖性的正道,注意力最多只是一种辅助手段。
事实上,注意力机制并非凭空出现。2014到2015年间,Bahdanau等人已经在机器翻译中引入了注意力,让解码器在生成每个词时,能够回头查看编码器的所有隐藏状态。它显著改善了长句翻译的效果,被看作RNN的重要补丁。但几乎没有人认真考虑过:也许循环结构本身才是问题所在。完全抛弃RNN、只靠注意力来建模序列,在当时听起来既激进,也不必要。
于是,整个领域陷入了一种精致的僵持。
人们一边用LSTM堆叠出当时最强的翻译和语言模型,一边隐隐感觉到天花板的存在。大家继续在循环的框架里做各种改进——更复杂的门控、更深的堆叠、更好的初始化——却很少有人追问:我们是否从一开始就选错了建模时间的方式?
这就是2017年之前,自然语言处理所处的精神状态:清晰地知道问题在哪里,却尚未准备好推翻自己最信任的假设。
语言的诅咒,表面上是「长距离依赖难以捕捉」,深层却是——人类还没有找到一种既能保留序列秩序、又能彻底摆脱逐步计算束缚的方法。
而突破,往往就发生在人们终于愿意怀疑「理所当然」的那一刻。
二、注意力革命:抛弃循环的勇气(2017)
到了2017年,循环神经网络的瓶颈已经不再是秘密。
最强的Seq2Seq模型在翻译较长句子时,依然会出现明显的性能下降。更现实的问题是训练效率:由于必须按时间步依次计算,即便使用最好的硬件,也很难充分并行。研究者们继续在LSTM和GRU上做各种改进,但收获越来越小。注意力机制虽然已经被广泛使用,却始终只是循环结构的「外挂」——它帮助解码器更好地查看输入,却没有动摇「语言必须靠循环来建模」这一根本前提。
正是在这样的背景下,Google的Vaswani等人抛出了一篇标题直接到近乎挑衅的论文:Attention is All You Need。
他们做了一件在当时看来相当激进的事:彻底拿掉循环,也拿掉卷积,只留下注意力。
新的模型被命名为Transformer。它的核心假设是:序列中任意两个位置之间的关系,可以通过自注意力直接计算,而不需要借助逐步传递的隐藏状态。为了让模型知道词的顺序,他们加入了位置编码;为了让模型同时关注不同类型的关系,他们使用了多头注意力。整个结构变得高度并行,训练速度大幅提升。
这在当时并不容易被接受。
循环结构已经统治序列建模多年,它符合人们对「时间」和「记忆」的直觉。突然有人说「我们不需要一步步往前走,直接让所有词互相看见就行」,听起来既简化得过分,又有些冒险。毕竟,完全依赖注意力,模型还能否保持对顺序的敏感?长距离依赖是否真的能被有效捕获?这些问题在论文发表之初并没有立刻得到所有人的信任。
但实验结果很快给出了回答。Transformer在机器翻译上全面超越了当时最好的RNN模型,而且训练更高效。更重要的是,它证明了一件被长期忽视的事:序列的秩序,并不一定要靠循环来维护;通过位置编码和注意力的配合,秩序可以被重新注入。
这场革命的意义,不在于它立刻发明了今天的大模型,而在于它打破了一个持续多年的思想封印——处理语言,并非必须沿着时间一步步前进。
不过,原始的Transformer仍然带着明显的时代印记。它采用的是经典的Encoder-Decoder结构,主要针对机器翻译这类「输入和输出不同」的任务设计。编码器负责双向理解源语言,解码器则通过交叉注意力生成目标语言。它还没有成为通用的语言模型,也没有人预见到,短短几年后,人们会把编码器整个拆掉,只留下解码器,去完成更广泛的智能目标。
突破已经发生,但真正的转向,还在后面。
Transformer 到底在 LSTM/GRU 身上改进了什么?
核心改进其实就三点,而且三点都击中了循环网络的要害:
- **计算从「串行」变成了「并行」**LSTM/GRU 必须一个时间步算完,才能算下一个时间步,因为当前隐藏状态依赖上一个。Transformer 用自注意力,所有位置可以同时计算,训练时并行度大幅提升。这在GPU时代是决定性的工程优势。
- 任意两个位置之间的「路径长度」变成了常数在LSTM里,第1个词和第100个词要发生关系,信息必须依次穿过中间98个时间步,即使有门控,也容易衰减。在Transformer里,任意两个词通过注意力可以直接交互,路径长度是 (O(1))。长距离依赖终于不再是「理论上能、实际上很难」。
- 彻底移除了循环结构
不再需要一步步维护隐藏状态。位置信息改用位置编码注入,顺序关系由注意力和位置编码共同承担。模型结构更简洁,也更容易堆深。
简单说,Transformer 不是在LSTM上做了更好的门控,而是换了一种完全不同的方式来建模序列关系——从「逐步传递记忆」变成了「全局直接对齐」。
这并非突然的神来之笔,而是有清晰的思想铺垫的。
真正的关键铺垫是 2015年的注意力机制(Bahdanau Attention)。
当时人们已经发现:在LSTM的Seq2Seq模型里,只把编码器最后一个隐藏状态丢给解码器是不够的。如果让解码器在生成每个词时,都能「回头看」编码器所有时间步的状态,并计算一个软对齐权重,效果会好很多。注意力一加上去,长句翻译立刻明显改善。
这个现象给了研究者一个强烈的暗示:
「让模型直接去看它想看的位置」,比「把信息一步步传过去」,似乎更有效。
于是一个更激进的问题自然就浮现了:
既然注意力已经能很好地解决远距离对齐,那我们还需要那个又慢又容易丢信息的循环骨架吗?
Google的团队(Vaswani等人)做的,就是把这个疑问推到了极致。他们试着把循环和卷积全部拿掉,只留下注意力,再配合位置编码和多头机制,看模型能不能自己学会序列关系。结果证明可以。
所以,Transformer的出现,不是凭空发明了一个全新概念,而是:
- 前人已经证明「注意力很强」
- 循环结构的效率和长距离问题日益突出
- 有人愿意彻底怀疑「必须用循环来建模时间」这个前提
注意力从「插件」变成「主体」,就是这一跳的本质。
1. 最核心的对比图:信息是怎么流动的
LSTM/GRU(逐步传递)
词1 → 词2 → 词3 → 词4 → ... → 词n
↑ ↑ ↑ ↑ ↑
隐藏状态必须一个一个往后传
第1个词的信息想传到第n个词,必须经过中间所有时间步。路径长度是 O(n)。
Transformer(直接对齐)
词1 ──┐
词2 ──┼──→ 所有词都可以直接互相看见
词3 ──┤
词4 ──┤
... │
词n ──┘
任意两个词之间都有直接连接,路径长度是 O(1)。
2. 用注意力矩阵来理解「直接看见」
Transformer 的自注意力本质上在算一个矩阵:
词1 词2 词3 词4
┌─────────────────────┐
词1 │ 高 中 低 低 │
词2 │ 中 高 中 低 │
词3 │ 低 中 高 中 │
词4 │ 低 低 中 高 │
└─────────────────────┘
每一行表示「当前这个词在多大程度上关注其他词」。
模型通过这个矩阵,直接把远处的信息拿过来用,而不需要一步步传。
3. 伪代码对比(最清晰的版本)
LSTM 的一步(必须串行)
# 必须按顺序计算
for t in range(1, n):
h[t] = LSTM_cell(x[t], h[t-1]) # 当前状态依赖上一个状态
Transformer 自注意力(可并行)
# 所有位置同时计算
Q = x @ Wq # 每个词的 Query
K = x @ Wk # 每个词的 Key
V = x @ Wv # 每个词的 Value
# 直接算所有词之间的关系(核心)
Attention = softmax(Q @ K.T / sqrt(d)) @ V
注意最后一行:Q @ K.T 一次性算出了所有位置两两之间的关系,这就是它能并行、且路径长度为常数的原因。
LSTM 像传话游戏,信息必须一个个往后传,传得越远越容易丢失。
Transformer 像所有人同时开会,任何人想和另一个人说话,都可以直接对话。
三、生成的觉醒:为什么最终只留下了解码器(2018–2020)
Transformer出现后,Encoder-Decoder结构迅速成为机器翻译和序列转换任务的主流。然而,真正改变游戏规则的,是另一条更简洁的路径。
OpenAI的GPT系列选择只保留解码器,并用「预测下一个词」作为唯一的训练目标。这个决策在当时并不显眼,甚至有些保守——它放弃了编码器提供的双向理解能力,也放弃了交叉注意力这条专门的信息通道。表面上,模型变得更弱了。
但背后的意识形态转变,远比结构简化更深刻。
研究者们开始相信:如果一个模型足够强,仅仅通过 Continuously 预测下一个词,它就能在内部学会语法、事实、推理,甚至一定程度的世界知识。换句话说,语言建模本身可能就是通往通用能力的足够路径,而不需要为每种任务设计专门的编码和解码结构。
这一转向的关键实验场是GPT-2和GPT-3。当模型规模扩大后,人们惊讶地发现,许多原本需要监督数据才能完成的任务,竟然可以通过提示(prompt)直接激发出来。模型开始展现出上下文学习的能力——不更新参数,只靠一段示范,就能完成新任务。
于是,一个新的共识逐渐形成:与其分别训练理解模型和生成模型,不如把所有任务都统一成「文本续写」。编码器不再是必要的,交叉注意力也不再是必要的。只要解码器足够深、足够宽,它就能同时承担理解和生成的职责。
这个决定牺牲了对输入的深度双向建模,却换来了架构的统一和规模化的便利。从此,大模型的主航道确定为Decoder-Only Transformer。
四、规模的信仰:Scaling Law 成为新宗教(2020–2022)
当Decoder-Only架构确立后,下一个问题变得尖锐:模型到底该有多大?数据和计算该如何分配?
2020年前后,OpenAI和DeepMind的研究揭示了清晰的缩放规律。在数据和算力配比合理的前提下,模型的损失几乎可以随规模可预测地下降。更大的模型、更多的数据、更长的训练,带来的提升是平滑且持续的。
这彻底改变了研究的优先级。
此前,人们习惯于寻找更精巧的结构、更巧妙的训练技巧。现在,一种新的意识形态迅速占据主流:规模本身就是方法。只要把模型做大、数据喂够,能力就会涌现。结构创新暂时退居次要位置,算力和数据成为最核心的竞争力。
GPT-3的1750亿参数,是这一信仰的第一次公开加冕。它不再依赖微调就能完成大量任务,展现出令人侧目的上下文学习能力。随后,各家机构开始竞相扩大规模,参数量从千亿走向万亿的讨论也变得不再遥远。
然而,信仰的背面是门槛的急剧抬高。能够验证这些规律的人,必须拥有巨大的算力集群。研究开始分化:一部分人继续探索规模的极限,另一部分人则被迫思考,在无法企及这种算力的情况下,是否还有其他道路。
规模带来了能力,也带来了新的问题——模型变强之后,它的行为越来越难以预测和控制。
五、涌现与对齐:当模型开始「有自己的想法」(2022–2023)
规模堆上去之后,意料之中的能力出现了,也有一些意料之外的现象。
模型开始展现出思维链推理、工具使用、初步的规划能力。更重要的是,这些能力往往不是被明确训练出来的,而是在规模达到某个阈值后突然「涌现」。研究者们意识到,下一个词预测这个简单目标,在足够大的模型里,竟然能孕育出远超预期的复杂行为。
与此同时,问题也变得尖锐。
模型会一本正经地胡说八道(幻觉),会输出有害内容,会在价值观上与人类期望产生冲突。单纯的语言建模目标,显然无法自动保证模型「按照人类想要的方式」行事。
于是,对齐(Alignment)成为新的核心议题。RLHF(基于人类反馈的强化学习)被大规模采用,后来又发展出Constitutional AI、直接偏好优化等方法。其本质是在原来的语言建模目标之上,再叠加一个人类偏好的优化信号。
这一阶段的思想转变在于:人们第一次系统性地承认,「预测下一个词」并不足以定义智能的全部。模型需要额外的约束,才能把自己的能力导向对人类有益的方向。智能的塑造,从纯粹的统计学习,进入了价值介入的阶段。
六、效率与结构的回归(2023–2026)
当模型进入千亿、万亿参数量级后,纯规模路线的边际收益开始下降,新的瓶颈暴露出来。
首先是推理成本。超长上下文下,标准注意力的计算和显存开销变得难以承受。其次是训练效率,喂给模型的数据质量和利用率受到更多审视。人们重新开始追问:是否存在比标准Transformer更高效的结构?
于是,沉寂一段时间的结构创新重新活跃。
分组查询注意力(GQA)、多头潜在注意力(MLA)被用来压缩KV缓存;混合专家模型(MoE)通过稀疏激活,在参数量大幅增加的同时控制计算量;状态空间模型(Mamba等)尝试用接近线性的复杂度挑战注意力的地位;各种混合架构也开始出现。
与此同时,长上下文技术、推理时计算(test-time compute)、合成数据等方向同时推进。规模信仰并未被抛弃,但已不再是唯一的教义。新的共识正在形成:在继续扩大规模的同时,必须重新认真对待架构、效率和数据的质量。
这一阶段的特征,是理想主义的规模叙事与工程现实主义的再次平衡。
七、终章:未完成的意识形态
回望这十余年,大模型的发展史并不是一条直线通向真理的道路,而是一场持续的意识形态更迭。
最初,人们相信循环是序列的本质;后来,注意力证明了并行关系可以取代逐步传递;再后来,解码器alone + 规模被奉为圭臬;当能力涌现后,对齐又成为必须面对的命题;而到了今天,效率和结构重新回到舞台中央。
每一次突破,都建立在对上一个「理所当然」的否定之上。每一次解决旧问题,也几乎都会带来新的困境。
如今我们站在一个新的节点上:模型已经足够强大,强到能够参与科学发现、代码生成和复杂推理,但关于「智能的本质目标究竟是什么」「规模与结构谁更根本」「如何让模型真正与人类价值对齐」这些问题上,共识远未达成。
大模型的历史仍在继续。它真正的奥妙,不在于某个具体的结构或参数量,而在于人类不断重新定义问题、推翻自身假设的过程本身。
而下一个被打破的共识,可能已经在路上。