小白程序员必看!收藏这篇,轻松入门大模型Attention机制
文字进入大模型以后,会先被切成token,然后每个token会变成一个embedding向量。比如一句话:
苹果发布了新手机。
进入模型后,大概会变成:
苹果 → 向量1
发布 → 向量2
了 → 向量3
新 → 向量4
手机 → 向量5
到这一步,模型看到的已经不是文字,而是一组数字向量。但这些向量一开始更多表示token本身,还没有充分融合上下文。Attention要做的,就是让这些token向量彼此建立联系。但问题来了:
这些向量进入模型以后,模型到底在算什么?
其中非常关键的一步,就是计算token和token之间的关系,这一步主要由Attention机制完成。哪些词更重要,哪些词应该重点参考,这就是Attention机制要解决的问题。
为什么需要Attention?
我们先看一个例子。
苹果很甜。
苹果发布了新手机。
这两句话里都有苹果。但第一句话里的“苹果”是水果,第二句话里的“苹果”更可能是公司。
为什么我们能判断出来?因为我们不会孤立地看“苹果”这两个字,而是会看它周围的词:
苹果 + 很甜 → 水果
苹果 + 发布 + 手机 → 公司
大模型也是类似的。一个token的含义,不只取决于它自己,还取决于它和上下文中其他token的关系。所以Attention的核心问题就是:
当模型理解某个token时,应该重点看句子里的哪些token?
Attention的直觉理解
可以把Attention理解成一句话:
给上下文里的每个token分配一个重要性权重。

比如这句话:
苹果发布了新手机
当模型理解苹果时,它可能会重点关注:
当前要理解的词:苹果
苹果 ── 看自己
发布 ── 很重要
了 ── 不太重要
新 ── 一般重要
手机 ── 很重要
如果用权重表示,可能类似:
苹果 → 苹果:0.20
苹果 → 发布:0.30
苹果 → 了:0.05
苹果 → 新:0.10
苹果 → 手机:0.35
这些权重加起来等于1。也就是说,模型在更新苹果这个token的表示时,会更多参考发布和手机。这样一来,苹果的向量就不再只是一个固定的苹果向量,而是融合了上下文信息后的向量。在不同句子里,苹果的最终表示会不同。
Attention的核心图示
可以这样表示:
原始token向量:
苹果 发布 了 新 手机
│ │ │ │ │
v v v v v
向量1 向量2 向量3 向量4 向量5
↓ Attention计算关系 ↓
苹果 需要参考:发布、手机
发布 需要参考:苹果、手机
手机 需要参考:苹果、发布、新
……
↓ 更新后的token向量 ↓
苹果' 发布' 了' 新' 手机'
注意这里的变化:
苹果 → 苹果'
不是简单换了个名字。原来的苹果向量,主要表示这个token本身。经过 Attention之后的苹果’,已经融合了上下文信息。所以它可能更接近苹果公司,而不是水果苹果。
Attention的三个关键角色:Q、K、V
Attention机制里有三个非常重要的概念:
Q:Query,查询
K:Key,键
V:Value,值
刚接触时,这三个词很抽象。我们可以用一个生活化的例子理解。假设你在图书馆找一本书:
Q:你想找什么?
K:每本书的标签
V:每本书真正的内容
你拿着自己的需求Q,去和每本书的标签K做匹配。匹配度越高,说明这本书越值得看。最后你根据匹配分数,从不同书里提取内容V。
放到大模型里也是一样。对于每个token,模型都会生成三个向量:
token 向量 → Q 向量
token 向量 → K 向量
token 向量 → V 向量
每个token的向量都会经过三组可学习的线性变换,分别得到Q、K、V。也就是说,同一个token向量,会被模型投影成三种不同角色:用来提问的Q、用来匹配的K、用来提供信息的V。比如:
苹果 → Q苹果, K苹果, V苹果
发布 → Q发布, K发布, V发布
手机 → Q手机, K手机, V手机
当模型想更新“苹果”这个token时,就用Q苹果去和句子中所有token的K做匹配:
Q苹果 · K苹果
Q苹果 · K发布
Q苹果 · K了
Q苹果 · K新
Q苹果 · K手机
哪个匹配分数高,就说明“苹果”应该更多参考哪个token。
Attention的公式
Attention的经典公式是:
Attention(Q, K, V) = softmax(QKᵀ / √dₖ) V
看起来有点吓人,但拆开其实并不复杂。它可以分成四步。
第一步:计算相关性分数
QKᵀ意思是:用Query和Key做相似度计算。如果两个向量越相似,点积结果通常越大。
比如“苹果”和“手机”关系强,分数可能高;“苹果”和“了”关系弱,分数可能低。可以理解成:
当前token想问:我应该看谁?其他token回答:我和你有多相关?
第二步:除以√dₖ
QKᵀ/√dₖ,这里的
dₖ
为什么要除以它?因为向量维度越高,点积结果可能越大。如果分数太大,后面的softmax会变得过于极端,导致模型训练不稳定。所以这里除以√dₖ,是为了让数值更平稳。
简单理解:防止相关性分数过大,让训练更稳定。
第三步:softmax转成权重
softmax(QKᵀ/√dₖ),softmax的作用是把一组分数变成概率权重。
比如原始分数是:
苹果:2.0
发布:3.5
了:0.5
新:1.0
手机:4.0
经过 softmax 后,可能变成:
苹果:0.12
发布:0.30
了:0.03
新:0.05
手机:0.50
权重加起来等于1。这就表示:当前token最应该关注“手机”,其次关注“发布”。
第四步:加权求和Value
softmax(...)V,有了权重之后,模型会用这些权重去加权求和所有token 的V向量。
比如更新“苹果”时:
苹果' =
0.12 × V苹果
+ 0.30 × V发布
+ 0.03 × V了
+ 0.05 × V新
+ 0.50 × V手机
这样得到的新向量“苹果’”,就融合了上下文信息。
用一句话完整理解公式,Attention公式本质只有一句话:
先计算当前 token 和其他 token 的相关性,再把相关性变成权重,最后根据权重汇总上下文信息。也就是:
算关系 → 分配权重 → 汇总信息 → 更新表示
还是这个句子:
苹果发布了新手机
模型当前要更新“苹果”的表示。
第一步:拿“苹果”的Query去问:
我应该参考谁?
第二步:和所有token的Key计算关系:
苹果 ↔ 苹果:有关系苹果 ↔ 发布:关系强苹果 ↔ 了:关系弱苹果 ↔ 新:一般苹果 ↔ 手机:关系强
第三步:得到权重:
苹果:0.15发布:0.30了:0.05新:0.10手机:0.40
第四步:根据权重汇总信息:
苹果' = 0.15×苹果 + 0.30×发布 + 0.05×了 + 0.10×新 + 0.40×手机
这时,“苹果”的表示已经变了。它不再只是一个普通的“苹果”,而是结合了“发布”和“手机”的上下文信息,更接近“苹果公司”。
Self-Attention是什么?

