Attention Is All You Need:一篇论文,改变了整个世界
2026/5/16 12:03:05 网站建设 项目流程

先讲一个场景。

2017年,谷歌大脑的一间办公室。

八个研究员,围坐在一起。

他们在讨论一个问题:

现有的翻译模型,为什么总是翻译得不够好?

长句子,翻译到后面,前面的意思就丢了。

复杂的语法结构,翻译出来,总是别扭。

有没有更好的办法?

其中一个研究员,阿希什·瓦斯瓦尼,提出了一个想法:

“我们能不能,完全抛弃现有的架构,从头开始?”

其他人,面面相觑。

这个想法,太激进了。

但他们,决定试一试。

几个月后,他们写出了一篇论文。

题目叫:

《Attention Is All You Need》

注意力,就是你需要的一切。

这篇论文,只有15页。

但它,改变了人工智能的历史。

改变了程序员的工作方式。

甚至,改变了整个世界。


在这篇论文之前,世界是什么样的

翻译,是一个古老的难题

机器翻译,是人工智能最早的研究方向之一。

1954年,IBM 和乔治城大学,做了一个演示。

用计算机,把60个俄语句子,翻译成英语。

研究者们,信心满满地预测:

三到五年内,机器翻译问题,将被彻底解决。

结果,他们又错了。

这个问题,比任何人想象的,都要难得多。

语言,不是简单的词对词的替换。

“我吃了一个苹果。”

不是把每个词,换成对应的英文词,就完事了。

语法结构不同,词序不同,文化背景不同。

翻译,需要理解整个句子的意思,

然后,用另一种语言,重新表达这个意思。

这,对机器来说,极其困难。

RNN:序列处理的主流方案

在 Transformer 出现之前,

处理语言这种序列数据,主流方案是 RNN。

循环神经网络。

RNN 的工作方式,很像人类阅读。

一个词一个词地读,

读每个词的时候,把前面读过的内容,存在"记忆"里。

句子:我 今天 去 了 超市 买 了 苹果 RNN 处理过程: 读"我" → 记忆:[我] 读"今天" → 记忆:[我, 今天] 读"去" → 记忆:[我, 今天, 去] 读"了" → 记忆:[我, 今天, 去, 了] ...以此类推

这个方法,有效,但有一个致命的问题:

记忆会衰减。

句子越长,前面的信息,越容易被遗忘。

就像你读一本很厚的书,

读到第500页,第1页说了什么,已经记不清了。

这个问题,有一个专业的名字:

长程依赖问题。

LSTM:打了补丁,但问题依然存在

为了解决长程依赖问题,

研究者们,发明了 LSTM。

长短期记忆网络。

LSTM,在 RNN 的基础上,加了一个"记忆门"。

它能选择性地,记住重要的信息,遗忘不重要的信息。

就像你读书,会在重要的地方,折一个角,做个标记。

LSTM,比 RNN 好多了。

但它,还是没有从根本上,解决问题。

而且,LSTM 有另一个问题:

无法并行计算。

因为它是一个词一个词地处理,

必须等前一个词处理完,才能处理下一个词。

就像流水线上,只有一个工人,

一件一件地做,效率极低。

这意味着,训练速度很慢,

无法处理超大规模的数据。

这,限制了模型的规模,也限制了模型的能力。


注意力机制:一个古老的想法

注意力机制,不是 Transformer 发明的。

它,早就存在了。

人类的注意力

人类的注意力,是有选择性的。

你在看这篇文章的时候,

你的眼睛,不是均匀地扫描每一个字。

你会自动地,把注意力,集中在重要的词上。

“这篇论文,改变了人工智能的历史。”

你的注意力,会集中在"改变"、“人工智能”、"历史"这几个词上。

“了”、"的"这些词,你几乎不会注意。

这种选择性的注意力,让人类能高效地处理信息。

机器的注意力

2014年,研究者们,把这个想法,引入了机器翻译。

他们发现,在翻译一个词的时候,

不需要平等地对待源语言的每一个词。

应该把更多的注意力,放在相关的词上。

翻译:"我喜欢吃苹果" → "I like eating apples" 翻译"apples"的时候: "苹果" → 高注意力(直接对应) "吃" → 中等注意力(动作对象) "喜欢" → 低注意力 "我" → 低注意力

这个想法,让翻译质量,大幅提升。

但当时,注意力机制,只是 RNN 的一个附加组件。

RNN 还是主体,注意力只是辅助。

直到2017年,那八个谷歌研究员,

提出了一个更激进的想法:

把 RNN 完全扔掉,只用注意力机制。

这,就是 Transformer。


Transformer:注意力就是一切

核心思想

Transformer 的核心思想,用一句话概括:

处理每一个词的时候,同时关注句子里所有其他的词,根据相关性,决定给予多少注意力。

听起来简单,但这个想法,有多深刻?

让我们用一个例子来感受。

