type
status
date
slug
summary
tags
category
icon
password
1. 序言
2017年谷歌发布这篇论文时,没有人会预料这篇论文将成为若干年后各家AI产品的基石。我也没有想过还会有一次经典的重温时刻。
这次的经典论文阅读,选择从本篇开始,其中既有追忆过往的嫌疑(2017年正是大学入学的时刻,那时还处于疫情前),又算是一次名正言顺的系统性AI理论技术的梳理。
不过在开始所有阅读和梳理之前,一个问题很重要:我作为AI产品经理,真的要懂这些吗?这些阅读是有意义的吗?能给我带来什么可见的收益?
至少从我本人过往的经验来看,对底层技术的理解是能够让思考进一步升纬的必要条件,对一件事情进行深度思考,是可以带来的是超越当前认知的收益。
2. 论文作者

首先,我觉得比较戏虐的是这篇论文的作者们(被称为“Transformer 八子”)如今已经基本全部离开了Google,各自都站在既定的AI方向上成为“操盘手”。其中,Shazeer因为 Google 不让发布聊天机器人 Meena(LaMDA 的前身)而愤然出走。但在2024 年,Google 为了抢回他,不仅支付了巨额技术授权费,还直接让他回归执掌 Gemini 的大权。Kaiser则直接加入了OpenAI。
作者 | 2017 年身份 | 2026 年现状 | 备注 |
Ashish Vaswani | Google Brain 研究员 | Essential AI 创始人 | 论文一作。曾创立 Adept,现专注于企业级 AI。 |
Noam Shazeer | Google Brain 资深软件工程师 | Google Gemini 技术负责人 | 曾离开创立 Character.ai,2024 年被 Google 以 27 亿美元“买回”。 |
Niki Parmar | Google Brain 研究员 | Essential AI 联合创始人 | 团队中唯一的女性。曾任 Adept CTO,现与 Ashish 再次创业。 |
Jakob Uszkoreit | Google Research 软件工程师 | Inceptive 创始人 | “Transformer”这个名字的命名者。现专注于 AI + 生物 mRNA 研发。 |
Llion Jones | Google Research 软件工程师 | Sakana AI 联合创始人兼 CTO | 在日本东京创业,探索受生物启发的非传统 AI 架构。 |
Aidan N. Gomez | 多伦多大学博士生(实习生) | Cohere 创始人兼 CEO | 创立了全球领先的企业级 LLM 服务商 Cohere。 |
Łukasz Kaiser | Google Brain 研究员 | OpenAI 核心研究员 | 离开 Google 后加入 OpenAI,是 GPT-4 及后续推理模型(o1/o3)的核心贡献者。 |
Illia Polosukhin | Google 软件工程师 | NEAR Protocol 创始人 | 跨界最远。将 AI 逻辑带入 Web3,创立了知名公链 NEAR。 |
在场外,据说当时团队在 Google 内部推进这个项目时,并没有预料到它会彻底终结 RNN 和 CNN 在 NLP 领域的统治地位。他们当时的主要动力是:RNN 太慢了,我们要搞个并行的加速计算。
无论如何,重温这篇经典论文,站在一众AI产品爆发的时间线下,我相信肯定会有新的思考与发现。
3. 摘要