在Transformer里最常见的是Self-Attention。Self-Attention的意思是:
一个句子内部的token之间互相计算关系。
比如:
苹果 发布 了 新 手机
每个token都会看其他 token:
苹果 看:苹果、发布、了、新、手机
发布 看:苹果、发布、了、新、手机
了 看:苹果、发布、了、新、手机
新 看:苹果、发布、了、新、手机
手机 看:苹果、发布、了、新、手机
最后,每个token都会得到一个融合上下文的新表示:
苹果 → 苹果'
发布 → 发布'
了 → 了'
新 → 新'
手机 → 手机'
这就是Self-Attention的基本过程。为什么叫自注意力?因为它不是从外部找信息,而是在输入序列内部自己和自己计算关系。也就是说:同一句话里的token互相注意。所以叫Self-Attention,中文常翻译成自注意力机制。
Attention为什么重要?
Attention最大的价值是它让模型能够根据上下文动态调整每个token的含义。比如“苹果”这个 token,原始embedding可能是固定的。但经过 Attention后:
苹果很甜 → 苹果 ≈ 水果
苹果发布新手机 → 苹果 ≈ 公司
苹果电脑很好用 → 苹果 ≈ 品牌/产品
这就是Attention的强大之处。它不是死记硬背某个词是什么意思,而是根据上下文重新计算这个词在当前句子中的含义。
Attention和传统方法有什么不同?
以前很多模型处理序列时,通常是从左到右一个词一个词读。比如RNN:
我 → 喜欢 → 吃 → 苹果
它必须按顺序传递信息。如果句子很长,前面的信息传到后面时可能会逐渐变弱。
Attention的优势在于,它可以让token之间直接计算关系,而不必像RNN那样一步一步传递信息。不过在GPT这类自回归模型中,通常会加入因果遮罩,使当前token只能关注自己和前面的token,不能提前看到后面的内容。
这种机制非常适合处理长文本。因为模型不需要一步一步传递信息,而是可以直接计算任意token之间的关系。
Attention的本质
从更底层看,Attention其实就是一种信息检索机制。可以理解成:
Query:我要找什么信息?
Key:我这里有什么信息标签?
Value:我真正携带的信息内容。
然后模型做三件事:
1. 用Query和Key算匹配程度
2. 用softmax把匹配程度变成权重
3. 用权重对Value做加权求和
最终得到新的token表示。
一个更形象的比喻,假设你在开会,大家都在说话。你现在要做一个总结。你不会平均听每个人的话,而是会判断:
谁说的和当前问题最相关?
谁的信息最关键?
谁的话可以少听一点?
Attention也是这样,它不是平均处理所有token,而是给不同token不同权重。重要的,多参考;不重要的,少参考。
Attention机制可以用一句话概括:
让每个token根据上下文,决定应该重点参考哪些token,然后更新自己的表示。完整过程是:
输入token向量
↓
生成 Q、K、V
↓
Q 和 K 计算相关性
↓
softmax 得到注意力权重
↓
权重加权 V
↓
得到融合上下文的新向量
也可以总结成四个字:看谁重要。再稍微专业一点:
Attention = 相关性打分 + 权重分配 + 信息汇总
这就是token变成embedding之后,模型真正开始进行上下文建模的重要一步。
普通人如何抓住AI大模型的风口?
领取方式在文末
为什么要学习大模型?
目前AI大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
目前,开源人工智能大模型已应用于医疗、政务、法律、汽车、娱乐、金融、互联网、教育、制造业、企业服务等多个场景,其中,应用于金融、企业服务、制造业和法律领域的大模型在本次调研中占比超过 30%。
随着AI大模型技术的迅速发展,相关岗位的需求也日益增加。大模型产业链催生了一批高薪新职业:
人工智能大潮已来,不加入就可能被淘汰。如果你是技术人,尤其是互联网从业者,现在就开始学习AI大模型技术,真的是给你的人生一个重要建议!
最后
只要你真心想学习AI大模型技术,这份精心整理的学习资料我愿意无偿分享给你,但是想学技术去乱搞的人别来找我!
在当前这个人工智能高速发展的时代,AI大模型正在深刻改变各行各业。我国对高水平AI人才的需求也日益增长,真正懂技术、能落地的人才依旧紧缺。我也希望通过这份资料,能够帮助更多有志于AI领域的朋友入门并深入学习。
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
大模型全套学习资料展示
自我们与MoPaaS魔泊云合作以来,我们不断打磨课程体系与技术内容,在细节上精益求精,同时在技术层面也新增了许多前沿且实用的内容,力求为大家带来更系统、更实战、更落地的大模型学习体验。

