Appearance
实验 07 · 注意力机制 — 缩放点积注意力与因果遮罩验证
本实验手写现代大语言模型的心脏:自注意力(Self-Attention)与 Transformer Decoder Block。验证缩放点积注意力的三大核心性质:每行权重和为 1、因果遮罩绝不泄露未来信息、多头拆分再拼接等价无损。
网页即时交互实验一:因果注意力权重矩阵
在自回归解码中,第
滑动下方的 Query 位置 滑块,实时观察注意力权重的动态重分布与因果下三角特征:
交互:因果 Attention 权重
用玩具向量演示「当前 token 该看谁」。真实模型里 Q/K/V 是学出来的。
完整权重矩阵(行=query,列=key)
the
cat
sat
the
1.0
cat
0.5
0.5
sat
0.3
0.3
0.3
网页即时交互实验二:Softmax 温度退火探索
Softmax 将任意未归一化 logits 转换为概率分布。温度超参数
交互:Softmax + Temperature
把 logits 看成「未归一化分数」。Temperature 越高分布越平,越低越尖。
推荐规格:Google Pro A100 / L4 GPU
多头张量矩阵运算推荐在 Colab Pro 切换至 A100/L4 GPU 体验极速吞吐
💡 运行提示:若本仓库为 GitHub 私有仓库,首次在 Colab 打开时请在弹出的对话框中点击「Authorize with GitHub」授权读取;或直接点击「⬇️ 下载 .ipynb」并在 Colab 中选择「上传笔记本」运行。
就绪 (点击运行)
点击右上角「▶ 运行」或按 ⌘/Ctrl+Enter 在浏览器端直接执行交互实验指南
- 观察因果矩阵:在注意力演示中将 Query 调到中间词,检查对应行的后几列是否严格为 0?
- 极温极端情况:在温度演示中将
调到极小,观察概率是否全部集中到最大 logit 上,体会 LLM 采样中 Temperature 参数的物理本质。
本地动手实验与单元测试
在网页端获得直观认识后,回到本地运行你的单头/多头 Attention 与 pre-norm Transformer Block 实现:
bash
cd <仓库根目录>
source .venv/bin/activate
export PYTHONPATH="$PWD/python"
# 运行注意力机制与 Transformer 单元测试
pytest python/tests/test_attention.py -v