相信大家对RNN和CNN应该不陌生,摘要中提及表现最优的模型中通常还通过注意力机制(Attention mechanism)连接编码器(Encoder)和解码器(Decoder),其实指的是GNMT (Google Neural Machine Translation)和ConvS2S (Convolutional Sequence to Sequence)。前者是谷歌当时的翻译模型,通过在编码和解码中引入注意力机制(Additive Attention-加性注意力),提升了 2 个 BLEU (BLEU 衡量的是机器翻译结果与人类专家翻译结果之间的相似度,在自然语言处理领域是最核心的“跑分”指标)以上,后者是meta的模型,有点复杂不过多介绍了。
在过往,注意力机制都只是RNN/CNN这些模型改进方向中不起眼的配角,而本篇论文则发现当注意力机制作为主体架构时,模型的表现反而更好。因此,比较嘲讽的取了本文的名字,即《Attention Is All You Need》。
最后,摘要提到:在 WMT 2014 英德翻译任务中,我们的模型达到了 28.4 BLEU 分数,比包括集成模型在内的现有最佳结果提高了 2 个 BLEU 以上。如何理解呢?要知道,在本篇论文发表前,研究者大多数是为了将BLEU提升0.1-0.2,就已经耗费所有精力了。而且使用Transform架构所需要的训练成本非常的低。
因此,很难相信这篇论文在发表后,为什么没有引起巨大的轰动呢?其实不然,学术界就对此产生了高度兴趣,论文的引用量在当时就很高了。而业界也不乏有人以及预判了某些领域的变革:OpenAI的首席科学家Sutskever就全身心投入到GPT的研发中。无奈Google内部不够重视,这也直接导致了“八子”纷纷离职。而2017年,互联网的热度还是“外卖”,“短视频”,现在回想,也有些觉得过分的反差。
从Transformer到GPT,其中还有BERT模型的故事,这就不在此论述了,感兴趣的话,后续再引文更新。
4. 引言

正文翻译:三种神经网络模型,rnn、lstm、gru在序列建模和转化问题已被证实为是最为先进的方法。因此后续的大量研究继续去推进循环语言模型和encoder - decoder的架构边界。
备注:这里提到的rnn、lstm、gru都是用来解决时间序列型(有先后顺序)的任务。rnn的原理是会不停的根据上一个字来预测下一个字,因此很难解决长文本任务,记忆力很短。这也是比较著名的”梯度消失“问题。
模型的”梯度“解释
第一段正文翻译:循环模型通常沿输入和输出序列的符号位置进行分解计算。通过将位置与计算时间步对齐,它们生成一系列隐藏状态 ht,这些状态是前一个隐藏状态 ht−1 和位置 t 的输入的函数。这种本质上的顺序特性(inherently sequential nature)排除了训练样本内部的并行化,这在处理较长序列时变得至关重要,因为显存限制了样本间的批处理规模。尽管最近的研究通过分解技巧和条件计算在效率上取得了显著提升,但顺序计算这一根本约束依然存在。
解释:
这一段非常直接的阐述了RNN这类模型的特征与缺陷:顺序计算带来了低内存占用,但计算效率和长文本的推理则效果很差。
第二、三段正文翻译:注意力机制已成为各种任务中极具吸引力的序列建模和转换模型的重要组成部分,它允许模型在不考虑输入或输出序列距离的情况下建模依赖关系。然而,除了极少数情况外,此类注意力机制仍需与循环网络(RNN)结合使用。
在这项工作中,我们提出了 Transformer,这是一种摒弃了循环(eschewing recurrence),完全依赖注意力机制来刻画输入与输出之间全局依赖关系的模型架构。Transformer 允许显著提升并行化程度,并在 8 颗 P100 GPU 上仅训练 12 小时后,就在翻译质量上达到了新的业界顶尖水平(SOTA)
解释:
由于上述所言,注意力机制因此大多用来解决这些循环模型的“记忆问题”。本文则与之不同,不考虑循环而是完全依赖注意力机制的模型架构。
这里有个细节,为什么RNN叫做“循环模型”?RNN全称:Recurrent Neural Network,Recurrent就意味着“循环”。在模型的架构中,它有一个隐藏状态 (h)。每读入一个新词,它都会把“旧的自己”和“新的输入”揉在一起,变成“新的自己”。数学表达上:ht=f(ht−1,xt)。这个 ht−1 到 ht 的过程,就是在同一个神经元里不断重复、循环的过程。
5. 背景

背景这里其实也就是相对详细的再带过了一些前情提要:以卷积网络作为基础构建模块的模型都逃不了长文本的信息遗忘问题。
并引入了Transform这个架构是如何生效的:即自注意力机制中,序列里的每个单词与其他单词的点积距离是1。如何理解这个1呢?这里有个非常巧妙的线性代数的计算,由于公式的解释不如直接展示公式(我看不懂):

按照我自己粗暴的理解,以前的计算方式(如RNN)是带有位置信息单维度的计算,很暴力很有效,但也很难解决更多的问题。现在的Transform其实是让每个词之间的关系从单维度变成多维了,通过一次矩阵间的计算让每个词之间的关系都直接被解,没有其他计算上的依赖。
也就是所谓的自注意力机制:让模型在处理一个序列(比如一个句子)时,能够“自动判断”哪些词对理解当前词最重要。这也是接下来我们核心要大谈特谈的内容。
6. 模型结构