句子:"银行的利率上涨了,我去河边的银行钓鱼。" 处理第一个"银行"时: 关注"利率" → 高注意力(金融相关) 关注"上涨" → 中等注意力 关注"河边" → 低注意力 关注"钓鱼" → 低注意力 → 判断:这个"银行"是金融机构 处理第二个"银行"时: 关注"利率" → 低注意力 关注"河边" → 高注意力(地理相关) 关注"钓鱼" → 高注意力(活动相关) → 判断:这个"银行"是河岸

同一个词,在不同的语境下,

通过注意力机制,得到了不同的理解。

这,解决了词向量无法区分语境的问题。

自注意力:句子理解自己

Transformer 里,最关键的机制,叫自注意力

Self-Attention。

句子,关注自己。

每一个词,同时关注句子里的所有词,包括自己。

通过这种方式,每个词,都能获得整个句子的上下文信息。

具体怎么做?

每个词,被转化成三个向量:

Query(查询):我想找什么?

Key(键):我有什么?

Value(值):我的内容是什么?

计算注意力的过程: 1. 用当前词的 Query,和所有词的 Key,计算相似度。 相似度越高,说明这两个词越相关。 2. 把相似度,转化成注意力权重(用 Softmax 函数)。 权重之和为1,相关的词权重高,不相关的词权重低。 3. 用注意力权重,对所有词的 Value 加权求和。 得到当前词的新表示,融合了整个句子的信息。

这个过程,对句子里的每一个词,同时进行。

不需要一个词一个词地处理。

可以并行计算。

这,解决了 RNN 无法并行的问题。

多头注意力:从多个角度看

Transformer 还有一个创新:多头注意力

Multi-Head Attention。

不只用一组注意力,而是用多组。

每一组,从不同的角度,关注不同的信息。

第1个注意力头:关注语法关系 "猫"和"追"的关系(主谓关系) 第2个注意力头:关注语义关系 "猫"和"老鼠"的关系(捕食关系) 第3个注意力头:关注位置关系 "猫"在句子里的位置 ...多个头,同时工作,从不同角度理解句子

就像一个团队,每个人,负责不同的方面。

最后,把所有人的分析,综合起来。

得到更全面、更深刻的理解。

位置编码:告诉模型词的顺序

RNN 天然地,按顺序处理词,知道词的位置。

但 Transformer 是并行处理的,

它不知道哪个词在前,哪个词在后。

“猫追老鼠"和"老鼠追猫”,意思完全不同。

但如果不知道顺序,Transformer 会认为它们是一样的。

怎么解决?

位置编码。

给每个词,加上一个表示位置的向量。

"猫"在位置1 → "猫"的向量 + 位置1的编码 "追"在位置2 → "追"的向量 + 位置2的编码 "老鼠"在位置3 → "老鼠"的向量 + 位置3的编码

这样,模型就知道了每个词的位置。

顺序信息,被保留了下来。

编码器和解码器

Transformer,由两部分组成。

编码器(Encoder):

读入源语言的句子,

通过多层自注意力,

把句子,转化成一个富含语义信息的向量表示。

就像把句子,压缩成一个"意思"。

解码器(Decoder):

读入编码器的输出,

一个词一个词地,生成目标语言的句子。

生成每个词的时候,

既关注已经生成的词(自注意力),

又关注编码器的输出(交叉注意力)。

就像翻译员,一边看原文,一边写译文。


为什么这篇论文,改变了一切

改变一:并行计算,规模爆炸

RNN 无法并行,训练速度慢,模型规模受限。

Transformer 可以并行,训练速度快,模型规模可以无限扩大。

这一个改变,带来了连锁反应。

模型可以更大,数据可以更多,能力可以更强。

模型规模的爆炸: BERT(2018年):3.4亿参数 GPT-2(2019年):15亿参数 GPT-3(2020年):1750亿参数 GPT-4(2023年):估计超过1万亿参数

每一次规模的扩大,都带来了能力的质变。

这种规模的扩大,没有 Transformer 的并行计算,是不可能实现的。

改变二:长程依赖,彻底解决

RNN 处理长句子,前面的信息会丢失。

Transformer 的自注意力,让每个词,都能直接关注句子里的任何其他词。

不管距离多远,都能直接建立联系。

句子:"那个我在十年前,在巴黎的一家小咖啡馆里, 第一次见到的,穿着红色连衣裙的女孩, 今天,成了我的妻子。" RNN:读到"妻子"的时候,"那个女孩"的信息,可能已经衰减了。 Transformer:读到"妻子"的时候, 直接关注"那个女孩",注意力权重很高。 长程依赖,完美解决。

改变三:迁移学习,一次训练,到处使用

Transformer 带来了一种新的训练范式:

预训练 + 微调。

先在海量数据上,预训练一个大模型。

这个模型,学到了语言的通用规律。

然后,针对具体任务,用少量数据,微调这个模型。

就像一个人,先接受通识教育,学会了阅读、写作、思考。

然后,再学习具体的专业知识。

通识教育的积累,让专业学习,事半功倍。

这种范式,彻底改变了自然语言处理的格局。

