【LLM】从零开始学大语言模型 | SSM篇 | 11 | SSM、Transformer 与 RNN 的统一视角

SSM、Transformer 与 RNN 的统一视角 前面几篇里,我们分别拆解了 S4、Mamba 以及家族中的其他变体。本篇把视角拔高一层,把 RNN、Transformer 和 SSM 这三大门派放在同一张桌子上,先看它们共同的数学本质,再看具体的指标差异,最后给出实战选型建议。 一、统一视角:三者都在对历史做加权求和 如果剥开 RNN、Transformer 和 SSM 复杂的网络结构(FFN、LayerNorm、激活函数),只看它们最核心的序列混合(Sequence Mixing)机制,也就是“当前输出如何依赖过去的输入”,会发现一个统一的事实。 它们在数学本质上都是在对历史输入做加权求和。假设要计算第 $t$ 个时间步的输出 $y_t$,输入序列是 $x_1, x_2, \ldots, x_t$,三种模型都可以被抽象为同一个公式: $$y_t = \sum_{k=1}^{t} \alpha_{t,k} \cdot x_k$$ 这里的 $\alpha_{t,k}$ 是一个权重(可以是标量,也可以是矩阵),它决定了在计算当前输出 $y_t$ 时,历史第 $k$ 个输入 $x_k$ 到底有多重要。 三大模型的根本分歧因此收敛为一个问题:权重 $\alpha_{t,k}$ 是如何计算出来的? 二、三种计算 $\alpha_{t,k}$ 的思路 1. RNN(LSTM / GRU):黑盒的隐式压缩 RNN 没有显式计算 $\alpha_{t,k}$ 的公式。它把所有的历史信息一股脑塞进一个固定大小的隐藏状态 $h_t$ 中,通过复杂的非线性门控(遗忘门、输入门)进行压缩。 这个方式有两个特点。 隐式且不可控。 很难解释 RNN 为什么记住了第 3 个词而忘了第 5 个词,注意力分布没有显式表达,只能从状态里反推。 天然的衰减与遗忘。 隐藏状态容量有限,每次更新都有信息损耗,$\alpha_{t,k}$ 会随着时间差 $(t-k)$ 的增大而不可避免地趋向于 0。这就是梯度消失现象在权重视角下的对应表现。 ...

September 7, 2026 · 2 min · 339 words · c.w.

【LLM】从零开始学大语言模型 | 5 | Transformer

从多头注意力到完整 Transformer Block:结构、原理与训练逻辑的系统讲解 本文假设你已经了解词向量、位置编码以及单头 Self-Attention 的基本思想。在这个基础上,我们继续向前推进:为什么单头注意力不够用?多头注意力到底在做什么?Attention 之后为什么还要接一个前馈网络?残差连接和层归一化为什么是深层 Transformer 能够训练的关键?最终的 Transformer Block 又如何组成一个完整的语言模型? 我们会尽量把这些问题放在同一条主线里讲清楚:以一个"预测下一个词"的语言模型为例,从输入词向量开始,一步一步说明数据如何被加工,参数如何被训练,以及每个组件为什么必须存在。 一、从任务出发:Transformer 在语言模型中做什么 1. 语言模型的核心任务 为了让讨论有明确的目标,我们采用现代大语言模型最常见的训练任务之一:预测下一个词。 给定一句话的前半部分,例如: 今天天气真好,我想去 模型的任务是预测下一个最可能出现的词,例如: 公园 这看起来只是"猜下一个词",但要做好这件事,模型需要理解词义、语法、指代关系、常识推理,甚至语气和语境。因此,Transformer 并不是简单地查表,而是要把原始词向量逐层加工成更适合预测的语义表示。 2. Transformer 的整体流水线 一个典型的 Decoder-only 语言模型,前向过程大致可以概括为: 词编号 → 词嵌入与位置编码 → 多个 Transformer Block → LM Head → 下一个词的概率分布 更具体地说: 输入文本首先被切成 token,并转换为整数编号。 每个 token 编号通过词嵌入矩阵变成一个稠密向量。 为了让模型知道 token 的位置,再加入位置编码。 得到的向量矩阵进入第一个Transformer Block。 经过多个 Block 的逐层加工后,得到更高层的语义表示。 最后的 LM Head 将某个位置的隐藏向量映射到词表大小的 logits。 通过 Softmax 得到下一个词的概率分布。 如果输入序列的形状是 [batch_size, seq_len, d_model],那么经过每一个 Transformer Block 后,形状通常保持不变,仍然是 [batch_size, seq_len, d_model]。也就是说,Block 的工作不是改变序列长度或向量维度,而是不断改变每个 token 向量内部的语义内容。 ...

August 21, 2026 · 6 min · 1135 words · c.w.