目录

前言

01 曾经的王者:RNN 的逐字阅读时代

02 王者的困境:两个致命伤

伤痛一:记不住(梯度消失问题)

伤痛二:太慢(无法并行计算)

03 颠覆者登场:Transformer 的革命

改变一:全局视野(Self-Attention)

改变二:极致并行

04 核心对比:RNN vs Transformer

05 黒漂实操建议:学这个有啥用?

场景 1:处理长文本时

场景 2:微调模型时

场景 3:选型与成本控制

场景 4:调试 Bug

06 结语:技术没有银弹

07 下期预告

系列导航

关于作者

互动话题


前言

大家好,我是黒漂技术佬。

在创刊号里我说过,这个号不造火箭,只聊怎么拧好螺丝。但要想把螺丝拧好,你得先知道这台机器是怎么转起来的。

最近半年,大模型(LLM)火得一塌糊涂。不管你是做开发的、做产品的,还是单纯的技术爱好者,每天都在听 GPT、听 Claude、听微调。但很多人可能只停留在调 API 的层面。如果你问他们:大模型到底是怎么理解语言的?可能大部分人只能模糊地回答:大概是概率预测吧。

这不够。作为一名在技术海里漂了多年的老兵,我认为理解架构的演进,比学会调用接口更重要。因为只有知道了它为什么这么设计,你才能在遇到 Bug 时知道往哪里修,在选型时知道哪里是坑。

从今天开始,咱们开启一个新系列:【大模型底层逻辑】。

第一讲,咱们不急着写代码,先聊一段江湖恩怨:为什么曾经统治 NLP 界的 RNN,最终彻底输给了 Transformer?

理解了这个,你才算真正摸到了大模型的门槛。

01 曾经的王者:RNN 的逐字阅读时代

把时间拨回 2015 年。那时候,如果你想让机器理解一句话,主流方案是 RNN(循环神经网络),后来升级版叫 LSTM(长短期记忆网络)。

RNN 的工作方式,很像我们人类读书的过程:

从左到右,一个字一个字地读。读完第一个字,把意思存进脑子里(隐藏状态),再读第二个字,结合前面的意思继续理解。

这种设计非常符合直觉,因为语言本身就是有序列、有时间先后顺序的。RNN 的核心公式其实很简单:当前状态等于当前输入加上上一时刻状态的加权组合。

为了弥补普通 RNN 记不住长内容的缺陷,后来科学家发明了 LSTM,引入了门控机制。简单来说,就是加了几个门来控制信息的遗忘和保留。比如遗忘门决定丢弃什么旧记忆,输入门决定保存什么新信息,输出门决定当前要输出什么。

在那个年代,这就是最先进的生产力。机器翻译、语音识别,靠的都是这套架构。它确实让机器学会了序列建模,但它的天花板也很快就到了。

02 王者的困境:两个致命伤

随着互联网数据爆炸,句子越来越长,场景越来越复杂,RNN 逐渐露出了两个致命伤。这两个伤,直接导致了它的退场。

伤痛一:记不住(梯度消失问题)

想象一个经典的传话游戏。

第一个人说:今天天气真好,适合出去跑步。这句话传给第二个人,第二个人传给第三个……传到第十个人时,可能只剩下真好了,天气和跑步这两个关键信息早就忘没了。

RNN 在数学上就是这样。它需要通过链式法则反向传播误差。当句子太长(比如超过 50 个词),前面的信息传到后面时,梯度会连乘多次。如果每次传递都损失一点,连乘结果会趋近于零,这就是著名的梯度消失。

虽然 LSTM 通过门缓解了这个問題,让记忆能存得更久一点,但并没有彻底解决。一旦遇到几千字的长文档,RNN 依然会顾头不顾尾。对于大模型来说,记不住上下文是致命的。

伤痛二:太慢(无法并行计算)

这是更致命的工程问题,也是 RNN 被淘汰的根本原因。

因为 RNN 必须读完第一个字,算出状态,才能读第二个字,这意味着它没法并行计算。时间步 t 的计算必须依赖 t-1 的结果。

黒漂点评:

这就好比你要算 1+2+3+4+5。 RNN 的做法:先算 1+2=3,再算 3+3=6,再算 6+4=10……必须按顺序来。 GPU 擅长:同时算 1+2 和 3+4,最后再加总。

RNN 强行让成千上万个 GPU 核心变成了单核 CPU,算力浪费极其严重。

在数据爆炸的时代,慢,就是原罪。训练一个稍微大点的模型,RNN 可能需要几周,而业务等不起。老板不会等你一个月才看到模型效果。

03 颠覆者登场:Transformer 的革命

2017 年,Google 发表了一篇论文:Attention Is All You Need。

这篇论文直接掀了桌子。作者说:我们不要循环了,我们只要注意力(Attention)。

这就是 Transformer 的诞生。它不做任何循环卷积,完全基于注意力机制。它做了两个革命性的改变:

改变一:全局视野(Self-Attention)

不再逐字阅读,而是一句话所有词同时输入。模型通过注意力机制,直接计算任意两个词之间的关系。不管句子多长,距离多远,关系一步到位。

举个栗子: 句子:动物在草地上跑。 动物和跑之间的依赖关系,不需要通过在草地上传递。 Attention 机制让动物直接关注到跑,一步到位。

这意味着,无论句子多长,词与词之间的路径长度恒为 1。这彻底解决了长距离依赖的问题。

改变二:极致并行

