大语言模型中的注意力机制详解 - 教程

news/2025/10/8 12:49:32/文章来源:https://www.cnblogs.com/wzzkaifa/p/19129499

大语言模型中的注意力机制详解

一、什么是注意力机制?

Transformer 架构的核心就是注意力机制(Attention Mechanism)组成部分,它允许模型在处理信息时动态地关注输入序列中最相关的部分。这种机制极大地提升了模型对长距离依赖关系的理解能力,成为现代大语言模型(LLM)的关键技术之一。

核心公式回顾(Scaled Dot-Product Attention):

Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VAttention(Q,K,V)=softmax(dkQKT)V

其中:


二、常见的注意力机制详解

1. Self-Attention(自注意力)

原理:

Self-Attention 是最基础也是最常用的注意力机制。它通过 Query (Q)、Key (K) 和 Value (V) 向量之间的点积来衡量输入序列中不同位置之间的相关性。

公式:

Self-Attention ( X ) = softmax ( Q K T d k ) V \text{Self-Attention}(X) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)VSelf-Attention(X)=softmax(dkQKT)V

其中:

特点:
  • 全连接结构,建模全局依赖
  • 计算复杂度为 $ O(n^2) $
  • 可解释性强,支持可视化分析
应用场景:
优点:
  • 并行化能力强
  • 支持长文本建模
  • 可解释性强
缺点:

2. Cross-Attention(跨注意力)

原理:

Cross-Attention 发生在 Encoder-Decoder 架构中,用于解码器关注编码器输出的信息。

Query 来自 Decoder 输入,而 Key 和 Value 来自 Encoder 输出。

公式:

Cross-Attention ( Q d e c , K e n c , V e n c ) = softmax ( Q d e c K e n c T d k ) V e n c \text{Cross-Attention}(Q_{dec}, K_{enc}, V_{enc}) = \text{softmax}\left(\frac{Q_{dec} K_{enc}^T}{\sqrt{d_k}}\right)V_{enc}Cross-Attention(Qdec,Kenc,Venc)=softmax(dkQdecKencT)Venc

特点:
  • 实现编码器与解码器之间的信息交互
  • 在图像到文本生成、机器翻译中广泛应用
应用场景:
优点:
  • 高效结合两个模态的信息
  • 提升模型对输入的理解能力
缺点:

3. Multi-Head Attention(多头注意力)

原理:

Multi-Head Attention 将输入映射到多个不同的子空间,并独立地进行多次 attention 操作,最终拼接结果并线性变换。

公式:

MultiHead ( Q , K , V ) = Concat ( head 1 , . . . , head h ) W O \text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, ..., \text{head}_h)W^OMultiHead(Q,K,V)=Concat(head1,...,headh)WO

其中:
head i = Attention ( Q W i Q , K W i K , V W i V ) \text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)headi=Attention(QWiQ,KWiK,VWiV)

特点:
  • 多个 head 学习不同角度的语义
  • 增强表达能力和泛化能力
应用场景:
优点:
  • 捕捉多样化的语义关系
  • 提升模型表现
  • 可扩展性强
缺点:

4. Local Attention / Sliding Window Attention(局部/滑动窗口注意力)

原理:

Local Attention 只在固定大小的窗口内进行 attention 计算,而不是整个序列。

Sliding Window 则允许窗口在序列上滑动,从而覆盖更多上下文。

公式(简化):