解释:人类的语句是由一个个词语组成的具有语意的一段话。因此要想计算机能处理人类语言,除了将人类语言翻译成计算机的语言外,最重要的是不能够让人类语言本有的语意被损失掉。每个词可以硬编码为向量,计算机如何理解语意呢?这就是前文编码器(Encoder)的作用,通过将词映射到高纬连续空间,类似含义的词相互接近,不同含义的词相互远离,类似含义的词可以平滑的相互过度,让模型可以“类比”。
这里非常有趣,模型本质是不会理解人类的语意的,因为人类的语言指代的是一个个真实存在的物理实体,但是模型并不会理解这个实体,模型只是去计算,计算context下哪些内容是相匹配的,概率最大的。因此模型有幻觉。而也恰恰如此,模型会“涌现”。
回到Model Architecture正文,其中先是解释了encoder对语意的处理,接着再谈decoder对模型输出的处理。这里有一个Auto-regressive自回归的概念:模型的每一个输出都需要依赖刚才已输出的内容。因为模型依旧是概率计算,尽管得到了语意的理解和推理,输出的内容也是要一字一句进行输出的。


如图所示,解释这个架构可以非常简单,左侧负责模型的理解,右侧负责模型的输出。左侧的理解部分主要做这几个事情:将文字转化为高纬向量,通过位置编码带上每个词的位置信息(告诉模型什么词在前,什么在后),然后是Transform的关键,多头注意力(Multi-Head Attention)。
不过在谈论多头注意力之前,回顾前文,我们继续聊聊注意力机制,注意力机制将每个词划分三个向量空间QKV:
- Query (Q):像是一个“搜索词”,代表“我正在寻找什么信息”。
- Key (K):像是一个“索引/标签”,代表“我能提供什么信息”。
- Value (V):像是一个“内容主体”,代表“我实际携带的信息
看起来比较抽象。我先抛一个例子,“乔布斯拿了一个苹果”。这段话如果用word2vec传统算法来表达,模型去理解苹果时,无法分辨苹果是一部手机还是一个水果。而通过QKV去计算时,“苹果”被划分成了三个向量,“苹果”和“苹果”自己计算内积(向量空间的距离),“苹果(Q)”和“乔布斯(K)”进行计算,最后汇总所有计算的结果作为苹果的最终向量(即V)。
同样还是粗暴理解下,“苹果”关联了上下文中其他词的属性,而乔布斯 = 科技领域人物,因此模型理解了在这段话中苹果大概率是一个手机。这就是QKV起到的核心作用:消除歧义。
所以没有QKV,模型就是一个查字典的机器人,有了QKV,模型就会进行推理。
而多头注意力则进一步优化了这个过程。单头的注意力机制,是类似于线性的处理思路。而多头注意力机制相当于再进一步的对词向量的输入进行更多纬度的划分,通过在不同纬度的计算,来避免一些错误(即增强鲁棒性),此外由于模型不得不去从多维度来计算,也变相的丰富了模型的可表达空间。
在注意力机制处理完词与词的关系后,数据会进入这个蓝色的 Feed Forward 模块。这里起到的作用就是模型去消化和理解这些词本身以及,词和词之间关系的信息。其中2020年有一篇论文解释了Feed Forward模块起到的作用:《Transformer Feed-Forward Layers Are Key-Value Memories》。这里挖个坑,以后再续。
简单来说,FFN像是一个中央处理器,通过数学层面的变换来消化这些“知识”。在FFN之前,注意力机制带来的是离散的词,这些词有各种关联“上下文”的属性。因此有很多“噪音”,以及没有层次和重点。这就像数据分析的过程,再决定用什么方式分析数据之前,都会做的就是数据清洗。FFN就类似于这样的操作,不断的进行降噪和特征提取。
FFN之后进入“ Add & Norm ”(残差连接与归一化),残差连接:FFN 计算完的结果会和进入 FFN 之前的那个向量相加。这里起到的作用很简单,这一层模型无需从头开始学习,而是在刚刚FFN的基础上,学习理想输出与原始输入的差值。Attention给了模型效果的上限,Add则让模型的训练具备了可行性。
其实看到这里,上下文始终是贯穿模型架构、模型训练、模型应用的问题。换句话说,上下文就是模型的宿敌。
残差连接后开始Norm(归一化)。Norm简单理解就是:对残差连接处理后的数据进行标准化。Norm后的数据既保留了核心差异,又具备了统一的稳定性。具体怎么实现的,这里也不过度解释了。