因为不需要依赖上一时刻的状态,所有位置的计算可以同时进行。矩阵乘法是 GPU 最擅长的操作,这使得训练速度提升了几个数量级。

原本需要几周的训练任务,现在可能几天甚至几小时就能完成。这让训练超大参数量的模型成为了可能。如果没有 Transformer 的并行能力,现在的千亿参数大模型根本无法在合理时间内训练出来。

结果是什么?

  • 训练速度飞快:同等数据量,训练时间从周级缩短到小时级。
  • 长文本理解增强:任意两个 token 之间的路径长度恒为 1。
  • 扩展性极强:为后来百亿、千亿参数模型奠定基础。

这就是为什么后来的 BERT、GPT 系列、LLaMA,全都是基于 Transformer 架构。它是当前大模型时代的绝对基石。

04 核心对比:RNN vs Transformer

为了让大家看得更清楚,我整理了一个深度对比表,建议收藏:

计算方式: RNN 是串行,时间复杂度 O(N) 时间步。 Transformer 是并行,时间复杂度 O(1) 时间步。

长距离依赖: RNN 弱,梯度消失,路径长 O(N)。 Transformer 强,注意力直连,路径 O(1)。

训练速度: RNN 慢,无法利用 GPU 并行。 Transformer 快,矩阵运算吃满 GPU。

推理速度: RNN 较快,生成只需前一步。 Transformer 较慢,需计算全序列 Attention。

显存占用: RNN 低,O(N)。 Transformer 高,O(N 平方),Attention 矩阵随长度平方增长。

位置信息: RNN 天然有序。 Transformer 需额外添加位置编码(Positional Encoding)。

地位: RNN 是历史功臣,特定场景可用。 Transformer 是当前基石,大模型标配。

黒漂点评:

注意看推理速度和显存占用。虽然 Transformer 训练快,但在生成文本时,因为它要关注前面所有字(KV Cache),所以显存占用和计算量其实很大。

这也是为什么:

  • 大模型推理这么贵。
  • 长上下文(128K)这么吃资源。
  • 业界在研究线性注意力、稀疏注意力等优化方案。

技术没有银弹,只有权衡。

05 黒漂实操建议:学这个有啥用?

讲到这里,可能有读者会问:我都直接调 API 了,学这个底层架构有啥用?

说实话,刚开始我也这么想。但踩坑多了才发现,用处大了。当你理解了这个演进过程,你在实际工程中就能避开很多坑:

场景 1:处理长文本时

你知道 Transformer 也有长度限制(比如 4K、8K 上下文),因为注意力机制的计算复杂度是序列长度的平方。

应对策略:

  • 切片加滑动窗口(保留重叠部分)。
  • 使用线性注意力变种(如 Linformer、Performer)。
  • 采用检索增强(RAG),只 Attention 关键片段。

场景 2:微调模型时

你知道为什么有时候模型记不住前面的指令,可能是因为注意力分散。

应对策略:

  • Prompt 结构优化:关键信息靠近答案位置。
  • 使用 System Prompt 固定角色设定。
  • 结合 RAG 弥补长程记忆缺陷。

场景 3:选型与成本控制

如果是极简的时序任务(比如传感器数据预测、股票趋势),RNN 的变体(如 GRU)依然可能比 Transformer 更轻量、更合适。

别盲目追新,适合业务的才是最好的。有时候一个小 LSTM 能解决的问题,没必要上亿参数的大模型,省钱才是硬道理。

场景 4:调试 Bug

当模型输出乱码或不连贯时,理解位置编码的作用,能帮你判断是不是数据预处理环节丢了顺序信息。

06 结语:技术没有银弹

回顾这段历史,并不是为了贬低 RNN。

在没有 GPU 集群的年代,RNN 是伟大的创新,它让机器第一次拥有了记忆。 而 Transformer 站在了巨人的肩膀上,利用算力的红利,解决了并行化的问题。

技术演进就是这样,没有绝对的优劣,只有是否适合当下的时代。

今天 Transformer 是王者,但未来也许会有新的架构(比如 Mamba、SSM 状态空间模型)来挑战它的位置。最近这些新架构在长序列建模上已经展现出潜力,值得持续关注。

作为技术人,我们既要拥抱新技术,也要理解旧技术的价值。

知其然,更要知其所以然。

07 下期预告

Transformer 赢了,但 RNN 真的毫无价值吗?

LSTM 里的门到底是怎么控制记忆的?那个被称为细胞状态的东西到底是什么?

下一篇,咱们深挖《记忆的困境:RNN 与 LSTM 的底层逻辑》,把那些被遗忘的细节捡起来,顺便讲讲为什么现在某些场景下 RNN 又开始诈尸回归了。

系列导航

  • 01/05 大模型进化史:为什么 RNN 输给了 Transformer?(当前)
  • 02/05 记忆的困境:RNN 与 LSTM 的底层逻辑(预告)
  • 03/05 注意力机制:让模型学会看重点
  • 04/05 Transformer 架构拆解:Encoder 与 Decoder 的秘密
  • 05/05 位置与规范:Positional Encoding 与 Layer Norm

关于作者

黒漂技术佬 技术游牧者|专注 AI/视觉/微服务/物联网 不造火箭,只拧螺丝

欢迎交流:评论区留言

互动话题

你现在的业务里,还在用 RNN/LSTM 吗?

  • A. 还在用,某些场景真香
  • B. 全转 Transformer 了
  • C. 直接调 API,不管底层

欢迎评论区聊聊你的实战经验。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