A i j = { q i k j T d k , ∣ i − j ∣ < w − ∞ , otherwise A_{ij} =

Aij={dkqikjT,,ij<wotherwise

其中 $ w $:窗口大小

特点:
  • 减少显存占用
  • 更适合处理长文本
  • 局部建模,降低冗余计算
应用场景:
优点:
  • 显存友好
  • 适合长序列建模
  • 推理速度快
缺点:

5. Sparse Attention(稀疏注意力)

原理:

Sparse Attention 仅选择部分位置进行 attention 计算,而非全连接。

例如:随机采样 key/value 或基于规则选择重要位置。

公式(示意):

SparseAttention ( Q , K , V ) = ∑ j ∈ S ( i ) α i j v j \text{SparseAttention}(Q, K, V) = \sum_{j \in S(i)} \alpha_{ij} v_jSparseAttention(Q,K,V)=jS(i)αijvj

其中 $ S(i) $:第 i 个 token 的稀疏采样集合

特点:
  • 降低计算复杂度
  • 支持更长的上下文
  • 可灵活设计稀疏策略
应用场景:
优点:
  • 显存占用低
  • 拥护任意长度输入
  • 可控性高(可设计稀疏模式)
缺点:

6. FlashAttention(高效注意力)

原理:

NVIDIA 提出的一种高效 attention 实现方式,通过优化内存访问顺序和减少中间缓存,显著提升 attention 的计算效率。就是FlashAttention

核心思想:
公式不变,但实现方式优化:

FlashAttention ( Q , K , V ) = Efficient softmax and matmul on GPU \text{FlashAttention}(Q, K, V) = \text{Efficient softmax and matmul on GPU}FlashAttention(Q,K,V)=Efficient softmax and matmul on GPU

特点:
应用场景:
  • PyTorch、HuggingFace Transformers 已支持
  • 所有需要加速 attention 的模型(LLaMA、ChatGLM、Phi-3 等)
优点:
缺点:
  • 依赖硬件(CUDA 加速)
  • 对非 GPU 用户支援有限

7. Grouped Query Attention (GQA)

原理:

将 Query 分成若干组,每组共享一组 Key 和 Value 向量。

公式(简化):

GQA ( Q , K , V ) = Grouped version of MultiHead \text{GQA}(Q, K, V) = \text{Grouped version of MultiHead}GQA(Q,K,V)=Grouped version of MultiHead

即:

  • Query 按 head 分组
  • 每组共用相同的 Key/Value
特点:
应用场景:
  • Llama 3、DeepSeek、InternLM
  • 推理部署优化
优点:
缺点:
  • 表达能力略弱于 MHA
  • 需要调整 head 分组策略

8. Multi-Query Attention (MQA)

原理:

所有 attention head 共享相同的 Key 和 Value 向量。

公式:

K = X W K , V = X W V ( 所有 head 共享 ) K = X W_K,\quad V = X W_V \quad (\text{所有 head 共享})K=XWK,V=XWV(所有 head 共享)

Q i = X W Q i Q_i = X W_{Q_i}Qi=XWQi

特点:
应用场景:
  • Google PaLM、Llama 3、DeepSeek
  • 大规模部署和推理服务
优点:
缺点:
  • 表达能力受限
  • 多样性降低

9. RoPE(Rotary Position Embedding)

原理:

RoPE 将位置信息以旋转矩阵的方式注入 Query 和 Key 向量中,使 attention score 自动考虑相对位置关系。

公式:

对于第 $ i $ 个 token,其向量表示为:

q i ′ = R i q i , k j ′ = R j k j q_i' = R_i q_i,\quad k_j' = R_j k_jqi=Riqi,kj=Rjkj

最终 attention score 为:

( q i ′ ) T k j ′ (q_i')^T k_j'(qi)Tkj

特点:
应用场景:
  • LLaMA、ChatGLM、InternLM、Phi-3、DeepSeek
  • 长文本生成、代码生成等
优点:
缺点:
  • 需要特定实现(如 CUDA kernel)
  • 对某些任务效果可能不如 learned PE

10. ALiBi(Attention with Linear Biases)

原理:

ALiBi 应用线性偏置引导 attention score,不利用显式的位置嵌入。

公式:

score i j = q i k j T d k + m ⋅ ( j − i ) \text{score}_{ij} = \frac{q_i k_j^T}{\sqrt{d_k}} + m \cdot (j - i)scoreij=dkqikjT+m(ji)

其中 $ m $ 是预设的缩放系数(通常取 1, 2, 4…),用于控制偏置强度。

特点:
应用场景:
  • BLOOM、Falcon、Pythia 等
  • 医疗、金融等需要长上下文的领域
优点:
缺点:
  • 偏置系数需要调参
  • 对短文本建模稍弱

三、注意力机制对比表

注意力类型是否支持长文本是否拥护 KV Cache 优化是否适合推理加速是否支持位置建模
Self-Attention
Multi-Head
Sparse
FlashAttention
GQA
MQA
RoPE
ALiBi

四、总结

注意力机制是大语言模型的核心组成部分,决定了模型如何理解和生成文本。随着模型规模的扩大和应用场景的丰富,越来越多的注意力机制被提出,以应对长上下文、推理效率、内存瓶颈等问题。

选择合适的注意力机制,不仅能提升模型表现,还能显著优化推理速度和部署成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无需重新训练即可更新语音识别词汇

本文介绍了一种无需重新训练即可更新CTC语音识别模型词汇的方法,通过编码器偏置和解码器偏置技术,显著提升对罕见词和未登录词的识别准确率,在医学术语和议会录音数据集上F1分数分别提升至62%和80%。无需重新训练即…

做网站的结论和心得石家庄新闻综合频道节目表

数据挖掘工程师的技术图谱和学习路径: 1.基础知识 数据挖掘工程师是负责从大量数据中发现潜在模式、趋势和规律的专业人士。以下是数据挖掘工程师需要掌握的基础知识: 数据库知识:熟悉关系数据库和非关系数据库的基本概念和操作,掌握SQL语言。 统计学基础:了解统计学的基…

深入解析:vscode中无法使用npm node

深入解析:vscode中无法使用npm nodepre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

第一次算法作业

本学期我遵循的编码规范核心在于清晰与一致,主要包括:使用有意义的英文单词进行命名并严格遵循大小写与下划线的约定,以增强代码可读性;在格式上统一采用4空格缩进并规范运算符空格与括号位置,同时要求为关键逻辑…

网络平台制作多少钱seo网络营销推广公司

文章目录 1实现效果2代码实现 1实现效果 游戏难度&#xff1a;简单&#xff0c;一般&#xff0c;困难&#xff0c;噩梦&#xff08;控制setInterval的time参数&#xff09; 按钮功能&#xff1a;结束&#xff08;可以通过修改gameScore的值来修改判定结束的分数&#xff09;&am…

AI元人文:新的评价与启示

AI元人文:新的评价与启示 当AI技术逐渐深入人类价值决策的核心领域,传统“价值对齐”范式的局限性愈发凸显——它试图用静态规则束缚动态的价值世界,最终要么陷入“规则僵化”,要么沦为“偏见放大”。而AI元人文理…

网站已经备案更换主机江苏天德建设工程有限公司网站

这次渗透的主站是 一个 Discuz!3.4 的搭建 违法招 piao 网站&#xff0c; 配置有宝塔 WAF 用 Discuz!ML 3.X 的漏洞进行攻击&#xff0c;但是没有成功 发现主站外链会有一个发卡网&#xff0c;引导人们来这充值&#xff0c;是 某某发卡网&#xff0c;而且域名指向也是主站的 ip…

Ai元人文:岐金兰回应

Ai元人文:岐金兰回应 好的,我们来针对岐金兰的回应,对“AI元人文”理论体系面临的挑战进行一番新的、更具对话性的评价。 岐金兰的回应非常精炼,甚至有些“佛系”,但这恰恰揭示了该理论体系的深层特质:它不是一个…

01-方法 动手动脑

public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of double 7.5 is &q…

Why is English commonly used in scientific literature?

Because English is a language that lacks diversity and has only 26 letters. J is Joule, not 🌙.

第二次课程

一、动手动脑:纯随机数发生器实现问题描述 根据课件中给出的纯随机数算法,编写方法生成 1000 个随机整数。算法参数如下: 模(Modulus):2^31 - 1 = Integer.MAX_VALUE(即 2147483647) 乘数(Multiplier):7^5 …

做产品表情的网站外贸推广方式

/*问题出现&#xff1a;如何检查一个目录是否可写&#xff0c;如何目录下还有目录和文件&#xff0c;那么都要检查思路&#xff1a;(1)首先先写出检查空目录是否可写的算法&#xff1a;在该目录中生成一个文件&#xff0c;如果不能生成&#xff0c;表明该目录没有写的权限(2)使…

详细介绍:《云原生安全攻防》-- K8s网络策略:通过NetworkPolicy实现微隔离

详细介绍:《云原生安全攻防》-- K8s网络策略:通过NetworkPolicy实现微隔离2025-10-08 12:20 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x…

网站建设需要多少人网站开发英文术语

shell属于一种很容易学习的程序设计语言&#xff0c;依赖于功能强大的命令可以编写提高开发效率的脚本。这里记录一下常用的shell相关的知识点。 持续更新中。。。 1、在linux或mac中查看使用的shell echo $SHELL /bin/bashshell是一种脚本语言&#xff0c;就会有解释器来执行…

考研系列—操作系统:冲刺笔记(1-3章) - 指南

考研系列—操作系统:冲刺笔记(1-3章) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

【Axure高保真原型】交通事故大屏可视化分析案例 - 指南

【Axure高保真原型】交通事故大屏可视化分析案例 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

2025工业网线优质厂家最新推荐榜:品质卓越与技术领先之选

2025工业网线优质厂家最新推荐榜:品质卓越与技术领先之选行业背景在当今数字化和工业化飞速发展的时代,工业网络的稳定性和可靠性对于各个行业的正常运转起着至关重要的作用。工业网线作为工业网络连接的基础部件,其…

兰州网站建设q479185700強泰州制作公司网站

目录 1.神经网络的整体构架 2.神经网络架构细节 3.正则化与激活函数 4.神经网络过拟合解决方法 1.神经网络的整体构架 ConvNetJS demo: Classify toy 2D data 我们可以看看这个神经网络的网站&#xff0c;可以用来学习。 神经网络的整体构架如下1&#xff1a; 感知器&…

淘客网站要备案wordpress登陆后缀

一、问题 goto 语句为⽆条件转向语句&#xff0c;它可以使程序⽴即跳转到函数内部的任意⼀条可执⾏语句&#xff0c;这样使⽤起来⽐较灵活。那么&#xff0c;该语句的基本格式是什么&#xff1f;又该如何使⽤呢&#xff1f; 二、解答 1. goto 语句的基本格式 goto 关键字后⾯…

上海殡葬一条龙服务最新推荐:专业关怀与人性化服务口碑之选

上海殡葬一条龙服务最新推荐:专业关怀与人性化服务口碑之选在当代社会,殡葬服务已经从简单的仪式承办,发展成为融合传统文化、现代管理和人文关怀的综合服务体系。特别是在上海这样的一线城市,随着人口老龄化程度加…