在2017年,基于实验以及数据的具体表现,包括谷歌当时的算力来看,编码和解码器中会重复6次计算数据的输入和输出。这种多次的计算,进一步的提取了深层次的语义。
7. 本篇论文的核心
7.1 关于 O(n2):Transformer 的“昂贵税收”
回顾整个Transformer的架构,由于模型要求词与词之间都要做一次相似度的计算,来获取注意力的线索,这就导致了当文本内容足够长时,词的数量足够多时,计算量和显存会极速增加。由于计算量的限制,模型在同一时刻要处理任务的上下文就因此有了限制。
这也是为什么,大多数模型会标注上下文窗口为128k的原因。这里128k指的就是模型有一次性处理128k的token的限制。实际上,当处理量到120k甚至不到120k时,模型的处理能力就开始下降了,就好比在一个广场在站满了1000个人,其中一个人说话,尽管超级大声,四周的人也很难听见。
如果超出了上下文的窗口会怎么办?很简单,模型会丢失最开始的内容。所以基于这个问题也就衍生了后续很多研究方向,比如RAG(不是全文喂给模型,而是先向量化后,检索那些用户提问关联度最高的内容投喂给模型),以及KV Cache(对内容进行压缩,只保留最关键内容给到模型)。
以及考虑到这种注意力带来的算力限制,当前热度比较火的方向:线性注意力 (Linear Attention / SSM 架构),把注意力机制改写成RNN的那种递归状态。关于这块后续会有新的文章详细介绍。
不过不管怎么说,这里就是Transformer对算力有着强要求的原因之一。也许有一天算力达到无限制,或者蹦出了一个全新的架构。但此时此刻,AI,或者说人工智能,只要基于Transformer架构就难以突破并有更大的天花板。所谓的“AI意识觉醒”,离这个世界还非常遥远。
7.2 关于 FFN 的本质:模型的“事实记忆库”
如果说注意力机制(Attention)是模型的眼睛,那么FFN(Feed-Forward Network,前馈神经网络)就是模型的大脑。当模型不断的去看Attention处理的那些内容时,模型会发现在互联网上有很多一成不变的“事实”。
比如“周杰伦是歌手”,“WPS是一个办公软件”。这些是不需要被推理的,因此这些都会被直接压缩到FFN中。这就解释了为什么模型参数量(Parameter Count)越大,知识越丰富。因为参数主要都堆在 FFN 里,参数越多,能存下的“KV 对”就越多。这也是为什么很多模型的微调,实际上都是在往FFN中写入数据。
不过这里就有人要问了,那通用模型加一个领域知识库怎么样?用RAG的方式搭载一个充满专业知识的上下文。这当然是没问题的,不过影响的也是上下文的窗口大小和每次计算消耗的资源。
关于FFN的学习和介绍,我想可能用后续这篇论文的阅读进一步展开了,即2020 年那篇著名的论文《Transformer Feed-Forward Layers Are Key-Value Memories》。
8. 结语
本篇论文的阅读暂且如此,2017年是很多事情还未开始的一年,也是很多即将发生的事情蓄势待发的一刻。人不能假设未来,同样也不能抱有悔恨的意味去回顾过往。时间永远残酷,永远验证着或揭示一个又一个许诺。
2017年的这篇论文,我相信可能没有人能够预料当前的变革。会不会在2026年的当下,也有着积蓄力量的人正在创造影响下一个10年的技术?天下英雄如过江之鲫,没有人能看透未来,但总有人在等待未来。我不愿等待未来,我愿意主动迎接和创造未来。
- 作者:阿旭
- 链接:https://tangly1024.com/example-10
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。




