大模型原理 (一) 从RNN到Transformer

大模型原理 (一) 从RNN到Transformer

最近从Cursor迁移到ClaudeCode和Codex原生环境,GPT5.5体验大幅提升,简直有2023年ChatGPT刚问世的那种惊讶的体验感

于是回顾了大模型起源相关论文

再找Deepseek梳理了一下Transformer到底解决传统神经网络的什么问题,内容如下:


我们要聊的,是站在今天大语言模型浪潮之巅的那个核心架构——Transformer。要真正理解它为什么能催生“智能”,我们需要先回到过去,看看传统的神经网络,特别是曾经统治序列建模的 RNN,到底卡在了哪里。


1. 神经元与最朴素的神经网络

一个神经网络,可以看作一个复杂的函数。它由大量“神经元”组成,每个神经元对输入做加权求和,再经过一个非线性激活函数输出。

  • 全连接网络(MLP) 是最原始的形式:上一层每个神经元都连接下一层每个神经元。
  • 但它有一个致命问题:输入大小是固定的。一句话如果长短不一,我们必须截断或填充到固定长度。而且它天然认为输入的每个位置彼此独立,没有顺序概念。比如“我爱你”和“你爱我”,在全连接眼里,打乱顺序的输入向量可能毫无差别。

这就注定,传统 MLP 无法胜任语言这样的序列任务。


2. RNN 的辉煌与枷锁

为了让网络拥有“记忆”,循环神经网络(RNN) 诞生了。它的核心思想是:有一个隐藏状态 ( h_t ),在读取序列的每一步时,都会把当前输入 ( x_t ) 和上一时刻状态 ( h_{t-1} ) 融合,产生新状态 ( h_t ),并输出 ( y_t )。

这就像人在阅读:每读一个词,都会结合前文的理解,更新脑中的含义。

那么,为什么 RNN 没能直接催生出今天的大模型智能呢?有三大死穴:

  • ① 顺序计算的诅咒(无法并行)
    计算 ( h_t ) 必须先算完 ( h_{t-1} ),这意味着处理一个长度为 1000 的序列,必须串行走过 1000 步。GPU 有成千上万个核心,但 RNN 只能一个时间步一个时间步地跑,训练速度极慢。当模型参数量大到数百亿时,这种时间成本是完全不可接受的。

  • ② 梯度消失/爆炸(长程遗忘)
    RNN 通过时间反向传播(BPTT)来学习。每一步的梯度要连乘一个雅可比矩阵。如果这个矩阵的最大特征值小于 1,连乘后梯度会指数级衰减到 0,这就是梯度消失;大于 1 则爆炸。
    虽然 LSTM、GRU 通过“门控”机制缓解了这个问题,但它们也只是把记忆拉长了几十步,依然无法真正处理相隔千词的复杂依赖。比如让 RNN 理解“我 30 年前种下的那棵……苹果树终于结果了”,它读到“结果了”时,早已遗忘“种下”的信息。

  • ③ 难以规模化
    想把 RNN 堆深、加宽来扩大容量?很困难。因为顺序依赖限制了并行度,深层的 RNN 训练不仅极慢,而且梯度路径太长,极不稳定。历史上最大的 RNN 模型,参数量也远远无法与今天的 Transformer 大模型相比,更不会涌现出惊人的推理能力。

简单说:RNN 有智能的愿望,却没有可扩展的体格。


3. Transformer 的破局:注意力即一切

2017 年,Transformer 架构横空出世,它的核心不是更深的记忆,而是一个全新的机制——自注意力(Self-Attention)

3.1 直观理解自注意力

想象你读一句话:“银行在河对岸,但它今天关门了”。
在理解“它”指代什么时,你的大脑会同时关注“银行”、“关门”等所有词,并迅速判断“它”最可能与“银行”相关。自注意力做的就是这件事:让序列中的每个词,都去“看”序列中的所有其他词,并直接计算出它们之间的关联强度。

3.2 数学原理:查询、键、值

每个输入的词向量 ( x_i ) 会通过三个不同的矩阵,投影成三个向量:

  • 查询(Query, Q):代表“我在找什么”。
  • 键(Key, K):代表“我身上有什么标签”。
  • 值(Value, V):代表“我的实际内容”。

对于词 ( i ),它和词 ( j ) 的注意力权重,由 $$Q_i$$ 与 $$K_j $$ 的点积决定,再经过 Softmax 归一化。最后用这个权重对所有的 ( V ) 向量加权求和,得到词 ( i ) 的新表示。

公式就是著名的:

$$
\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V
$$

  • $$ QK^T $$ 一次性计算了所有词对之间的相关性分数。
  • 除以 $$\sqrt{d_k}$$ 是为了防止点积过大,让 Softmax 梯度太平滑。
  • 整句所有词的计算可以打包成矩阵乘法并行执行

