← 返回试看列表
语言模型与架构模块三 · 注意力机制重点导读 · 12 分钟

手算一次注意力:从打分到加权求和

注意力是整个大模型最核心也最容易「背公式却不懂」的一步。这节课不写代码,先用一个 3 个词的短句,把 Query-Key-Value、softmax、加权求和全部手算一遍。


一句话概括注意力:每个词都在问「我该关注句子里的谁」。它带着自己的 Query 去和每个词的 Key 比相似度,得到一组分数;分数用 softmax 变成「注意力比例」;再拿这组比例去加权别人的 Value,汇总成新的表示。

Attention(Q,K,V)=softmax ⁣(QKdk)V\text{Attention}(Q, K, V) = \text{softmax}\!\left(\dfrac{QK^{\top}}{\sqrt{d_k}}\right)V
  1. 打分:用 Query 和每个 Key 做点积,得到原始相似度分数(越大越相关)。
  2. 缩放:除以 √dₖ,避免维度一大分数就爆炸、softmax 梯度消失。
  3. 归一化:对这组分数做 softmax,变成加起来等于 1 的「注意力权重」。
  4. 加权求和:用权重去乘每个词的 Value,再全部加起来,就是这个词的新表示。

💡 小 N 手算的意义:先在 3 个词、2 维向量上把每个数字算出来,你就再也不会把 Q/K/V 搞混,也能一眼看懂样题里的矩阵乘法填空题。代码永远滞后于直觉。

完整版会带你把一个 3×2 的 Q、K、V 全部数字代入,逐格算出 3×3 的注意力矩阵,再手算加权求和;然后才用 numpy 复现验证。这是通往「多头注意力」「RoPE 位置编码」「MoE 路由」的地基。

继续进入完整课程

102 节课、练习题库和阶段实验全部开放。建议从学习中心开始记录进度,避免只浏览不练习。

看完整学习路线进入学习中心