不再需要,为每个任务,从头训练一个模型。

一个预训练模型,可以用于翻译、问答、摘要、分类,几乎所有任务。

改变四:能力的涌现

当模型规模足够大,

一些没有被明确训练的能力,

自动涌现出来了。

这叫做涌现能力(Emergent Abilities)

没有人教 GPT-3 做数学题, 但它能做简单的数学题。 没有人教 GPT-3 写代码, 但它能写出可运行的代码。 没有人教 GPT-3 做逻辑推理, 但它能做一定程度的逻辑推理。

这些能力,是从哪里来的?

没有人完全理解。

但它们,真实地存在着。

这种涌现,是 Transformer 规模效应的神奇产物。


从论文到 ChatGPT:五年的旅程

2017年,论文发表。

2018年,谷歌发布 BERT,基于 Transformer 的编码器。

在11个自然语言处理任务上,刷新了最好成绩。

研究者们,第一次感受到了 Transformer 的威力。

2018年,OpenAI 发布 GPT-1,基于 Transformer 的解码器。

证明了,预训练 + 微调的范式,行得通。

2019年,GPT-2 发布。

生成的文本,质量之高,让 OpenAI 一度不敢公开发布。

2020年,GPT-3 发布。

1750亿参数,少样本学习,能力质变。

程序员们,开始认真对待这个技术。

2022年,InstructGPT 发布。

RLHF 技术,让模型学会了听话。

2022年11月,ChatGPT 发布。

世界,变了。


对程序员的冲击

代码,也是一种语言

Transformer 最初是为自然语言设计的。

但研究者们很快发现:

代码,也是一种语言。

代码,有语法,有语义,有结构。

代码,也是序列数据。

Transformer,同样可以处理代码。

而且,处理得非常好。

因为代码,比自然语言,更加规范,更加结构化。

Transformer 在代码上,如鱼得水。

GitHub Copilot:第一个冲击波

2021年,GitHub 和 OpenAI 合作,

基于 Codex 模型(GPT-3 在代码上微调的版本),

发布了 GitHub Copilot。

程序员,第一次感受到了,

AI 可以真正地,帮你写代码。

不是简单的代码补全,

而是理解你的意图,生成完整的函数,完整的模块。

你写一行注释: # 读取CSV文件,过滤年龄小于18的行,保存到新文件 Copilot 自动生成: import pandas as pd def filter_underage(input_file: str, output_file: str) -> None: """ 读取CSV文件,过滤年龄小于18的行,保存到新文件 Args: input_file: 输入文件路径 output_file: 输出文件路径 """ df = pd.read_csv(input_file) filtered_df = df[df['age'] >= 18] filtered_df.to_csv(output_file, index=False)

这,不是魔法。

这,是 Transformer 的力量。

ChatGPT:第二个冲击波,更猛烈

Copilot,只是在编辑器里,帮你补全代码。

ChatGPT,是一个全能的编程助手。

你可以用自然语言,和它对话。

描述需求,它写代码。

粘贴报错,它找 Bug。

给它代码,它解释逻辑。

让它重构,它优化代码。

这种交互方式,彻底改变了程序员的工作流程。

以前的工作流程: 遇到问题 → Google → Stack Overflow → 看文档 → 理解 → 适配 → 解决 平均耗时:30分钟到几小时 现在的工作流程: 遇到问题 → 问 ChatGPT → 得到针对性答案 → 解决 平均耗时:5分钟

这不是效率的提升,这是工作方式的革命。


Transformer 之后,世界还在变

Transformer,不只改变了自然语言处理。

它的影响,蔓延到了几乎所有领域。

图像识别:

Vision Transformer(ViT),把图像切成小块,当成序列,用 Transformer 处理。

效果,超过了之前所有的卷积神经网络。

语音识别:

Whisper,OpenAI 的语音识别模型,基于 Transformer。

识别准确率,达到了人类水平。

蛋白质结构预测:

AlphaFold2,DeepMind 的蛋白质结构预测模型,

用了 Transformer 的注意力机制。

解决了困扰生物学家50年的难题。

自动驾驶:

Tesla 的自动驾驶系统,引入了 Transformer,

处理多个摄像头的图像,理解复杂的交通场景。

一篇论文,改变了人工智能的几乎所有方向。


最后说一句

2017年,那八个谷歌研究员,

可能没有想到,他们的论文,会改变世界。

他们只是,想解决一个翻译的问题。

但他们提出的想法,

注意力,就是你需要的一切,

这句话,比他们想象的,深刻得多。

注意力机制,让机器,第一次能够,

真正地,理解语言。

理解上下文,理解语义,理解意图。

这种理解能力,让 ChatGPT 成为可能。

让程序员的工作方式,发生了革命性的改变。

让人工智能,从实验室里的玩具,

变成了改变世界的工具。

那八个研究员,写了15页纸。

这15页纸,撬动了整个世界。

这,就是一个好想法的力量。

它不需要很复杂。

它只需要,足够深刻。

足够深刻,就足以改变一切。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询