3.3 多头注意力与位置编码

  • 多头注意力:单个注意力头可能只捕捉一种关系(比如语法依赖),而 Transformer 使用多组不同的 ( Q,K,V ) 投影,让模型能同时关注不同子空间的信息(语义、位置、指代等)。
  • 位置编码:自注意力本身不区分词的顺序,需要人为注入位置信息。Transformer 使用正弦位置编码,或者让模型学出位置嵌入,加在输入上。

3.4 架构骨架:残差连接与层归一化

Transformer 块不仅仅是自注意力,还有完全连接的前馈网络。最关键的是,每个子层(自注意力、前馈网络)外面都包了一层 残差连接层归一化

$$
\text{输出} = \text{LayerNorm}(x + \text{子层}(x))
$$

  • 残差连接 提供了梯度高速通道,使得即使模型有上百层,梯度也能无损地传播,彻底解决了深层网络的训练难题。
  • 层归一化 稳定了每一层的输入分布,让训练对超参数不敏感。

这样,一个 Transformer 模型可以轻松堆叠几十甚至上百层,每层都用自注意力获取全局信息,然后用前馈网络进行非线性变换。


4. 为什么 Transformer 能产生大模型智能?

现在我们可以正面回答:Transformer 把“序列建模”从一条串行的羊肠小道,变成了一个广阔的、可完全并行计算的广场。

特性 RNN Transformer
计算方式 顺序,步与步依赖 完全并行(训练时整句矩阵乘法)
长距离依赖 路径长度 O(n),梯度消失 路径长度 O(1),直接交互
深度扩展 梯度不稳定,很难堆深 残差+LN,可轻松堆上百层
规模扩展 瓶颈明显 天然的并行结构,线性扩展

正是由于这种极致的并行性和可扩展性,我们才可以将模型参数从百万级,一口气推向千亿甚至万亿级。当模型尺寸、数据量、计算量跨越某个阈值后,涌现能力出现了——模型开始具备上下文学习、逐步推理、甚至看起来拥有某种常识和逻辑能力。这在 RNN 时代是不可想象的。


5. Transformer 训练的核心

结构只是舞台,真正的魔法来自于训练范式。

5.1 自监督预训练:预测下一个词

大模型的最核心训练任务是语言模型:给一段前缀,预测下一个词的概率分布。
对于句子 “Transformer 改变了 AI 的世界”,模型会依次看到 “Transformer” 预测 “改变”,看到 “Transformer 改变” 预测 “了”,以此类推。

这种任务的好处是:数据无限,标签自包含。互联网上所有文本都可以直接拿来训练,无需人工标注。

5.2 损失函数与优化器

  • 损失函数是 交叉熵损失,衡量预测概率分布与真实词(one-hot)的差距。
  • 优化器通常使用 AdamW,它结合了 Adam 的自适应学习率和去耦的权重衰减。
  • 学习率调度极其关键:一般是 warmup(线性增加)→ 保持稳定 → 余弦衰减。Warmup 能避免训练初期模型混乱时产生过大的破坏性梯度。

5.3 稳定深重网络的核心技巧

  • 梯度裁剪:把梯度的范数限制在阈值内,防止参数更新过猛。
  • 混合精度训练:用 16 位浮点数做前向和反向计算,保留 32 位主权重副本,既加速训练又省显存。
  • 高质量数据去重与过滤:数据质量直接决定模型智力的上限,“垃圾进,垃圾出”在大模型中更加明显。
  • Dropout 与权重衰减:提供正则化,防止过拟合。

5.4 把大象装进冰箱:分布式训练

千亿参数模型不可能放进一块 GPU。必须并行:

  • 数据并行:每张卡上有完整模型副本,处理不同批次数据。
  • 模型并行(张量并行):把单层的矩阵乘法切分到多卡。
  • 流水线并行:不同层放在不同卡上,像流水线一样传递激活。
  • 现代框架(如 Megatron-LM, DeepSpeed)将三者结合,达到千卡级高效训练。

5.5 后训练对齐:让模型听话

预训练完成后,模型只是一个“文本补全器”,可能会胡言乱语。我们需要:

  • 指令微调:用大量(指令,回答)配对数据微调,让模型学会遵循人类意图。
  • RLHF(基于人类反馈的强化学习):训练一个奖励模型来评价回答的质量,再用强化学习调整模型,使其输出更符合人类偏好,如更安全、更有帮助。

6. 总结:大模型智能的公式

如果我们把“大模型智能”拆解,它其实是一个乘积:

$$\boxed{智能涌现 \approx Transformer 架构 \times 海量数据 \times 大规模并行训练}$$

  • Transformer 提供了可无限扩展、并行的完美骨架,让任意词之间的交互不再有距离壁垒。
  • 自监督预训练 让模型能从整个互联网的知识中汲取养分,学会语言的模式、世界的常识,甚至推理的路径。
  • 工程与算法的合力 使我们能真正训练出数百层、千亿参数的庞然大物,并使之稳定收敛。

所以说,不是 RNN 的“脑子”不行,而是它的身体结构注定无法生长为巨人。Transformer 的出现,第一次让模型规模突破了物理极限,智能也就随之如黎明般悄然涌现。