chapter1_why_transformer

发布时间:2026/5/18 14:24:58

chapter1_why_transformer 第一章缘起——为什么需要 Transformer任何伟大的架构都不是凭空设计出来的而是被问题逼出来的。要理解 Transformer首先必须理解它要解决的困境。1.1 语言理解的第一性原理一切都是找关系在深入技术之前我们先回到最本源的问题人类到底是怎么理解语言的读一下这句话“小明把书还给了图书馆因为他前天借的已经看完了。”你读到他的时候大脑瞬间做了一件神奇的事自动把他关联到了小明而不是图书馆。你甚至不需要思考这几乎是无意识完成的。这就是语言理解的第一性原理找关系。具体地说语法关系主谓宾、定状补确定谁在做什么指代关系“他”、“它”、这个指的是谁语义关系因果、转折、并列等逻辑连接常识关系书是可以借和还的“图书馆不能看完”所以语言理解的核心不是逐字翻译而是在词语之间建立一张关系网络。谁能更快、更准确地建立这张网谁就更能理解语言。这个第一性原理非常重要因为后来 Transformer 架构的每一步设计都是在服务这个目标。1.2 传统方法RNN 和 LSTM 是怎么工作的1.2.1 RNN 的设计直觉在 Transformer 出现之前2017 年以前处理语言的主流方案叫做RNN循环神经网络。RNN 的设计灵感非常朴素——模仿人类读书的过程从左到右一个字一个字地读并且每读一个字都会更新一下脑海里的理解状态。输入 小明 把 书 还给 了 图书馆 ↓ ↓ ↓ ↓ ↓ ↓ 状态 h1 → h2 → h3 → h4 → h5 → h6每个状态 h 就是模型读到当前位置时对整句话的理解总结。h6 应该包含对整句话的完整理解。1.2.2 为什么 RNN 后来不行了这个设计看起来很直觉对不对但是当我们把它推向极致时三个致命缺陷暴露无遗缺陷一无法并行——GPU 白白浪费这是一个结构性硬伤不是调参数能解决的。关键在于h3 的计算必须等 h2 完成h2 又必须等 h1 完成。这就像工厂流水线上一个工人只有等前一个做完了才能开始——后面所有人都在排队。而现代 GPU 的设计精髓恰恰是并行——它有成千上万个小核心可以同时处理成千上万个运算。但 RNN 的串行结构让这些核心只能一个个轮着用其余全部空闲。打个实际的比方你花大价钱买了一座 10,000 人的工厂结果流水线只允许 1 个工人干活其余 9,999 人站着等。这就是 RNN 在 GPU 上的真实效率。缺陷二长距离依赖崩塌——信息在传递中会腐烂回到刚才的例句假设一段话有 100 个词到最后一个词的他时模型需要回忆第 3 个词小明。在 RNN 中“小明的信息被编码在 h3 中然后要经过 h4 → h5 → h6 → … → h100总共 97 步传递。每走一步信息都会被后续词的信息稀释和覆写”。这就像传话游戏第一个人说周五下午三点在会议室开会经过 97 个人传递最后一个人听到的可能是周六下午有人在哪里…。信息在长路径传播中严重衰减。在数学上这个现象叫做梯度消失Vanishing Gradient反向传播更新参数时梯度要反着走回去经过太多步骤后梯度几乎变成了 0意味着网络根本学不到长距离的关系。缺陷三训练速度极慢串行结构 长距离学不好 训练效率极低。在大规模数据集上RNN 的训练可能需要几周甚至更久。1.2.3 LSTM一次勇敢但不彻底的修补LSTM长短期记忆网络是 1997 年由 Hochreiter 和 Schmidhuber 提出的专门针对 RNN 的梯度消失问题。LSTM 的核心创新是引入了**“门控机制”**——给信息的传递安装了三道闸门遗忘门决定丢弃哪些旧信息“这部分以前的内容已经不重要了”输入门决定接纳哪些新信息“这个新词有价值记下来”输出门决定当前输出什么信息“根据目前为止的理解现在应该输出什么”就好比给传话游戏中的每个人配备了一个笔记本你不用光靠脑子记了重要信息可以写下来cell state传递下去。这确实大大缓解了信息遗忘问题。但是——LSTM 有一个根本性缺陷没有解决它依然是串行的。h2 还是等 h1h3 还是等 h2。笔记本再好用流水线的结构性硬伤还是在。1.3 核心矛盾串行结构 vs. 全局连接需求把上面的分析归纳起来问题非常清晰需求RNN/LSTM 的现实词与词需要直接通信信息必须经过漫长的串行传递GPU 需要并行运算结构上只能串行需要记住很远的信息长距离信息必然衰减核心矛盾要理解语言就必须让任意两个词能直接对话找关系而不是靠中间的词一个个接力传递。这个矛盾催生了一个划时代的设计原则让句子中所有的词在同一时刻直接两两通信不经过任何中间环节。这就是 Transformer 的设计起点。下一章我们来看它是怎么实现这个看似不可能的目标的。1.4 本章小结从问题到设计原则的逻辑链语言理解的本质 找关系 ↓ 旧方法 RNN 按顺序串行传递信息 ↓ 串行 → 不能并行 → GPU 算力浪费 串行 → 长路径 → 信息衰减梯度消失 ↓ LSTM 加了门控 → 缓解记忆问题 → 但依然串行 ↓ 根本出路放弃串行让所有词直接通信 ↓ 这就是 Transformer 想要解决的核心问题记忆要点Transformer 不是某个天才拍脑袋想出来的而是旧架构的三大痛点不能并行、长距离记忆差、训练慢逼迫工程师们去寻找的新出路。理解了为什么后面的是什么和怎么做就自然而然了。

相关新闻