用通俗语言理解 Transformer 与注意力机制
通过探索注意力机制如何让模型聚焦于相关上下文(而无需理解数学原理),揭开 Transformer 架构的神秘面纱。
用通俗语言理解 Transformer 与注意力机制 是 CoddyKit 上的免费 AI Engineering Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Engineering Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Engineering Academy 课程共包含 4 节课。
核心问题:长距离依赖
在“奖杯太大,放不进袋子,因为它太大了”这句话中,“它”指的是什么?旧模型在处理长句时容易跟丢指代对象。这就是长距离依赖问题。
注意力:加权聚焦
注意力机制决定对于每个词来说,哪些词最重要——就像突出一段文字中的关键部分,而不是把每个词都一视同仁。
查询、键和值
注意力机制的工作方式类似搜索:每个词发出一个查询,将其与每个键进行匹配,然后提取最相关的值。下面的代码展示了这一核心思想。
# Simplified self-attention in pseudocode
import numpy as np
def scaled_dot_product_attention(Q, K, V):
d_k = Q.shape[-1] # dimension of keys
scores = Q @ K.T / np.sqrt(d_k) # scale to prevent vanishing gradients
weights = np.exp(scores) / np.sum(np.exp(scores), axis=-1, keepdims=True) # softmax
output = weights @ V # weighted sum of values
return output多头注意力:多个视角
一个注意力头可以捕捉一种联系。多头注意力会并行运行多个注意力头,因此模型可以同时从多个角度观察词语。
位置编码:加入词语顺序
注意力机制本身会忽略词语顺序——“狗咬人”和“人咬狗”看起来没有区别。位置编码加入位置信息,让词语顺序不会丢失。
注意力之后的前馈层
注意力机制共享上下文信息后,前馈网络会分别处理每个词。有趣的是,模型中大量事实知识似乎就存储在这里。
仅编码器模型与仅解码器模型
BERT 风格的仅编码器模型会一次读取所有文本,以理解其内容。GPT 风格的仅解码器模型则从左到右读取文本并生成内容——ChatGPT 采用的就是这种方式。
层堆叠与深度
现代 LLM 会堆叠几十个 Transformer 模块。每个层都会进一步完善前一层的结果——较早的层捕捉语法,更深的层处理推理。深度越大,模型能进行的思考越多。
残差连接与层归一化
堆叠许多层并不容易。残差连接和层归一化可以保持信号稳定,使深度达到 100 层以上的模型也能可靠地训练。
为什么注意力机制能够很好地扩展
注意力机制很容易并行运行,因此 GPU 越多,训练速度就越快。研究人员正是通过这种方式在海量数据上训练模型,并发现了著名的规模定律。
FlashAttention 与现代优化方法
较长的输入会让标准注意力机制占用大量内存。FlashAttention能够更加高效地计算相同结果,使较大的上下文窗口成为现实。
快速检查
检验您对本课人工智能工程概念的理解。
课程回顾
回顾:自注意力将每个词与其他所有词联系起来,多头注意力一次捕捉多种关系,而残差连接和归一化让模型能够不断加深。接下来:LLM 是如何训练的。
用 AI 导师学习 Python — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「用通俗语言理解 Transformer 与注意力机制」课时是免费的吗?
是的 — 「用通俗语言理解 Transformer 与注意力机制」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Engineering Academy 课程的其余内容,请升级到 CoddyKit PRO。 AI Engineering Academy 课程共包含 4 节课。
「用通俗语言理解 Transformer 与注意力机制」这节课中我会学到什么?
通过探索注意力机制如何让模型聚焦于相关上下文(而无需理解数学原理),揭开 Transformer 架构的神秘面纱。 你通过在浏览器中直接运行的动手代码来练习 AI Engineering Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Engineering Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Engineering Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「用通俗语言理解 Transformer 与注意力机制」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Engineering Academy 课中编写并运行代码吗?
能。每节 AI Engineering Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 从自动补全到 ChatGPT
- 用通俗语言理解 Transformer 与注意力机制
- LLM 如何训练
- LLM 的能力与局限