{ "cells": [ { "cell_type": "markdown", "id": "4ace51e8-66c1-497b-b5f5-d49b54634a3f", "metadata": {}, "source": [ "# 03.Transformer:模型的计算引擎" ] }, { "cell_type": "markdown", "id": "6350e904-8ecc-44b2-9085-e5b344deece5", "metadata": {}, "source": [ "在 2017 年那篇著名的论文《Attention is All You Need》横空出世之前,深度学习处理语言主要依靠 **RNN(循环神经网络)**。RNN 的逻辑非常符合人类直觉——像读书一样,逐字扫描。但这种“线性思维”存在两个致命缺陷:一是**慢**(无法并行计算),二是**健忘**(处理长句时,开头的语义会逐渐消失)。\n", "\n", "Transformer 的出现,彻底打破了这种线性的枷锁。它抛弃了循环结构,改用 **Self-Attention(自注意力机制)**。" ] }, { "cell_type": "markdown", "id": "de34121c-b06a-4b67-91d1-25cbc53ebffb", "metadata": {}, "source": [ "### 1. RNN 在干什么\n", "\n", "RNN 的核心思想很简单:**按时间顺序,一个一个地处理 token**\n", "这意味着,当前 token 的理解,依赖上一个隐藏状态,信息通过“状态”往后传递。但也因此产生了几个问题。\n", "\n", "**问题 1:无法并行**\n", "token 必须一个接一个算,GPU 利用率极低,长文本直接拖垮性能。\n", "\n", "**问题 2:长期依赖困难**\n", "\n", "例如:“我昨天在北京见到的那个穿红色外套、戴眼镜、说话很快的人,其实是……”\n", "这里关键信息在开头,判断在结尾,中间跨度极长。\n", "\n", "RNN 需要把“北京”“那个人”一直记住,这在现实中几乎不可能\n", "\n", "**问题 3:信息会退化**\n", "\n", "信息通过一个隐藏状态压缩传递,越往后,越模糊,本质上是“信息瓶颈”\n", "\n", "#### Transformer的出现\n", "\n", "**Transformer**的出现,彻底打破了这种线性的枷锁。它抛弃了循环结构,改用 **Self-Attention(自注意力机制)**。\n", "\n", "举个人类的例子来说:当人理解“我把书放在桌子上,因为它太小了。”这句话时自动问:“它”指的是书,还是桌子?\n", "\n", "然后回看上下文,重新分配注意力。\n", "\n", "Transformer中的Attention就是**动态分配关注点**。\n", "\n", "这意味着:\n", "\n", "1. 模型不再逐字扫描,而是一瞬间“看”完整个句子。\n", "2. 无论两个词距离多远,自注意力机制都能计算它们之间的语义关联。\n", "3. 由于不再依赖前一个词的计算结果,Transformer 可以在现代 GPU 上进行大规模并行训练,这直接开启了“大”模型时代。\n", "\n", "Transformer的架构如下:\n", "\n", "![transformer](./raw/transformer.png)\n", "\n", "简单来说它由一个编码器和一个解码器组成。\n", "- 编码器负责将输入序列转换为一系列隐藏表示,捕获输入序列的信息并传递给解码器。\n", "- 解码器接收编码器的输出和先前的解码器输出,生成序列的目标语言表示。\n", "简化的处理流程如下:\n", "\n", "![transformer_encoder](./raw/transformer_encoder.gif)\n", "\n", "![transformer_decoder](./raw/transformer_decoder.gif)\n", "\n", "**Transformer的核心**:\n", "\n", "1. **注意力机制 (Self-Attention)**:解析模型如何学会在海量信息中“划重点”。\n", "2. **多头设计 (Multi-Head Attention)**:理解模型如何同时从不同维度(语法、情感、逻辑)观察同一个词。\n", "3. **位置编码 (Positional Encoding)**:在失去序列顺序后,模型如何找回文字的“前后位置感”。\n", "4. **编码器与解码器 (Encoder & Decoder)**:探索理解(理解输入)与创造(预测输出)的结构分工。\n", "\n" ] }, { "cell_type": "markdown", "id": "0eec2194-db4f-4cbb-9a88-1999cb56998a", "metadata": {}, "source": [ "## 二、Self-Attention 在“算什么”?\n", "Self-Attention 的本质,并不是“理解语言”,而是*为序列中的每一个 Token,计算它应该“关注”其他 Token 的权重,然后按权重做加权求和。**\n", "\n", "具体来说,对序列中的每个 Token,模型都会生成三样东西:\n", "\n", "* **Q(Query,查询)**:我在找什么?\n", "* **K(Key,键)**:我是谁?我能被如何匹配?\n", "* **V(Value,值)**:如果你关注我,你能从我这里拿走什么信息?\n", "\n", "注意力的核心公式是:\n", "\n", "```text\n", "Attention(Q, K, V) = softmax(Q · Kᵀ / √d) · V\n", "```\n", "\n", "它在做三件事:\n", "\n", "1. **相似度计算**:\n", " 用点积 `Q · Kᵀ` 衡量 Token 之间的相关性\n", "2. **归一化权重**:\n", " 用 `softmax` 把相关性变成“注意力分布”\n", "3. **信息聚合**:\n", " 用权重对所有 `V` 做加权求和,得到新的表示\n" ] }, { "cell_type": "markdown", "id": "290ba7ed-549f-4341-99f7-11d7d0dcf58a", "metadata": {}, "source": [ "### 实战:手写一个简易 Self-Attention" ] }, { "cell_type": "code", "execution_count": 1, "id": "8a7fba43-e8df-4710-a961-2ef2ccf74dda", "metadata": {}, "outputs": [], "source": [ "import torch\n", "import seaborn as sns\n", "\n", "import platform\n", "import matplotlib.pyplot as plt\n", "\n", "system = platform.system()\n", "if system == \"Windows\":\n", " plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']\n", "elif system == \"Darwin\": # macOS\n", " plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']\n", "else: # Linux (如 Ubuntu)\n", " plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei']\n", "\n", "plt.rcParams['axes.unicode_minus'] = False\n", "\n", "# 一个非常短的句子\n", "tokens = [\"我\", \"把\", \"书\", \"放在\", \"桌子\", \"上\"]\n", "\n", "n_tokens = len(tokens)" ] }, { "cell_type": "code", "execution_count": 2, "id": "010f5811-027f-4838-b39e-f3aedffb65c4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([[ 1.9269, 1.4873, 0.9007, -2.1055],\n", " [ 0.6784, -1.2345, -0.0431, -1.6047],\n", " [ 0.3559, -0.6866, -0.4934, 0.2415],\n", " [-1.1109, 0.0915, -2.3169, -0.2168],\n", " [-0.3097, -0.3957, 0.8034, -0.6216],\n", " [-0.5920, -0.0631, -0.8286, 0.3309]])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 构造Embedding\n", "\n", "torch.manual_seed(42)\n", "\n", "# 假设 embedding 维度 = 4\n", "d_model = 4\n", "\n", "embeddings = torch.randn(n_tokens, d_model)\n", "embeddings" ] }, { "cell_type": "code", "execution_count": 3, "id": "c6f025e7-6612-4fa9-b741-e9b4287691a1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor([[-1.7405, 3.3628, 4.3763, 2.5923],\n", " [-3.4272, 0.0281, 4.6347, 1.8314],\n", " [ 0.0957, -0.9046, 0.9484, -1.4858],\n", " [ 3.1113, -2.2762, -1.6629, -4.0662],\n", " [-2.4022, 0.6188, 0.8455, 3.0231],\n", " [ 1.4616, -1.1198, -1.3630, -1.7808]]),\n", " tensor([[-4.6247, -2.0605, 5.5346, 1.7538],\n", " [-2.8556, -1.7733, 0.2916, 1.8747],\n", " [ 0.3270, -0.6624, 0.1150, -0.0874],\n", " [ 3.4947, -0.7209, 0.7055, -1.2929],\n", " [-1.5827, 0.4361, -1.6921, 1.0368],\n", " [ 1.8576, 0.1342, -0.4181, -0.7661]]),\n", " tensor([[ 4.2962, -3.1564, 3.5323, -0.3516],\n", " [ 0.6399, -0.1413, 1.9496, -4.5137],\n", " [-1.6082, 0.9454, -0.5397, -1.0974],\n", " [-6.5409, -1.4240, 0.5480, -1.0593],\n", " [ 2.4887, 0.0136, 0.7045, -1.1508],\n", " [-2.6168, -0.0132, -0.4382, 0.0714]]))" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 随机初始化线性映射 生成 Q / K / V\n", "W_Q = torch.randn(d_model, d_model)\n", "W_K = torch.randn(d_model, d_model)\n", "W_V = torch.randn(d_model, d_model)\n", "\n", "Q = embeddings @ W_Q\n", "K = embeddings @ W_K\n", "V = embeddings @ W_V\n", "\n", "Q, K, V" ] }, { "cell_type": "code", "execution_count": 4, "id": "64de4187-1591-42a5-a98d-98b0055ce1b4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([[ 29.8873, 5.1431, -2.5200, -8.7709, -0.4961, -6.5974],\n", " [ 44.6547, 14.5218, -0.7665, -11.0953, -0.5072, -9.7033],\n", " [ 4.0649, -1.1779, 0.8693, 3.5767, -3.6912, 0.7982],\n", " [-26.0332, -12.9563, 2.6892, 16.5982, -7.3190, 9.2846],\n", " [ 19.8156, 11.6765, -1.3623, -12.1533, 5.7755, -7.0489],\n", " [-15.1187, -5.9240, 1.2186, 7.2560, -2.3417, 4.4989]])" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 计算 Attention Scores\n", "scores = Q @ K.T\n", "scores" ] }, { "cell_type": "code", "execution_count": 5, "id": "b6ffaa3c-78a2-43eb-9cf8-e3579e1e34d3", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Attention Score 可视化\n", "plt.figure(figsize=(6, 5))\n", "sns.heatmap(\n", " scores.detach().numpy(),\n", " xticklabels=tokens,\n", " yticklabels=tokens,\n", " annot=True,\n", " cmap=\"Blues\"\n", ")\n", "plt.title(\"Attention Scores (Q · K)\")\n", "plt.xlabel(\"Key\")\n", "plt.ylabel(\"Query\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "861a51fc-b1b3-4297-bb3b-1a05c9c51f16", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([[1.0000e+00, 1.7936e-11, 8.4270e-15, 1.6253e-17, 6.3775e-14, 1.4285e-16],\n", " [1.0000e+00, 8.1933e-14, 1.8786e-20, 6.1392e-25, 2.4348e-20, 2.4698e-24],\n", " [5.8876e-01, 3.1117e-03, 2.4105e-02, 3.6132e-01, 2.5204e-04, 2.2449e-02],\n", " [3.0561e-19, 1.4601e-13, 9.1021e-07, 9.9933e-01, 4.0985e-11, 6.6598e-04],\n", " [9.9971e-01, 2.9183e-04, 6.3448e-10, 1.3061e-14, 7.9863e-07, 2.1517e-12],\n", " [1.7992e-10, 1.7712e-06, 2.2400e-03, 9.3814e-01, 6.3686e-05, 5.9551e-02]])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Attention Weights\n", "attn_weights = torch.softmax(scores, dim=-1)\n", "attn_weights" ] }, { "cell_type": "code", "execution_count": 7, "id": "36ffed17-3b65-45ae-bc51-5f2cfafd573e", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(6, 5))\n", "sns.heatmap(\n", " attn_weights.detach().numpy(),\n", " xticklabels=tokens,\n", " yticklabels=tokens,\n", " annot=True,\n", " cmap=\"Greens\"\n", ")\n", "plt.title(\"Attention Weights (after Softmax)\")\n", "plt.xlabel(\"Key\")\n", "plt.ylabel(\"Query\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "id": "adc8e389-786b-40d3-8b26-9a653d4451e9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([[ 4.2962, -3.1564, 3.5323, -0.3516],\n", " [ 4.2962, -3.1564, 3.5323, -0.3516],\n", " [ 0.0711, -2.3509, 2.2611, -0.6290],\n", " [-6.5383, -1.4231, 0.5473, -1.0585],\n", " [ 4.2952, -3.1556, 3.5318, -0.3529],\n", " [-6.2956, -1.3346, 0.4868, -0.9920]])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 计算 Attention Output\n", "output = attn_weights @ V\n", "output" ] }, { "cell_type": "markdown", "id": "867c1705-7eb5-4d32-a2ef-f6a6c5781fcf", "metadata": {}, "source": [ "以上就是一次完整的 Self-Attention:\n", "\n", "1. embedding → Q / K / V\n", "2. Q · K → 相关性\n", "3. softmax → 注意力分布\n", "4. 加权求和 V → 新 token 表示" ] }, { "cell_type": "markdown", "id": "e9f5c71e-1cf5-4b49-8440-6857ee3cf222", "metadata": {}, "source": [ "## 三.Layer 在模型中承担的角色\n", "\n", "一个标准 Transformer 通常包含以下几层:\n", "\n", "1. **Self-Attention**:让 Token 融合上下文信息\n", "2. **Feed-Forward Network(FFN)**:对每个 Token 独立做非线性变换\n", "3. **Residual + LayerNorm**:稳定训练,防止信息退化\n", "\n", "\n", "### 实战:一层在“改变什么”?\n", "\n", "下面用一个极简示例,展示**同一输入经过一层前后的变化**。" ] }, { "cell_type": "code", "execution_count": null, "id": "a883e18e-5b7e-432f-a5e1-2465eaca2464", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "np.set_printoptions(precision=3, suppress=True)\n", "\n", "# 假设有 3 个 token,每个 token 是 4 维向量\n", "X = np.array([\n", " [1.0, 0.0, 1.0, 0.0],\n", " [0.0, 2.0, 0.0, 2.0],\n", " [1.0, 1.0, 1.0, 1.0],\n", "])\n", "\n", "# ---- Self-Attention(简化版)----\n", "def self_attention(X):\n", " W = np.random.rand(X.shape[1], X.shape[1])\n", " Q = X @ W\n", " K = X @ W\n", " V = X @ W\n", "\n", " scores = Q @ K.T / np.sqrt(X.shape[1])\n", " weights = np.exp(scores) / np.exp(scores).sum(axis=-1, keepdims=True)\n", " return weights @ V\n", "\n", "# ---- Feed Forward Network ----\n", "def feed_forward(X):\n", " W1 = np.random.rand(X.shape[1], X.shape[1] * 2)\n", " W2 = np.random.rand(X.shape[1] * 2, X.shape[1])\n", " return np.maximum(0, X @ W1) @ W2 # ReLU\n", "\n", "# ---- Layer 组合 ----\n", "def transformer_layer(X):\n", " attn_out = self_attention(X)\n", " X = X + attn_out # Residual\n", " X = (X - X.mean(axis=-1, keepdims=True)) / (X.std(axis=-1, keepdims=True) + 1e-6)\n", "\n", " ffn_out = feed_forward(X)\n", " X = X + ffn_out # Residual\n", " X = (X - X.mean(axis=-1, keepdims=True)) / (X.std(axis=-1, keepdims=True) + 1e-6)\n", " return X\n", "\n", "# 执行一层\n", "output = transformer_layer(X)\n", "\n", "print(\"输入表示:\\n\", X)\n", "print(\"\\n经过一层后的表示:\\n\", output)\n" ] }, { "cell_type": "markdown", "id": "bf8aa8b6-47ed-4c7f-9413-bebd6b829811", "metadata": {}, "source": [ "从结果可以清楚地看到,输入与输出在维度和 Token 数量上完全一致,但向量的数值分布已经发生了显著变化。这说明这一层并没有“记住原样”,而是通过 Self-Attention 将每个 Token 与上下文重新关联,再通过前馈网络进行非线性重映射,使得每个 Token 的表示都变成了**“结合了全局上下文的新身份”**。\n", "\n", "同时,由于归一化的存在,输出向量呈现出正负分布、均值接近零的特征,这表明模型在主动拉开不同维度的表达差异,避免信息塌缩。直观上看,每一行都已经不再对应某个“原始输入向量”,而是一个在当前层语义空间中重新定位后的点。" ] }, { "cell_type": "code", "execution_count": null, "id": "7e594183-1f69-46f9-b6e4-fdaa00b0878f", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.10" } }, "nbformat": 4, "nbformat_minor": 5 }