希望这份系统、实用的大模型学习路径,能够帮助你从零入门,进阶到实战,真正掌握AI时代的核心技能!
01 教学内容

-
从零到精通完整闭环:【基础理论 →RAG开发 → Agent设计 → 模型微调与私有化部署调→热门技术】5大模块,内容比传统教材更贴近企业实战!
-
大量真实项目案例: 带你亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!
02适学人群
应届毕业生: 无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型: 非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能突破瓶颈: 传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。

vx扫描下方二维码即可
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
本教程比较珍贵,仅限大家自行学习,不要传播!更严禁商用!
03 入门到进阶学习路线图
大模型学习路线图,整体分为5个大的阶段:
04 视频和书籍PDF合集

从0到掌握主流大模型技术视频教程(涵盖模型训练、微调、RAG、LangChain、Agent开发等实战方向)

新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路(不吹牛,真有用)
05 行业报告+白皮书合集
收集70+报告与白皮书,了解行业最新动态!
06 90+份面试题/经验
AI大模型岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

07 deepseek部署包+技巧大全

由于篇幅有限
只展示部分资料
并且还在持续更新中…
真诚无偿分享!!!
vx扫描下方二维码即可
加上后会一个个给大家发
【附赠一节免费的直播讲座,技术大佬带你学习大模型的相关知识、学习思路、就业前景以及怎么结合当前的工作发展方向等,欢迎大家~】
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)