Attention(注意力)

Attention

模型在关注哪里

亦作、亦称:注意力

注意力机制(Attention)是深度学习中让模型在处理序列时动态决定「该关注哪些位置」的核心运算,它打破了 RNN 对信息的线性传递限制,成为 Transformer 及现代大语言模型的基础算子。

概述

注意力机制让模型对序列中每个位置赋予不同的「重要性权重」,而非一视同仁地处理所有输入。

  • 核心直觉:人类阅读时视线会集中在关键词上,注意力机制将这一行为数学化——每个输出 token 都能「回望」全部输入并决定借鉴谁。
  • 三要素Query(查询) 代表当前需求,Key(键) 代表候选信息的索引,Value(值) 是实际携带的内容;注意力分数由 Q 与各 K 的相似度决定。
  • 地位:注意力是 Transformer 的核心算子,直接影响 位置编码多头机制KV Cache 等所有上层设计。
  • 对旧范式的替代:在此之前,seq2seq 模型依赖固定长度的中间向量传递信息,注意力允许模型直接访问任意历史位置,解决了长距离依赖问题。

工作原理

缩放点积注意力(Scaled Dot-Product Attention)是最常用的计算形式,步骤清晰可拆解。

  • 第一步,线性投影:输入向量分别乘以三个可学习矩阵 W_Q、W_K、W_V,得到 Q、K、V 三组表示。
  • 第二步,计算分数:Q 与每个 K 做点积,再除以 √d_k(键维度的平方根),防止内积过大导致 softmax 梯度消失。
  • 第三步,归一化:将分数通过 softmax 转换为和为 1 的概率分布,即各位置的注意力权重。
  • 第四步,加权求和:用注意力权重对 V 做加权求和,得到当前位置的输出向量。
  • 计算复杂度:序列长度为 n 时,标准注意力的时间与空间复杂度均为 O(n²),这是长上下文的主要瓶颈。

类型与变体

注意力机制演化出多种变体,分别针对效率、表达力或应用场景优化。

  • 多头注意力(Multi-Head Attention):同时运行 h 组并行注意力头,每头学习不同的「关注视角」,再拼接投影;这是 Transformer 的标准配置。
  • 自注意力(Self-Attention)交叉注意力(Cross-Attention):前者 Q/K/V 均来自同一序列用于建模内部依赖,后者让解码器关注编码器输出,常见于翻译和多模态模型。
  • 因果注意力(Causal Attention):通过掩码屏蔽未来位置,确保自回归生成时只能看见之前的内容;GPT 系列采用此形式。
  • Flash Attention:不改变数学等价性,通过分块计算与 IO 感知调度大幅降低 GPU 显存占用,已成工程标配。
  • 分组查询注意力(GQA):多个 Q 头共享同一组 K/V,减少 KV Cache 体积;Llama 2/3Mistral 等主流模型均采用。

应用场景

注意力机制已成为几乎所有前沿 AI 任务的基础构件。

  • 自然语言处理BERT 用双向自注意力做理解任务,GPT 用因果注意力做生成任务,两者均以注意力为核心。
  • 图像理解Vision Transformer(ViT) 将图像切成 patch 序列后用注意力建模全局关系,打破 CNN 局部感受野限制。
  • 多模态对齐CLIP 中文本与图像特征通过交叉注意力对齐;扩散模型(如 Stable Diffusion)用交叉注意力将文本提示注入图像去噪过程。
  • 语音与代码Whisper 用编解码器注意力做语音转录;代码补全工具依赖注意力捕捉跨文件上下文。
  • 长上下文推理:通过稀疏注意力或 KV Cache 复用,现代 LLM 的上下文窗口已扩展至百万 token 级别。

局限与误区

理解注意力机制的边界同样重要。

  • 二次方复杂度:标准注意力的计算量随序列长度平方增长,这是 Flash Attention、稀疏注意力等研究的根本动因。
  • 位置信息缺失:注意力本身是排列不变的(permutation-invariant),必须额外引入 位置编码(如正弦编码、RoPE)才能感知顺序。
  • 误区:权重 ≠ 重要性:注意力权重高并不一定意味着该 token 对最终输出贡献大,梯度分析等归因方法往往给出不同结论。
  • 误区:头数越多越好:多头注意力并非头数越多性能越强,过多的头会带来冗余,实践中需根据模型规模权衡。
  • 显存瓶颈:推理阶段 KV Cache 随上下文长度线性增长,成为部署长上下文模型时显存的主要占用者。

发展脉络

注意力机制从早期翻译辅助技术演变为现代 AI 的基础架构。

  • 2014Bahdanau et al. 提出软对齐注意力(additive attention)用于 seq2seq 机器翻译,首次让解码器动态关注编码器不同位置。
  • 2015Luong et al. 提出点积注意力(multiplicative attention),计算更高效,成为后续主流形式。
  • 2017Google 发表《Attention Is All You Need》,提出 Transformer 架构,注意力机制从辅助角色升为唯一核心,淘汰 RNN。
  • 2018BERT(双向编码器)和 GPT(自回归解码器)相继发布,验证注意力在 NLP 预训练中的统治地位。
  • 2020ViT 将注意力引入计算机视觉,证明其跨模态普适性。
  • 2022Flash Attention(Dao et al.)通过 IO 感知算法大幅提升注意力计算效率,成为主流框架标配。
  • 2023-2024GQA、MLA(DeepSeek) 等变体聚焦 KV Cache 压缩,支撑百万 token 级别的长上下文推理。

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「模型在关注哪里」
  • 「软性的划重点」
  • 「QKV 那套」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 2 篇文章,帮助深入理解该术语。

  1. 1

    注意力机制与 Transformer 架构

    详解 Self-Attention、Multi-Head Attention 和 Transformer 的编码器-解码器结构

  2. 2

    大语言模型训练全流程

    从数据采集到预训练、指令微调到人类反馈强化学习的完整管线

外部参考

维基百科:查看「Attention」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。