{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "616bf8ca",
   "metadata": {},
   "source": [
    "# Chapter 38: Attention Variants\n",
    "\n",
    "In Chapter 37 you implemented the attention mechanism of Bahdanau, Cho & Bengio (2014) — the first variant ever published. The score function was *additive*:\n",
    "\n",
    "$$\n",
    "e_{ij} \\;=\\; v_a^\\top \\tanh\\!\\bigl(W_a [s_{i-1}; h_j]\\bigr).\n",
    "$$\n",
    "\n",
    "It works beautifully but it has two costs: a small MLP per (query, key) pair, and an extra parameter matrix $W_a$. A year later, Luong, Pham, and Manning (2015) asked a deceptively simple question: *do we really need that MLP, or can we just take a dot product?*\n",
    "\n",
    "This chapter develops the **design space of attention scores**. We will:\n",
    "\n",
    "- compare additive, dot-product, multiplicative (general), and scaled-dot-product attention;\n",
    "- *derive from first principles* why we need the $\\sqrt{d_k}$ normalisation that defines the modern Transformer — the answer connects directly back to Chapter 17's vanishing-gradient analysis;\n",
    "- visualise softmax saturation as $d_k$ grows, with and without scaling;\n",
    "- mention coverage mechanisms (See, Liu, Manning 2017) as a way to fight repetition.\n",
    "\n",
    "**Original paper:** Luong, Pham, Manning. *Effective Approaches to Attention-based Neural Machine Translation.* EMNLP 2015 (arXiv:1508.04025)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f3a440b8",
   "metadata": {},
   "source": [
    "## 38.1 The Four Score Functions\n",
    "\n",
    "Write the decoder query as $s \\in \\mathbb{R}^{d_s}$ and an encoder state as $h \\in \\mathbb{R}^{d_h}$. Every attention variant is just a different choice of *score function* $e(s, h) \\in \\mathbb{R}$.\n",
    "\n",
    "| Variant            | Score $e(s, h)$                                | Parameters                          | Cost per pair |\n",
    "|--------------------|------------------------------------------------|-------------------------------------|---------------|\n",
    "| Additive (Bahdanau)| $v_a^\\top \\tanh(W_a [s; h])$                   | $W_a \\in \\mathbb{R}^{d_a \\times (d_s+d_h)}$, $v_a \\in \\mathbb{R}^{d_a}$ | $O(d_a (d_s + d_h))$ |\n",
    "| Dot product        | $s^\\top h$                                     | none (requires $d_s = d_h$)         | $O(d)$ |\n",
    "| Multiplicative     | $s^\\top W_g h$                                 | $W_g \\in \\mathbb{R}^{d_s \\times d_h}$ | $O(d_s d_h)$ |\n",
    "| Scaled dot product | $s^\\top h / \\sqrt{d_k}$                        | none                                | $O(d)$ |\n",
    "\n",
    "Two observations.\n",
    "\n",
    "1. **Dot product is by far the cheapest.** It has no parameters and reduces to a single matrix multiplication $S K^\\top$ when batched. This is why every modern Transformer uses it.\n",
    "2. **Multiplicative attention is dot-product on a *projected* key.** The projection $K' = K W_g^\\top$ can absorb the $W_g$. So multiplicative is really *the same as dot product after a learnable rotation*.\n",
    "\n",
    "But there is a catch — and it is exactly the catch that motivated the $\\sqrt{d_k}$ scaling. Section 38.3 will derive it from scratch."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dbce548e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:21.377984Z",
     "iopub.status.busy": "2026-04-30T15:35:21.377827Z",
     "iopub.status.idle": "2026-04-30T15:35:22.905206Z",
     "shell.execute_reply": "2026-04-30T15:35:22.904908Z"
    }
   },
   "outputs": [],
   "source": [
    "import sys, os\n",
    "sys.path.insert(0, os.path.abspath('.'))\n",
    "\n",
    "import math, random\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from utils import VOCAB_SIZE, PAD, SOS, EOS, ITOS, encode, decode, make_batch, accuracy\n",
    "\n",
    "torch.manual_seed(0); random.seed(0)\n",
    "device = torch.device('cpu')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "713504a0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:22.907205Z",
     "iopub.status.busy": "2026-04-30T15:35:22.907052Z",
     "iopub.status.idle": "2026-04-30T15:35:22.909963Z",
     "shell.execute_reply": "2026-04-30T15:35:22.909630Z"
    }
   },
   "outputs": [],
   "source": [
    "def attention_scores(s, H, kind='dot', d_k=None, W_g=None, W_a=None, v_a=None):\n",
    "    \"\"\"Compute attention weights alpha (B, T) for one decoder step.\n",
    "\n",
    "    s: (B, d_s)        decoder query\n",
    "    H: (B, T, d_h)     encoder keys/values\n",
    "    \"\"\"\n",
    "    if kind == 'dot':\n",
    "        e = torch.bmm(H, s.unsqueeze(-1)).squeeze(-1)            # (B, T)\n",
    "    elif kind == 'general':\n",
    "        sW = s @ W_g                                              # (B, d_h)\n",
    "        e = torch.bmm(H, sW.unsqueeze(-1)).squeeze(-1)\n",
    "    elif kind == 'scaled':\n",
    "        e = torch.bmm(H, s.unsqueeze(-1)).squeeze(-1) / math.sqrt(d_k)\n",
    "    elif kind == 'additive':\n",
    "        # v^T tanh(W [s; h])\n",
    "        s_exp = s.unsqueeze(1).expand(-1, H.size(1), -1)         # (B, T, d_s)\n",
    "        cat = torch.cat([s_exp, H], dim=-1)                      # (B, T, d_s+d_h)\n",
    "        e = v_a(torch.tanh(W_a(cat))).squeeze(-1)                # (B, T)\n",
    "    return F.softmax(e, dim=-1), e"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a0c0_974168",
   "metadata": {},
   "source": [
    "### A worked example: all four scores on one $(s, h)$ pair\n",
    "\n",
    "Before plotting anything, let us *compute* each variant by hand on a tiny shared example so the formulas stop being symbolic. Take $d_s = d_h = d_a = 4$ and a single key (so we can read all numbers).\n",
    "\n",
    "$$\n",
    "s = \\begin{pmatrix} 1.0 \\\\ -0.5 \\\\ 0.3 \\\\ 0.8 \\end{pmatrix}, \\qquad h = \\begin{pmatrix} 0.6 \\\\ 0.2 \\\\ -0.4 \\\\ 1.0 \\end{pmatrix}.\n",
    "$$\n",
    "\n",
    "The dot product is $s^\\top h = 0.6 - 0.1 - 0.12 + 0.8 = 1.18$. The scaled version divides by $\\sqrt{4} = 2$, giving $0.59$. The general (multiplicative) score depends on $W_g$, and the additive score depends on $(W_a, v_a)$. The cell below evaluates all four on the *same* random parameters and prints the intermediate quantities so you can trace the arithmetic."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "aud38a0c1_5e8fa5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:22.911470Z",
     "iopub.status.busy": "2026-04-30T15:35:22.911363Z",
     "iopub.status.idle": "2026-04-30T15:35:22.916508Z",
     "shell.execute_reply": "2026-04-30T15:35:22.916164Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dot                e = +1.1800\n",
      "scaled dot         e = +0.5900   (= dot / sqrt(4))\n",
      "general (s W_g h)  e = +0.3471   intermediate s W_g = [ 0.166  0.57  -0.183  0.06 ]\n",
      "additive           e = -0.6569   tanh(W_a[s;h]) = [-0.63   0.659 -0.101  0.877]\n"
     ]
    }
   ],
   "source": [
    "torch.manual_seed(11)\n",
    "d = 4\n",
    "s = torch.tensor([1.0, -0.5, 0.3, 0.8])\n",
    "h = torch.tensor([0.6,  0.2, -0.4, 1.0])\n",
    "\n",
    "# Random parameters for the parametrised variants.\n",
    "W_g = torch.randn(d, d) * 0.3\n",
    "W_a = torch.randn(d, 2 * d) * 0.3   # maps [s; h] -> R^d\n",
    "v_a = torch.randn(d) * 0.3\n",
    "\n",
    "# 1. Dot product\n",
    "e_dot = (s * h).sum().item()\n",
    "\n",
    "# 2. Scaled dot product\n",
    "e_scl = e_dot / math.sqrt(d)\n",
    "\n",
    "# 3. General / multiplicative: s^T W_g h\n",
    "sW   = s @ W_g                    # (d,)\n",
    "e_gen = (sW * h).sum().item()\n",
    "\n",
    "# 4. Additive / Bahdanau: v_a^T tanh(W_a [s; h])\n",
    "cat   = torch.cat([s, h])         # (2d,)\n",
    "hid   = torch.tanh(W_a @ cat)     # (d,)\n",
    "e_add = (v_a * hid).item() if v_a.dim() == 0 else (v_a @ hid).item()\n",
    "\n",
    "print(f'dot                e = {e_dot:+.4f}')\n",
    "print(f'scaled dot         e = {e_scl:+.4f}   (= dot / sqrt({d}))')\n",
    "print(f'general (s W_g h)  e = {e_gen:+.4f}   intermediate s W_g = {sW.numpy().round(3)}')\n",
    "print(f'additive           e = {e_add:+.4f}   tanh(W_a[s;h]) = {hid.numpy().round(3)}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a0c2_d56c1f",
   "metadata": {},
   "source": [
    "Two things to notice. First, *general* attention is genuinely a different score from plain dot — the matrix $W_g$ rotates and rescales $s$ before it meets $h$. Second, *additive* attention is the only one that can be **non-monotone in $s^\\top h$** because the $\\tanh$ non-linearity sits between the two vectors. This is exactly the extra expressivity hinted at in Exercise 38.6."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4285ca4f",
   "metadata": {},
   "source": [
    "## 38.2 Why Just Take a Dot Product?\n",
    "\n",
    "The dot product $s^\\top h$ is large when $s$ and $h$ point in similar directions. So if the encoder learns to place the *relevant* state near the *current* decoder query, the dot product is automatically large. No explicit alignment network required — the encoder and decoder learn to *agree on a coordinate system*.\n",
    "\n",
    "This is geometrically beautiful and computationally cheap. It is also the seed of self-attention (Chapter 39). But the geometry has a problem at high dimension."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a1c0_4909d5",
   "metadata": {},
   "source": [
    "```{admonition} Historical context: what problem was Luong solving?\n",
    ":class: note\n",
    "Bahdanau, Cho, Bengio (2014, arXiv:1409.0473) had just shown that *content-based* attention obliterated fixed-vector encoder-decoders on WMT'14 English-French. But their additive score required, for every $(i, j)$ pair, a forward pass through a small MLP. On a 50-token source sentence and a 50-token target this meant $50 \\times 50 = 2{,}500$ extra MLP evaluations *per training example*, and back-prop through all of them.\n",
    "\n",
    "Luong, Pham, Manning (EMNLP 2015, arXiv:1508.04025) were optimising for **WMT'15 English-German**, a harder task with longer sentences. They asked: can we replace the MLP with a *bilinear form* $s^\\top W_g h$ (\"general\"), or even nothing at all (\"dot\")? Their empirical answer: yes, dot-product attention matches additive on BLEU when the hidden dimension is moderate, and is dramatically faster because $S K^\\top$ is one matmul. *That single observation is the bridge from RNN attention to the Transformer.*\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25058f83",
   "metadata": {},
   "source": [
    "## 38.3 The $\\sqrt{d_k}$ Scaling — Derivation\n",
    "\n",
    "Suppose $s$ and $h$ are *random* vectors in $\\mathbb{R}^{d_k}$ with i.i.d. components of mean $0$ and variance $1$. What is the variance of their dot product?\n",
    "\n",
    "$$\n",
    "s^\\top h \\;=\\; \\sum_{k=1}^{d_k} s_k h_k.\n",
    "$$\n",
    "\n",
    "Each term has mean $0$ and variance $\\mathrm{Var}(s_k h_k) = \\mathbb{E}[s_k^2]\\mathbb{E}[h_k^2] = 1 \\cdot 1 = 1$ (using independence and $\\mathbb{E}[s_k] = \\mathbb{E}[h_k] = 0$). The $d_k$ terms are independent, so\n",
    "\n",
    "$$\n",
    "\\boxed{\\quad \\mathrm{Var}\\!\\left(s^\\top h\\right) \\;=\\; d_k. \\quad}\n",
    "$$\n",
    "\n",
    "So the *scale* of the score grows like $\\sqrt{d_k}$. For $d_k = 64$ scores have standard deviation $8$; for $d_k = 1024$ they have standard deviation $32$.\n",
    "\n",
    "Now feed those scores through a softmax. **The softmax saturates: gradients vanish.** This is exactly the failure mode you analysed for sigmoid in Chapter 17 — when the input to a softmax/sigmoid is large in magnitude, the output becomes near 1 or 0 and the derivative collapses. Recall from Chapter 17 that $\\sigma'(x) \\le 1/4$, with equality at $x = 0$ and exponential decay outside.\n",
    "\n",
    "The fix is to scale the scores back to unit variance:\n",
    "\n",
    "$$\n",
    "e_{ij} \\;=\\; \\frac{s^\\top h}{\\sqrt{d_k}}.\n",
    "$$\n",
    "\n",
    "Vaswani et al. (2017) report this single change makes Transformer training stable at the scales they wanted. We will see why visually in the next cells."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a2c0_1884d3",
   "metadata": {},
   "source": [
    "### Why does softmax saturation kill gradients? (the Ch 17 link, made quantitative)\n",
    "\n",
    "The softmax $p_j = e^{e_j} / \\sum_k e^{e_k}$ has Jacobian\n",
    "\n",
    "$$\n",
    "\\frac{\\partial p_i}{\\partial e_j} \\;=\\; p_i(\\delta_{ij} - p_j).\n",
    "$$\n",
    "\n",
    "When the distribution is **uniform**, $p_i = 1/T$, so $|\\partial p_i / \\partial e_j| = (1/T)(1 - 1/T) \\approx 1/T$ — the gradient is shared among all keys.\n",
    "\n",
    "When the distribution is **one-hot**, say $p_1 \\to 1$ and $p_{j>1} \\to 0$, the *entire* Jacobian goes to zero: $p_1(1 - p_1) \\to 0$ and $p_i p_j \\to 0$ for $i \\neq j$. *No information about which key was right can flow back through the score.*\n",
    "\n",
    "Compare this to Chapter 17's sigmoid analysis: $\\sigma'(x) = \\sigma(x)(1 - \\sigma(x)) \\le 1/4$, with the bound saturated at $x = 0$. Softmax is the same product-of-probabilities structure in a higher-dimensional disguise. The $\\sqrt{d_k}$ scaling is to attention what *centring activations near zero* (or LayerNorm) is to sigmoid networks: it keeps the input to the saturating non-linearity in its linear regime.\n",
    "\n",
    "The next cell visualises this directly — gradient norm of the softmax output with respect to the largest score, as a function of how peaked the distribution is."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "aud38a2c1_883468",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:22.918541Z",
     "iopub.status.busy": "2026-04-30T15:35:22.918423Z",
     "iopub.status.idle": "2026-04-30T15:35:23.152821Z",
     "shell.execute_reply": "2026-04-30T15:35:23.152391Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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qpTF9z81NZUdO3bk+F4COR8z93qNLcksYs+cOcOWLVvy9QedUoojR46UyOPm5s2bXL58+Z77VtKPEUj/hKdevXrUrl07z6+1lePjfr9fbe49pFBvJRN5smTJEuXg4KC+/fZbdeLECTVmzBjl6uqqLly4oJRSavz48WrAgAHm/ufOnVMuLi7qtddeUydOnFDffvutcnBwUMuXL7fWLhSYF198UXl6eqrt27er8PBw87/ExERzn7vzMWvWLLVq1Sr1zz//qL///luNHz9eAWrFihXW2IUC9frrr6vt27erc+fOqb1796quXbsqd3f3h/LYyGQ0GlW5cuXUuHHjsjxX0o+NuLg4dfjwYXX48GEFqI8//lgdPnzYfAf+9OnTlaenp1q5cqU6duyY6tevnypdurSKjY01jzFgwACLGVH++OMPZWdnp6ZPn65Onjyppk+fruzt7dXevXuLfP/y4145SUtLU08++aQqW7asOnLkiMV7SkpKinmMu3MyadIktXHjRnX27Fl1+PBh9fzzzyt7e3u1b98+a+xintwrH3Fxcer1119Xu3fvVufPn1e//fabatKkiSpTpkyJPUbu9zOjlFIxMTHKxcVFffnll9mOUVKOj9z8frWl9xApZIuZL774QoWEhChHR0f12GOPWUw3NWjQINWqVSuL/tu3b1d169ZVjo6Oqnz58jn+ANoaINt/3333nbnP3fmYMWOGqlixonJyclLe3t6qefPmat26dUUffCHo06ePKl26tHJwcFBBQUGqZ8+e6vjx4+bnH6ZjI9OmTZsUoE6fPp3luZJ+bGROJ3b3v0GDBiml0qfPmThxoipVqpTS6/WqZcuW6tixYxZjtGrVytw/07Jly1TVqlWVg4ODCg0NtalC/145OX/+fI7vKb/99pt5jLtzMmbMGFWuXDnl6Oio/P39VYcOHdTu3buLfufy4V75SExMVB06dFD+/v7KwcFBlStXTg0aNEhdunTJYoySdIzc72dGKaW++uor5ezsrKKjo7Mdo6QcH7n5/WpL7yFaxk4JIYQQQghhU+QaWSGEEEIIYZOkkBVCCCGEEDZJClkhhBBCCGGTpJAVQgghhBA2SQpZIYQQQghhk6SQFUIIIYQQNkkKWSGEEEIIYZOkkBVCCCGEEDZJClkhhBBCCGGTpJAVQgghCsGtW7fQNK1A/wkhLNlbOwAhhBCi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",
      "text/plain": [
       "<Figure size 700x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Sweep score temperature; measure gradient norm of softmax output.\n",
    "T_keys = 16\n",
    "base = torch.linspace(-1, 1, T_keys)\n",
    "scales = np.linspace(0.1, 20, 60)\n",
    "grad_norms = []\n",
    "for sc in scales:\n",
    "    e = (base * sc).clone().requires_grad_(True)\n",
    "    p = F.softmax(e, dim=-1)\n",
    "    # Surrogate scalar: pick the top probability and back-prop.\n",
    "    p.max().backward()\n",
    "    grad_norms.append(e.grad.norm().item())\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 3.5))\n",
    "ax.plot(scales, grad_norms, color='#dc2626', lw=2)\n",
    "ax.set(xlabel='score scale (proportional to $\\\\sqrt{d_k}$)',\n",
    "       ylabel=r'$\\|\\nabla_e \\, \\max_j p_j\\|_2$',\n",
    "       title='Softmax gradient collapses as scores grow')\n",
    "ax.grid(alpha=0.3)\n",
    "ax.axvline(1.0, ls='--', color='gray', alpha=0.6)\n",
    "ax.text(1.1, ax.get_ylim()[1] * 0.85, 'unit-variance scores\\n(what scaling restores)',\n",
    "        fontsize=8, color='gray')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a2c2_7cbb56",
   "metadata": {},
   "source": [
    "The gradient norm peaks near unit-variance scores and falls to near-zero by score scale $\\approx 10$. Without scaling, $d_k = 100$ already puts you at score scale $\\sqrt{100} = 10$ — the saturating regime. *That is the entire reason the $1/\\sqrt{d_k}$ factor exists.*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "70690a1b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:23.155174Z",
     "iopub.status.busy": "2026-04-30T15:35:23.154906Z",
     "iopub.status.idle": "2026-04-30T15:35:23.469587Z",
     "shell.execute_reply": "2026-04-30T15:35:23.469219Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "d_k =     4  mean= 0.004  std (empirical) =   1.98  sqrt(d) =   2.00\n",
      "d_k =    16  mean= 0.018  std (empirical) =   4.05  sqrt(d) =   4.00\n",
      "d_k =    64  mean=-0.106  std (empirical) =   7.87  sqrt(d) =   8.00\n",
      "d_k =   256  mean=-0.198  std (empirical) =  16.00  sqrt(d) =  16.00\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "d_k =  1024  mean=-0.568  std (empirical) =  31.99  sqrt(d) =  32.00\n"
     ]
    }
   ],
   "source": [
    "# Confirm the variance derivation empirically.\n",
    "for d in [4, 16, 64, 256, 1024]:\n",
    "    s = torch.randn(10000, d)\n",
    "    h = torch.randn(10000, d)\n",
    "    dp = (s * h).sum(-1)\n",
    "    print(f'd_k = {d:5d}  mean={dp.mean().item(): .3f}  '\n",
    "          f'std (empirical) = {dp.std().item():6.2f}  '\n",
    "          f'sqrt(d) = {math.sqrt(d):6.2f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7081c26",
   "metadata": {},
   "source": [
    "Empirical $\\mathrm{std}$ matches $\\sqrt{d_k}$ within a percent. The variance derivation is exactly right.\n",
    "\n",
    "Let us now see *what the softmax does* to those scores."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "153f59e5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:23.471596Z",
     "iopub.status.busy": "2026-04-30T15:35:23.471448Z",
     "iopub.status.idle": "2026-04-30T15:35:23.648168Z",
     "shell.execute_reply": "2026-04-30T15:35:23.647867Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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S1738vJyZs+eTZ8+fcjJyWHu3Ln15udGRkZSU1NDeXl5vbnEer2e+fPnM3/+fLKysnjjjTd48skn8ff355lnnmn1c9m2bRvJycn1igFu27aNyMhI4uPj6x1TWFiIn59fnXcBhRCivfHx8eGxxx7jhRdeYPfu3R3+3rx69WrCwsK89v7c0te9ufuzJ+/NYP/9+fPPP6dPnz4MGjSowXauueYa/ve//zFx4kR++eUXxo0b1+B+6vd1QwmuDz74gNjY2DoJwNTUVIYPH056ejrTp0/nr3/9K7NmzWqwbek3CFeQkSBCuMgll1yCRqOpU4hTtXr1akpKSpg0aVKrzhEfH899993HpZdeasvuGwwGLrroIj799FPy8/MbPVaj0dQZIgnWavEnT55s8pwBAQFMmDCB1NRUkpKSGD58eL2PiIgIAgMDGTlyJCtXrqyTvS8tLeXLL79sxbOu6/zXIDAwkFGjRrFy5co6795YLBaWL19Ot27d6NOnT5Ntnj/6xpla8rrffffdZGZmsnLlSt566y1WrVrFCy+8UGeffv36AXDkyJEmz9utWzceeeQRDAaD04aUbt26lWHDhtXbvn379ga3Axw9etQ2NFYIIdqDhv6oB2zTKLp06dLh782AV9+fW/q6N3d/9uS9Gey/P3/++edNrgpz9dVX25I733zzjW1U0fnUaS27d++us/2zzz7jt99+q/emX2pqKpmZmVx33XW88847jSZAQPoNwjVkJIgQLtKzZ0/uu+8+nn32Wc6cOcOUKVMwGAy2OcPDhw9vcNhgU4qLi5kwYQIzZsygX79+BAcHs3XrVlavXl1nHfply5Yxfvx4Ro0axYIFC+jVqxc5OTmsWrWK119/neDgYKZOncq7775Lv379SEpKYvv27Tz77LPNDtUFeOmllxg/fjwXXHAB//d//0f37t0pLS3l8OHDfPnll/zwww+AdX7o5ZdfzqWXXspDDz2E2WzmmWeeITAwkMLCwnrt6vV6LrrooibnHtvzGixevJhLL72UCRMm8Kc//QlfX19eeeUVdu/ezYcffohGo2ny+Q0ePNj2POfMmYOPjw99+/YlODi42demOfa+7m+++SbLly/nnXfeYeDAgQwcOJD77ruP+fPnM27cOEaOHAlgm5u7adMmkpKSbMffd999FBcXc+mllxIfH09eXh7/+te/8PX15a677mr188jOzm5wNJPJZCI9PZ158+bVO8ZisbBlyxbuuOOOVp9fCCG8xWWXXUa3bt246qqr6NevHxaLhbS0NJ5//nmCgoL44x//CMi9GVx3f26tlrzu9tyfPXVvBvvvz2lpaRw5cqTJJMj48eMpLy8nLS2NoqKietONVPHx8YwYMYIXXniBqKgokpKS+Pnnn3nppZeAulNhwJoESUtL47nnnmPMmDGNnl/6DcJlPFiUVYh2z2KxKK+++qoyfPhwJSAgQPH19VV69+6tzJ8/v05ldEVpfDWZcyvAV1VVKXfffbeSlJSkhISEKAaDQenbt6/y2GOPKeXl5XWO27t3r3LjjTcqERERiq+vrxIfH6/ceuuttirhRUVFyh133KFER0crAQEByvjx45VffvlFueiii+qsWtNQBXpFUZRjx44pt99+u9K1a1fFx8dHiYqKUsaOHas89dRTdfZbtWqVkpSUZIthyZIltud6PqDOuRti72vwyy+/KJdccokSGBioGAwGZfTo0cqXX35Zr73GKtAvXLhQ6dKli6LVahVAWb9+vaIojV+nOXPmKIGBgfXav+iii5SBAwfavrbndd+5c6diMBiUOXPm1Hvuw4YNU7p3764UFRXZtl9wwQXKlClT6uz7z3/+U7nggguU6Ohoxc/PT0lMTFRuv/125ciRI42+ti3xv//9TwGUnTt31tmenp5erxK/at26dQqgbN++3SkxCCGEN/j444+VGTNmKL1791aCgoIUHx8fJT4+Xpk9e7ayd+/eOvt29Huzoth3f27s3qwoDd+f3XFvVpSW3Z89cW9WFPvvz3/961+VhISEZtu75ZZblGnTptVbeed8x44dUy6//HIlKChI6dSpk3LVVVcpb731lgIoX3/9tW2/zMxMpUuXLsqvv/6qdO7cWTl+/HijbUq/QbiKRlEaqEAjhBCizfj888+ZPn06GRkZdO3a1dPhNGr27NkcPXqUDRs2eDoUIYQQwqW8/d48YMAArrjiCp5//vkm91NXjzl06BC9evVq9XlXrVrFK6+8wurVq3n11Vf597//zYYNGzAYDPX2lX6DcBVJggghRBunKApjx45l2LBh/Otf//J0OA06cuQI/fv354cffmD8+PGeDkcIIYRwqbZwb7ZHeXk548ePJzU11SntLVq0iPLycpYuXQrAHXfcQVVVFStWrKizn/QbhCtJEkQI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",
      "text/plain": [
       "<Figure size 1100x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(11, 3.5), sharey=True)\n",
    "torch.manual_seed(7)\n",
    "T = 10\n",
    "for d in [16, 64, 256, 1024]:\n",
    "    s = torch.randn(d)\n",
    "    H = torch.randn(T, d)\n",
    "    raw = (H @ s)                                  # unscaled\n",
    "    scaled = raw / math.sqrt(d)\n",
    "    p_raw = F.softmax(raw, dim=-1).numpy()\n",
    "    p_scl = F.softmax(scaled, dim=-1).numpy()\n",
    "    axes[0].plot(range(T), p_raw, marker='o', label=f'$d_k={d}$')\n",
    "    axes[1].plot(range(T), p_scl, marker='o', label=f'$d_k={d}$')\n",
    "for ax, ttl in zip(axes, ['Unscaled: $\\\\mathrm{softmax}(s^\\\\top h)$',\n",
    "                          'Scaled: $\\\\mathrm{softmax}(s^\\\\top h / \\\\sqrt{d_k})$']):\n",
    "    ax.set_title(ttl)\n",
    "    ax.set_xlabel('key index $j$')\n",
    "    ax.legend(fontsize=8)\n",
    "    ax.grid(alpha=0.3)\n",
    "axes[0].set_ylabel('attention weight $\\\\alpha_j$')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e4ec6080",
   "metadata": {},
   "source": [
    "Look at the left panel: as $d_k$ grows from 16 to 1024, the unscaled softmax becomes a one-hot spike. *One key dominates entirely* — the attention has effectively become a hard pointer with zero gradient on the others.\n",
    "\n",
    "On the right, with the $\\sqrt{d_k}$ scaling, all four curves overlap. The distribution stays soft regardless of $d_k$, and gradients flow through every key. This is what makes high-dimensional attention trainable."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "73271c9f",
   "metadata": {},
   "source": [
    "## 38.4 Sharpness vs $d_k$ — A Static Sweep\n",
    "\n",
    "The panel grid below sweeps $d_k$ across five orders of magnitude. The orange bars (scaled by $\\sqrt{d_k}$) keep a useful spread; the blue bars (unscaled) collapse into a spike as $d_k$ grows. This is exactly why the $1/\\sqrt{d_k}$ factor sits inside the softmax."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "345e2f81",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:23.651244Z",
     "iopub.status.busy": "2026-04-30T15:35:23.651059Z",
     "iopub.status.idle": "2026-04-30T15:35:23.942650Z",
     "shell.execute_reply": "2026-04-30T15:35:23.942352Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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dDlXz/mujs/Vdc0oV7s6nvT2y/S4Mua0eV8eqw8++MBIMnPmzLH0y842Tk9G2+v66683MTEx5uzZs462xMREU6JECZeOHwAAAKCg4lHqAAAA8FklS5bUV199pc2bN+u5555Tx44d9dtvv2nkyJGqXbu2jh49qtOnT+u7777T7bffrrCwMMe0/v7+6tmzp/755x/9+uuv2R7Lrbfeavm7Zs2astlsat++vaMtICBAVapU0d9//+1oS01N1YQJE3TllVeqSJEiCggIUJEiRfT7779r9+7dlnl2795dAwYM0PDhw/Xss8/qiSeeUJs2bbIcW4MGDTR79mw9++yz+vbbb3X+/HmnPu6MI6d07do1T8bhyT5w2223Wf6uU6eOkpOTdfjw4UyX88MPP6hTp04qUqSIoz0sLCzD35q+PAbujPXGG2/UX3/9pT179ig5OVlff/21brrpJrVs2VKrVq2SdPGu7qCgIMejhyXX9of0eLo8T3gS/3Hjxum6665zugs37e7dS+/CNsYoPDzc8qjjS6WmpmrNmjVZjrN169Z6+eWXtWTJEqWmpjra169f73i8c3bG+vvvv6t48eKZ/k53amqq5WWMkZT1dj5z5ow2bNig7t27Zzn/3Dg3ZLaNPTmWMnL5MZacnKw1a9aoc+fOKlq0qCV2N998s5KTk/Xtt99K8vxYkTw77+THWPPq3J/V+NxZ17ziTkzvvvtuy9/du3dXQECA1q1bZ2nPzjaWXNtep0+f1ubNm9WlSxcFBwc7pg0PD3f7+AEAAAAKGgrjAAAA8Hn169fX448/rgULFujAgQN65JFHtHfvXr3wwgv677//ZIxxPOL2UjExMZKU5aNmXVGiRAnL30WKFFHRokUtH0qntScnJzv+Hjp0qEaNGqVOnTrp888/13fffafNmzfr6quv1tmzZ52W07dvX50/f14BAQEaPHiwS2ObP3++evfurRkzZqhRo0YqUaKEevXqpUOHDnk8jpyQ3jbJjXF4sg+ULFnS8ndQUJAkZTqGtOVER0c7vZdem+QcA3fG2rp1a0kXi9Fff/21zp8/r1atWql169aOou7q1avVpEkThYSEOObjyv6QHk+X5wl343/o0CFt375dd911l9N7//zzjyTpuuuuc7S5UnB21VVXXaWSJUtqw4YNki4+Xt0YYynoejrWH3/80VEkP3LkiG644QY98cQTjuL33r17FRgYaHmljSOr7fzff//pwoULKleuXKbrl1vnhsy2sSfHUkYuP5aOHTum1NRUvfbaa06xu/nmmyVJR48eleT5sSJ5dt7Jj7Hm1bk/q/G5s655xZ2YlilTxvJ3QECASpYsmaPbWHJte/3333+y2+1OY0pvnAAAAICv4TfGAQAAUKgEBgZq9OjRmjRpkn7++WcVL15cfn5+OnjwoFPfAwcOSJJKlSqV18N0mDNnjnr16qUJEyZY2o8eParIyEhL2+nTp9WzZ09Vq1ZN//77r/r376/PPvssy2WUKlVKkydP1uTJk5WQkKDFixdrxIgROnz4sJYvX+72ODISHByslJQUp/aMihk2m82pLSfGcbm82geKFy8um82W7m+4ZlScujwG7oy1XLlyqlatmlavXq0KFSqofv36ioyM1I033qiBAwfqu+++07fffquxY8da5uPK/pAeT5eXF9IKyukVIefOnasyZcpYCsCXF5y7du2qpk2bavz48enul1np2LGjPvvsM91444366quv1KRJkxwZ69atW1W/fn1t375dPXr00FNPPaV77rnH0T8mJkabN2+2zCPtN4az2s4lSpSQv7+/YzwZyY1jMiueHEsZSe8YS7tre9CgQelOU7FiRUmeHytpy3H3vJMfY83O9nXnnJ/V+NxZ15wYjyvciemhQ4d0xRVXOP5OTU3VsWPHnL4Akp1tLLm2vdKOn/SOFXePHwAAAKCg4Y5xAAAA+Kz0Cg6SHI8TjYmJUWhoqK6//notXLjQcveb3W7XnDlzHMW+zLhyt7CnbDabY/5plixZov379zv1jY+PV0JCghYuXKiZM2dq8eLFmjRpklvLi42N1YMPPqg2bdroxx9/dHscmcWiQoUKOnz4sKWYde7cOa1YscLl8eXEOC6XE/uAK0JDQ1W/fn19+umnOnfunKP91KlT+uKLL1yehztjbd26tdauXatVq1Y5HqtfrVo1xcbG6umnn9b58+cdd3qnJ6P9ISPZXZ6UO8dT2p3fP//8s6X9448/1saNGy2PUZesBedmzZrp/vvv14QJEzwqiksXHwue9iWVpUuXOu70zO5Yt27dqoSEBHXp0kWzZs2yFMWli0+gqF+/vuUVHh7utMz0tnNISIiaN2+uBQsWZFo4dOcclVNy4ljKSNGiRdWyZUtt3bpVderUcYpf/fr1nYqZUsbHSkb7c06cd3J6rOnJzvb19Jyf3vg8XdecGI8rsorpBx98YPn7o48+UmpqaqY/qSC5v96ubK/Q0FA1aNBACxcutDyhJikpSZ9//rk7qw0AAAAUONwxDgAAAJ/Vrl07lStXTh06dFCNGjVkt9u1bds2vfzyywoLC9PDDz8sSZo4caLatGmjli1batiwYSpSpIimTp2qn3/+WfPmzcuyGFa7dm1J0pQpU9S7d28FBgaqevXq6Rag3HXrrbdq9uzZqlGjhurUqaMtW7boxRdfdHq88YwZMzRnzhzNmjVLV111la666io9+OCDevzxx9WkSRM1aNAg3fmfPHlSLVu21F133aUaNWooPDxcmzdv1vLly9WlSxe3x5FZLHr06KGnn35ad9xxh4YPH67k5GS9+uqrunDhQo7Hw91tkt19wFXPPPOMbrnlFrVr104PP/ywLly4oBdffFFhYWE6fvy4S/NwZ6w33nijpk6dqqNHj2ry5MmW9lmzZql48eKqV6+eo93V/SEj7i4vPblxPMXGxuq6667TpEmTFBUVpTp16ujLL7/UlClTJFkfoy5dLDhXqlRJXbp00Zw5c9SoUSPL+zabTc2bN9f69etdWn7Tpk11+vRpbdu2Tf/995/TTyt4OtatW7dq27Zteumll5zGmBlXt/Mrr7yipk2b6vrrr9eIESNUpUoV/fvvv1q8eLHeeusthYeHu3xM5rScOJYyMmXKFDVt2lTNmjXTgAEDVKFCBSUlJemPP/7Q559/rrVr17ocw8z255w47+TkWNOTne3r6jnf1fG5sq45MR5XuBvThQsXKiAgQG3atNHOnTs1atQoXX311erevXuWy3JnvV3dXuPGjdNNN92kNm3a6NFHH9WFCxf0/PPPKzQ0NNvHDwAAAODVDAAAAOCj5s+fb+666y5TtWpVExYWZgIDA01sbKzp2bOn2bVrl6XvV199ZVq1amVCQ0NNSEiIadiwofn8888tfdatW2ckmQULFjgta+TIkSYmJsb4+fkZSWbdunXGGGNGjx5tJJkjR45Y+vfu3duEhoY6zad58+bmqquucvz933//mX79+pnSpUubokWLmqZNm5qvvvrKNG/e3DRv3twYY8yOHTtMSEiI6d27t2VeycnJpl69eqZChQrmv//+SzdGycnJJj4+3tSpU8dERESYkJAQU716dTN69Ghz+vRp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wAMPaOrUqY72li1b5tVQAcDneFM+8OQ8z/UCALjHm877b7zxhkqXLm1pu+mmm1SlShVNmDBBrVq1srxXtWpVNWzYMNN5cs0AAP/jTed8Vz/7Wbp0qVatWqW5c+fqzjvvlHTxHP73339r+PDh6tGjh/z9/SW5n0fScA2B/MAd40A+evvtt1W7dm0FBwerVq1aWrFihb7//nsVL15clStXzu/hOcyZM0cbNmywXMgAANzn7ef9tMcgZmXGjBk6ffq0Hn/88TwYFQD4Hm/PB+6e57leAIDMeft5//JihiSFhYXpyiuv1L59+zyaJ9cMAAorbz/nu/rZz6JFixQWFqZu3bpZ2u+9914dOHBA3333naPNkzzCNQTyC4VxIJ8MGTJEgwcPVqdOnbRs2TINGjRIvXv31rJly1S/fn2P52uMUWpqqksvVxw+fFhDhgzRc889p3Llynk8LgAo7ArKed8VX375pUqUKKFffvlFdevWVUBAgEqXLq34+HglJibm2HIAwBcVhHzgznme6wUAyFxBOO+n5+TJk/rxxx911VVXOb03aNAgBQQEKCIiQu3atdPXX3/t1IdrBgCFUUE956fn559/Vs2aNRUQYH3wdJ06dRzvZyazPMI1BPIThXEgH3zyySeaMmWKZs+erXHjxqlly5YaMGCAHn74Ye3bt8/xSBVjjMLDw3XkyBGX571hwwYFBga69Nq7d2+W8xs4cKCqV6+uAQMGeLq6AFDoFaTzviv279+vM2fOqFu3burRo4dWr16t4cOH67333tPNN9/MbwYCQAYKSj5w5zzP9QIAZKygnPfTM2jQIJ0+fVpPPvmko61YsWJ6+OGH9dZbb2ndunWaMmWK9u3bpxYtWmjFihWW6blmAFDYFORzfnqOHTumEiVKOLWntR07dizT6dPLI2m4hkB+4jfGgXwwbtw4XXfdderRo4el/corr5Qkx7fHfv/9dxUvXlxRUVEuz7tevXravHmzS31jYmIyff+TTz7R559/rq1bt7r0eBUAQPoKynnfVXa7XcnJyRo9erRGjBghSWrRooWKFCmiIUOGaM2aNWrdunWOLAsAfElByQeunue5XgCAzBWU8/7lRo0apQ8++ECvvfaa6tWr52i/5pprdM011zj+btasmTp37qzatWvrscceU7t27Rzvcc0AoLApqOf8zGT2f/zM3ssoj0jUHJD/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vfdeS/u9994rY0yWjwQqXbq0U5u/v7/q1aunffv2ZTqt+f9H6VaqVEmtWrVye+zeilxALnBFTuWCS0VFRUmSAgICHG3ZPcYzQi4gF1zOz8+1y4gpU6aoQoUK6t69uydDLTDIBeQCV+R0LkhKStKCBQvUvHlzValSxdEeGBgoSSpWrJilf2RkpCR5/JM25AJygSuioqLk5+cnf39/R1t61xD16tWTv79/ltcQBQm5gFzgiuzkgm+//VYXLlzQzTffbGlPexT1J598kumy58+fr1OnTql///4ej59cQC5wRXq5IM2jjz6qsmXLavDgwR7NuyAgH5APXOHqNXV6UlNT9cUXX6hr166WJy/ExcWpZcuWWrRokaONz4nIB67I7n6yYMECHTx4UMOHD8/ypw1y4zNSt+VJ+d1HpX0bqXr16mbcuHFm1apV5rHHHjOSzIMPPmhq1KhhXn31VbNq1Spz7733Gknmk08+cUx/4sQJ06dPH/P++++btWvXmuXLl5thw4YZPz8/8+6771qWFR8fb4oUKWI2b95sjDFmzZo1xs/Pzzz11FOWfpUqVUr3WxVxcXHp3snTvHlz07x5c8ff69atM5JMhQoVzN13322WLFli5s2bZ2JjY03VqlVNamqqMebit0xLlixp6tevbz766COzYcMGM3/+fBMfH2927drlmF/Pnj2NzWYz/fv3N5999plZtmyZGT9+vJkyZYqjz7hx48ykSZPMkiVLzPr1682bb75pKlasaFq2bJluvC+V9o2Vvn37mi+++MIsXLjQNGrUyISGhlq+xTJr1iwjyXTs2NF8/vnnZs6cOaZKlSqmfPnyTt/+MsaY559/3vj5+Zn//vvP0Wa328358+ddeqU5c+aMsdlsZvjw4U7LeP31140k8+uvvzq9d7m3337bFCtWzOzfv98Yk/Gd4ZJM8eLFTXBwsClSpIi59tprzTvvvJPl/DMjycTFxZnGjRubhQsXmkWLFplq1aqZEiVKmEceecR07NjRfPHFF+aDDz4w0dHRpk6dOpZvBU2bNs1MnDjRLF682GzYsMG8++675uqrrzbVq1c3586dc/T77bffTHh4uOnSpYsx5uK35lq1amVKly5tDhw44Oj33nvvGUmW/cwYYyZOnGj8/f3N6NGjzZo1a8zy5cvN5MmTzZgxYxx9tm3bZsLCwkyFChXMm2++adasWWPmzJljunfvbhITE40xxvzyyy9mwIAB5sMPPzTr1683X3zxhenXr5/x8/Nz+taeLvv218GDBx371FtvvWVWr15txo0bZ4KCgkyfPn0c/c6cOWNq1qxpihUrZl577TWzYsUKM3jwYBMbG5vut79SU1NNWFiYGTp0qFO7K/vjpd9AHDFihJFkTp065bStS5UqZe68806n9qycP3/eVKlSxVxzzTWZ9lu5cqWRZJ599lm3l+HNyAXkgrzKBcZcPO6Tk5PN7t27TceOHU3p0qVNQkKC4/3cOMaNIReQCzKX0R3j58+fN0FBQaZz587m5ZdfNrGxscbPz89UrFjRvPjiiznyrWZvQS4gF+RlLkgzffp0I8nMmTPH0n7+/HlTr149c9VVV5nvv//eJCUlmS1btpi6deuaa6+91nLedQe5gFyQnrTj4fjx4+bDDz80oaGhZuTIkVlOl3aOufQcUNCRC8gFuZ0L0u4MX7t2raX97NmzxmazmbJly2Y4rTHGNG7c2ERERJjTp09n2i8z5AJyQXpczQWrVq0ygYGBZtu2bcYY47N3jJMPyAdZ5YPLuXvH+C+//GIkmTfeeMPpvWHDhhmbzWbOnj1rjOFzIvJB3uSDvn37GklmzZo1pkmTJiYwMNBERkaaO+64w1HTSlvHnL4u9gSF8WxIO+m+/PLLlva6des6PaLu/PnzJioqynEApydth+3Xr59TgSk5Odlcc801pmLFimbXrl0mOjraNG/e3JF0jLn4eDJJ5rnnnnOat7tJ7uabb7b0++ijj4wks2nTJmOMMT/88IORZD799NMM1+fLL780ksyTTz6ZYZ/LpSWSDRs2GElm+/btjvcuT3IJCQkmICDA6RFSSUlJpkyZMo5kf+HCBRMTE2OuvfZay8k37dEi6SW5tMcPLlu2zNGWlihdeaXZv3+/kWQmTpzotIy0C5qNGzdmGpN//vnHFCtWzLz11luOtowK43fddZf54IMPzJdffmk+/vhj0759eyPJ6T9D7pBkypQpYzkpfvrpp0aSqVu3riWmkydPNpLMjh070p1X2vb9+++/jSTz2WefWd6fP3++kWQmT55snn76aePn52dWrlxp6TNgwAATEhLi9GH6rbfeaurWrZvpurRq1cpERkaaw4cPu7TuxvzvuLzxxhtN586dLe9dnuQeeOABExYWZv7++29Lv5deeslIcvzHa9q0aemu/3333ZdukjPGmCZNmpjrr7/e0hYXF+fS/njpGO+77z4TFBSU7rpWq1bNtG3bNquQOHnyySezPB8YY0yPHj2Mv7+/+eeff9xehjcjF5AL8iIXpAkKCnLMv1q1ak7/4c+NY9wYcgG5IHMZFcYPHjxoJJmIiAhTrlw58+6775o1a9aY+Ph4I8k88cQTbi3Hm5ELyAV5mQvSXH/99SYyMtLxodelEhMTTYcOHSxjadGihTl27Jhby7gUuYBckJ6JEyc65m+z2Vw6zhMTE03NmjVN+fLlTVJSkkvLKQjIBeSC3M4F27ZtM5LzTxCsWbPGSDJFihTJcNrdu3cbSeaBBx7IsI8ryAXkgvS4kguSkpJMhQoVLAVzXy+Mkw/SRz5w5m5h/JtvvjGSzLx585zemzBhgpHkKBrzORH5IC/yQbt27YwkExkZaR577DGzdu1a8+abb5qSJUuaKlWqOL6UlxvXxZ7437M34bG0RxalqVmzprZv36727ds72gICAlSlShX9/ffflr4LFizQ5MmTtX37dstjQC5/vF1QUJA++ugj1atXT9dee60iIiI0b948yyNpDhw4ICn9x5S567bbbrP8XadOHUnS33//rYYNG6pKlSoqXry4Hn/8cR08eFA33HCDrrzySss0y5YtkyQNGjQo02X99ddfeuqpp7R27VodPnxYxhjHe7t373Ys+3IrVqxQamqqevXqZXm8QnBwsJo3b+54hMSvv/6qAwcOaOjQoZbHOMTFxalx48bau3ev07zTYrh//35HW4cOHbR58+ZM1yUjmT0+IqtHS8THx+vqq6/Wfffdl+VyPvjgA8vfXbt2VYcOHfTcc89p8ODBjsfuuqtly5YKDQ11/F2zZk1JUvv27S3jT2v/+++/Vbt2bUnS4cOH9fTTT2vJkiU6cOCA7Ha7o//u3bst+1r37t21fv16DR8+XBcuXNATTzzh9IifAwcOKCoqyiluDRo00JIlSzRw4EB17NhRjRo1sjxK5syZM9qwYYP69euXZRzefPNNTZ8+Xbt27XI8LkWSatSokel0X3zxhVq2bKmYmBjLPtm+fXsNGzZMGzZs0JVXXql169YpPDzc6Ti766679Pbbb6c779KlSzvtf59//rllfBmJiYmx/J2d/fFyM2bM0Pjx4/Xoo4+qY8eOGfY7fvy4Pv30U91000264oor3FpGQUEuIBdkJSeOvY0bN+rcuXP6888/NWnSJLVs2VJr1qzRVVddlaPLSQ+54CJygevStnNiYqJWrFihhg0bSpJatWqlQ4cO6ZVXXtHIkSMVFhaWI8vzBuQCckFWcurY27lzp7777jsNGjTIaR85f/68evTooZ9//llvv/22qlevrj179ujZZ59VmzZttHbtWqfHrLuKXHARueB/+vTpo9atW+v48eNau3atXnzxRZ08eVKvvfZauv2Tk5PVpUsX/f3331q7dq1P5YA05AJyQVY8Pfauvvpq3XDDDXrxxRdVvXp1tWnTRrt27VJ8fLz8/f0zfSzvzJkzJSlbj1FPQy64iFzwP67kghEjRigwMFBPP/20S/P0BeQD8kFuc/X45XMi8kF6cjIfpG2/Hj166Pnnn5d0cf8oU6aMOnXqpLlz51r+D5IXn0llhsJ4DihRooTl7yJFiqho0aJOiapIkSJKTEx0/L1w4UJ1795d3bp10/Dhw1WmTBkFBARo2rRpeuedd5yWU6VKFTVr1kxLlizRgAEDVLZsWcv7Z8+eleT5b8ZdqmTJkpa/g4KCLMsoVqyYNmzYoPHjx+uJJ57Qf//9p7Jly+q+++7TU089pcDAQB05ckT+/v4qU6ZMhss5deqUmjVrpuDgYD377LOqVq2aihYtqn379qlLly6O5aXn33//lSRdd9116b6fdkFw7NgxSUp3HGXKlEk3yaXF8NLllyhRwu0PkIoXLy6bzeYYw6WOHz/umG9GPv74Yy1fvlxff/215Xc0JOncuXM6ceKEQkNDHb8jmJ577rlHX3zxhX744QfLf7zckd4+nll7cnKypIsnxLZt2+rAgQMaNWqUateurdDQUNntdjVs2DDd7du3b19NmzZNRYoUSff3hs6ePZvuPj5y5EiFhoZqzpw5evPNN+Xv768bbrhBzz//vOrXr6///vtPFy5cULly5TJd11deeUWPPvqo4uPjNW7cOJUqVUr+/v4aNWqUdu/enem0//77rz7//PMMt0fab6QcO3ZM0dHRTu9ndqwEBwc7xevKK6+0/KcwI5deHJcsWVLJyck6c+aMihYtaul3/Phx1atXL8v5pZk1a5YeeOAB3X///XrxxRcz7TtnzhylpKTkyEW4tyIXkAsykt1ccKlrr71WktSwYUPddtttqlKlip544gnHb43l5DF+OXIBucBdaft+eHi4oyiepn379vr000+1a9cuNWjQIEeW5w3IBeSCjORkLpAyL3DMnDlTy5Yt0+bNm1W/fn1JUrNmzdS0aVNVrlxZkydP1ujRo90afxpyAbkgvbGmjbdt27YqXry4RowYob59++qaa66x9E1JSVHnzp319ddf64svvtD111/v0jIKGnIBuSAjOZELFixYoD59+qh79+6SLu5HjzzyiFavXq0TJ06kO8358+f13nvv6eqrr3bkhewgF5AL0htrZrng+++/19SpU7Vw4UIlJydb9onU1FSdOHFCISEhjnOLryAfkA9yS9p2yCif2Gw2RUZGOvryORH5ID05mQ/S9sl27dpZ2tu1ayebzaYff/xRUs5fF3uKwng+mjNnjipWrKj58+dbvgWR0bc5ZsyYoSVLlqhBgwZ6/fXX1aNHD8uFZKlSpST9bwe6VHBwcLrzPXr0qGM6d9WuXVsffvihjDHasWOHZs+erWeeeUYhISEaMWKEoqKidOHCBR06dMgpIadZu3atDhw4oPXr16t58+aO9oz+M3+ptHF//PHHiouLy7Bf2kF56NAhp/fSa5P+F8NLY/Puu+/q3nvvzXJckhwnnpCQEFWpUkU//fSTU5+ffvpJISEhqlSpUobz+fnnn5Wamur0YbIkvf3223r77be1aNEiderUKcuxZPbN4dzy888/a/v27Zo9e7Z69+7taP/jjz/S7X/69Gn17NlT1apV07///qv+/fs7ij1pSpUq5TiRXiogIEBDhw7V0KFDdeLECa1evVpPPPGE2rVrp3379qlEiRLy9/fXP//8k+mY58yZoxYtWmjatGmW9qSkpCzXt1SpUqpTp47Gjx+f7vtp38IqWbKkvv/+e6f3M9ofpYv75OXHauXKlZ2+UZqe0aNHa8yYMZLk+FbeTz/9ZDl/HDp0SEePHlWtWrWynJ90sSjev39/9e7dW2+++WaW3+SaOXOmoqOjnb4tC3KBRC7IKhdkJDw8XDVq1NBvv/3maMupYzwnkQusfCkXZCUkJERVq1ZNd53y8/8n3ohcQC5wJxecO3dO77//vurVq6e6des6vb9t2zb5+/s7vkyVplKlSipZsqR+/vlnl5aTk8gFVr6cC9K+7PTbb79ZCuMpKSnq1KmT1q1bp88++0w33nijR/P3ZeQCcoEruaB06dJaunSpDh8+rEOHDikuLk4hISGaOnWqbr/99nSn+eKLL3T48GGNGjXKpfHmFnKBVWHKBbt27ZIxRp07d3bqu2/fPhUvXlyTJk3SkCFDPFqeryEf+H4+yK7KlSsrJCQkw3xSpUoVR5GYz4nIBxnJyXxQp04dffjhhxm+n/bZT259RuouCuP5yGazqUiRIpYEd+jQIaeDWrq4UwwePFi9evXS22+/rcaNG6tHjx7aunWrihcvLkmO/wz/+eefTtNXqFBBO3bssLT99ttv+vXXXz1Ocpeux9VXX61JkyZp9uzZjhNQ+/btNXHiRE2bNk3PPPNMhtNKcvpG4FtvvZXlctu1a6eAgAD9+eef6tq1a4b9qlevrrJly2revHmWR6P8/fff2rhxo9MjI6SLj2qRZHnUi6ePRencubMmT56sffv2qXz58pIunjAXLlyo2267TQEBGR+Gffr0UYsWLZzaW7ZsqU6dOunhhx/O8qT0/vvvKzAwMMfu/nKHu9s3Pj5eCQkJ+v777/XLL7/o9ttv16RJk/TII484+tSoUUPz5s3TyZMnM/w2XmRkpG6//Xbt379fQ4YM0d69e3XllVeqefPmWrBggcaPH5/hfm+z2ZzGu2PHDm3atMmx/TJy6623aunSpapcubLjuExPy5Yt9dFHH2nx4sWWR6PMnTs3w2n++usvp23tyWNRbrrpJgUHB2v27NmWJDd79mzZbLZMv2Rxad/+/fvrnnvu0YwZM7Isiv/www/asWOHHnvssUz398KKXEAuyCoXZOTo0aP66aef1KRJE0dbThzjOY1ckL6Cngtc1bVrV02cOFEbN25U48aNHe1Lly5VWFiY5WcACjNyAbnAnVywePFiHT16NMNYxsTE6MKFC9q8ebPlGP/tt9907NixLO+GyA3kgvT5Yi5IezxplSpVHG1pd4qvXbtWCxcudLqTBBeRC8gF7uSC0qVLOx7p++qrr+r06dN68MEH0+07c+ZMBQcH6+6773Z7vDmJXJC+wpALbrrpJkfbpe644w5VrFhREydOtOSNwo58UDjyQXYEBASoQ4cOWrhwoV544QWFh4dLkhISErRu3TrLeZLPif6HfGCVk/mgc+fOevLJJ7Vs2TLLl6CWLVsmY4zlxs/c+IzUbbn+K+Y+bPTo0UaSOXLkiKW9d+/eJjQ01Kl/8+bNzVVXXeX4+5133jGSzIABA8yaNWvM7NmzTeXKlU3VqlXNpZvm1KlTpkaNGubKK680p06dMsYY8+eff5pixYqZjh07WpbRqlUr06hRI6dlz5kzx7Gs1atXm5kzZ5rq1aubsmXLmubNmzv6rVu3zkgyCxYssEy/Z88eI8nMmjXLGGPM559/btq3b2/eeusts2rVKrNy5UoTHx9vJJnp06c7puvZs6ex2Wzm/vvvN4sXLzYrVqwwzz33nHn11VeNMcYcPXrUFC9e3Fx99dVm4cKF5vPPPzd33HGHIwZpy7s03peaMGGCCQgIMA888IBZtGiRWb9+vZk/f7559NFHzdNPP+3oN2PGDCPJdOzY0XzxxRdmzpw5pkqVKqZ8+fImLi7OKV4PPfSQKVmypLHb7U7vuevw4cOmbNmypnbt2mbRokVm6dKl5oYbbjDh4eFm9+7dlr6VK1c2lStXznKeksygQYMsbS+88ILp06ePef/99826devM/PnzTdu2bY0kM2bMGEvftO3Zu3dvj5aVNv2LL75oab98/zl37pypXLmyiYuLM3PnzjXLly83gwYNMtWqVTOSzOjRox3Tvv32207b/MEHHzSBgYHmu+++c7R9+eWXRpJZsWKFZdm33nqrGTFihPn444/Nhg0bzHvvvWcqVKhg4uLizLlz54wxxmzbts2EhYWZSpUqmenTp5u1a9eaefPmmTvvvNMkJiYaY4x5+umnjc1mM08//bRZs2aNmTp1qilTpoxjPS6PzaXrcODAARMXF2dq1Khhpk6datasWWOWLFli3njjDXPLLbeYffv2GWOMOX36tKlWrZopVqyYef31182KFSvMww8/bGJjY51iYMzF40SS47jJrmeffdbYbDbzxBNPmPXr15sXX3zRBAUFmfvuu8/S79133zX+/v7m3XffdbR99NFHxs/Pz1x77bXmm2++MZs2bbK8kpOTnZaXdm749ddfc2T83oZcQC5wRXZywYkTJ8x1111nJk2aZL744guzZs0aM23aNFOjRg1TtGhRs3nzZsv0rh7j5AJygae5wBhj1q9fbxYsWGAWLFhggoODTYsWLRx/Hz582NHv2LFjJjY21sTExJiZM2eaFStWmPvuu89IMi+99FKOrIs3IBeQC1yRU9cFN910kwkJCTEnTpxI9/2EhAQTGRlprrjiCjNt2jSzdu1aM2PGDFOpUiUTGhpqfvnlF0dfcgG5wNNc8PTTT5sHHnjAfPDBB2b9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",
      "text/plain": [
       "<Figure size 2000x340 with 5 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Static panel grid (was an ipywidgets slider; replaced for static-HTML compatibility).\n",
    "# Show how the softmax distribution sharpens as $d_k$ grows, and how the $\\sqrt{d_k}$\n",
    "# scaling holds the spread roughly constant across scales.\n",
    "torch.manual_seed(7)\n",
    "T = 10\n",
    "d_ks = [4, 16, 64, 256, 1024]\n",
    "fig, axes = plt.subplots(1, len(d_ks), figsize=(4 * len(d_ks), 3.4), sharey=True)\n",
    "for ax, d_k in zip(axes, d_ks):\n",
    "    s = torch.randn(d_k)\n",
    "    H = torch.randn(T, d_k)\n",
    "    raw = H @ s\n",
    "    scaled = raw / math.sqrt(d_k)\n",
    "    p_raw = F.softmax(raw, dim=-1).numpy()\n",
    "    p_scl = F.softmax(scaled, dim=-1).numpy()\n",
    "    ax.bar(np.arange(T) - 0.2, p_raw, width=0.4, label='unscaled', color='#3b82f6')\n",
    "    ax.bar(np.arange(T) + 0.2, p_scl, width=0.4, label=r'scaled by $\\sqrt{d_k}$', color='#f59e0b')\n",
    "    ax.set(xlabel='key index $j$',\n",
    "           title=f'$d_k$ = {d_k}\\nmax(unscaled)={p_raw.max():.2f}, max(scaled)={p_scl.max():.2f}')\n",
    "    ax.grid(alpha=0.3); ax.set_ylim(0, 1.05)\n",
    "axes[0].set_ylabel(r'$\\alpha_j$')\n",
    "axes[-1].legend(loc='upper right', fontsize=9)\n",
    "plt.suptitle(r'Softmax saturation grows with $d_k$; $\\sqrt{d_k}$-scaling restores a useful spread', y=1.02)\n",
    "plt.tight_layout(); plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "722cb7be",
   "metadata": {},
   "source": [
    "## 38.5 Quantifying the Saturation\n",
    "\n",
    "How much gradient is lost? The gradient of the softmax is largest when the distribution is *uniform* and approaches zero as it becomes one-hot. A clean scalar diagnostic is the *entropy* $H(\\alpha) = -\\sum_j \\alpha_j \\log \\alpha_j$, which equals $\\log T$ for uniform attention and $0$ for one-hot. Higher entropy = more usable gradient signal."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "3b0b41c5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:23.944729Z",
     "iopub.status.busy": "2026-04-30T15:35:23.944568Z",
     "iopub.status.idle": "2026-04-30T15:35:24.308158Z",
     "shell.execute_reply": "2026-04-30T15:35:24.307757Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "torch.manual_seed(0)\n",
    "T = 16\n",
    "ds = [4, 16, 64, 256, 1024, 4096]\n",
    "ent_raw, ent_scl = [], []\n",
    "for d in ds:\n",
    "    samples = 200\n",
    "    e_r, e_s = 0.0, 0.0\n",
    "    for _ in range(samples):\n",
    "        s = torch.randn(d); H = torch.randn(T, d)\n",
    "        p_r = F.softmax(H @ s, dim=-1)\n",
    "        p_s = F.softmax((H @ s) / math.sqrt(d), dim=-1)\n",
    "        e_r += -(p_r * (p_r + 1e-12).log()).sum().item()\n",
    "        e_s += -(p_s * (p_s + 1e-12).log()).sum().item()\n",
    "    ent_raw.append(e_r / samples); ent_scl.append(e_s / samples)\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(7, 3.5))\n",
    "ax.semilogx(ds, ent_raw, '-o', label='unscaled', color='#3b82f6')\n",
    "ax.semilogx(ds, ent_scl, '-o', label=r'scaled by $\\sqrt{d_k}$', color='#f59e0b')\n",
    "ax.axhline(math.log(T), ls='--', color='gray', label=f'uniform: log T = {math.log(T):.2f}')\n",
    "ax.set(xlabel='$d_k$', ylabel='attention entropy (nats)',\n",
    "       title=f'Attention entropy vs key dimension (T = {T})')\n",
    "ax.legend(); ax.grid(alpha=0.3, which='both')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7201822f",
   "metadata": {},
   "source": [
    "The unscaled curve crashes to ~0 entropy by $d_k = 256$ — the softmax is a one-hot, and gradients to the other 15 keys vanish. The scaled curve hugs the uniform line throughout. *This is exactly the same vanishing-gradient phenomenon you analysed for sigmoid in Chapter 17, in a different costume.*"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8a6882a3",
   "metadata": {},
   "source": [
    "## 38.6 Empirical Comparison on the Toy Task\n",
    "\n",
    "Let us train the four variants on the string-reversal task from Chapter 37 and compare. To keep things tractable we use a single shared backbone: an encoder GRU and a decoder GRU; the only thing we vary is the score function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "1d219282",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:24.310274Z",
     "iopub.status.busy": "2026-04-30T15:35:24.310106Z",
     "iopub.status.idle": "2026-04-30T15:35:24.315220Z",
     "shell.execute_reply": "2026-04-30T15:35:24.314860Z"
    }
   },
   "outputs": [],
   "source": [
    "class Reverser(nn.Module):\n",
    "    def __init__(self, vocab_size, kind='scaled', emb=32, hid=64):\n",
    "        super().__init__()\n",
    "        self.kind = kind\n",
    "        self.emb_src = nn.Embedding(vocab_size, emb, padding_idx=PAD)\n",
    "        self.emb_tgt = nn.Embedding(vocab_size, emb, padding_idx=PAD)\n",
    "        self.enc = nn.GRU(emb, hid, batch_first=True)\n",
    "        self.dec = nn.GRU(emb + hid, hid, batch_first=True)\n",
    "        self.out = nn.Linear(hid + hid, vocab_size)\n",
    "        self.hid = hid\n",
    "        if kind == 'general':\n",
    "            self.W_g = nn.Parameter(torch.randn(hid, hid) * 0.1)\n",
    "        if kind == 'additive':\n",
    "            self.W_a = nn.Linear(hid + hid, hid, bias=False)\n",
    "            self.v_a = nn.Linear(hid, 1, bias=False)\n",
    "\n",
    "    def attn(self, s, H):\n",
    "        if self.kind == 'dot':\n",
    "            e = torch.bmm(H, s.unsqueeze(-1)).squeeze(-1)\n",
    "        elif self.kind == 'general':\n",
    "            sW = s @ self.W_g\n",
    "            e = torch.bmm(H, sW.unsqueeze(-1)).squeeze(-1)\n",
    "        elif self.kind == 'scaled':\n",
    "            e = torch.bmm(H, s.unsqueeze(-1)).squeeze(-1) / math.sqrt(self.hid)\n",
    "        elif self.kind == 'additive':\n",
    "            s_exp = s.unsqueeze(1).expand(-1, H.size(1), -1)\n",
    "            cat = torch.cat([s_exp, H], dim=-1)\n",
    "            e = self.v_a(torch.tanh(self.W_a(cat))).squeeze(-1)\n",
    "        alpha = F.softmax(e, dim=-1)\n",
    "        ctx = torch.bmm(alpha.unsqueeze(1), H).squeeze(1)\n",
    "        return ctx, alpha\n",
    "\n",
    "    def forward(self, src, tgt_in):\n",
    "        H, h = self.enc(self.emb_src(src))               # H: (B, T, hid)\n",
    "        h = torch.zeros_like(h)                          # zero-init decoder hidden\n",
    "        s = h.transpose(0, 1).squeeze(1)                 # (B, hid)\n",
    "        outs = []\n",
    "        for t in range(tgt_in.size(1)):\n",
    "            ctx, _ = self.attn(s, H)\n",
    "            e = self.emb_tgt(tgt_in[:, t])\n",
    "            inp = torch.cat([e, ctx], dim=-1).unsqueeze(1)\n",
    "            out, h = self.dec(inp, h)\n",
    "            s = out.squeeze(1)\n",
    "            outs.append(self.out(torch.cat([s, ctx], dim=-1)))\n",
    "        return torch.stack(outs, dim=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d2643f8d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:24.317061Z",
     "iopub.status.busy": "2026-04-30T15:35:24.316954Z",
     "iopub.status.idle": "2026-04-30T15:35:24.319995Z",
     "shell.execute_reply": "2026-04-30T15:35:24.319660Z"
    }
   },
   "outputs": [],
   "source": [
    "@torch.no_grad()\n",
    "def predict_with(m, src_str, max_steps=None):\n",
    "    m.eval()\n",
    "    src = torch.tensor([encode(src_str)], device=device)\n",
    "    H, h = m.enc(m.emb_src(src))\n",
    "    h = torch.zeros_like(h)\n",
    "    s = h.transpose(0, 1).squeeze(1)\n",
    "    y = torch.tensor([SOS], device=device)\n",
    "    out_ids = []\n",
    "    target_len = max_steps if max_steps is not None else len(src_str)\n",
    "    for _ in range(target_len):\n",
    "        ctx, _ = m.attn(s, H)\n",
    "        e = m.emb_tgt(y)\n",
    "        inp = torch.cat([e, ctx], dim=-1).unsqueeze(1)\n",
    "        out, h = m.dec(inp, h)\n",
    "        s = out.squeeze(1)\n",
    "        logits = m.out(torch.cat([s, ctx], dim=-1))\n",
    "        logits[:, EOS] = -1e9\n",
    "        y = logits.argmax(-1)\n",
    "        out_ids.append(y.item())\n",
    "    return decode(out_ids)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "3eda4a79",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:35:24.321807Z",
     "iopub.status.busy": "2026-04-30T15:35:24.321711Z",
     "iopub.status.idle": "2026-04-30T15:38:02.427534Z",
     "shell.execute_reply": "2026-04-30T15:38:02.427017Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== Training: additive ===\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  final loss = 0.0016; accuracies: {3: 0.9955555555555555, 5: 0.9893333333333333, 7: 1.0, 10: 0.946}\n",
      "\n",
      "=== Training: dot ===\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  final loss = 0.0827; accuracies: {3: 0.41333333333333333, 5: 0.8213333333333334, 7: 0.8942857142857142, 10: 0.8806666666666667}\n",
      "\n",
      "=== Training: general ===\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  final loss = 0.0925; accuracies: {3: 0.5155555555555555, 5: 0.824, 7: 0.8828571428571429, 10: 0.8946666666666667}\n",
      "\n",
      "=== Training: scaled ===\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  final loss = 0.0221; accuracies: {3: 0.39111111111111113, 5: 0.16533333333333333, 7: 0.3038095238095238, 10: 0.12}\n"
     ]
    }
   ],
   "source": [
    "@torch.no_grad()\n",
    "def teacher_forced_accuracy(m, length, n_samples=150):\n",
    "    m.eval()\n",
    "    correct, total = 0, 0\n",
    "    for _ in range(n_samples):\n",
    "        s = ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for _ in range(length))\n",
    "        t = s[::-1]\n",
    "        src = torch.tensor([encode(s)], device=device)\n",
    "        tgt_in = torch.tensor([[SOS] + encode(t)], device=device)\n",
    "        tgt_out = torch.tensor([encode(t) + [EOS]], device=device)\n",
    "        logits = m(src, tgt_in)\n",
    "        preds = logits[0, :length].argmax(-1).cpu().numpy()\n",
    "        truth = tgt_out[0, :length].cpu().numpy()\n",
    "        correct += (preds == truth).sum()\n",
    "        total += length\n",
    "    return correct / total\n",
    "\n",
    "\n",
    "def quick_train(kind, steps=2500, batch=64, max_len=8, lr=3e-3):\n",
    "    \"\"\"Train one Reverser variant on the toy reversal task. Returns (model, losses).\"\"\"\n",
    "    torch.manual_seed(1); random.seed(1)\n",
    "    m = Reverser(VOCAB_SIZE, kind=kind, hid=96).to(device)\n",
    "    opt = torch.optim.Adam(m.parameters(), lr=lr)\n",
    "    sched = torch.optim.lr_scheduler.CosineAnnealingLR(opt, T_max=steps)\n",
    "    losses = []\n",
    "    for _ in range(steps):\n",
    "        src, tin, tout, _, _ = make_batch(batch, 3, max_len, device)\n",
    "        logits = m(src, tin)\n",
    "        loss = F.cross_entropy(logits.reshape(-1, VOCAB_SIZE), tout.reshape(-1),\n",
    "                               ignore_index=PAD)\n",
    "        opt.zero_grad(); loss.backward()\n",
    "        torch.nn.utils.clip_grad_norm_(m.parameters(), 1.0)\n",
    "        opt.step(); sched.step()\n",
    "        losses.append(loss.item())\n",
    "    return m, losses\n",
    "\n",
    "\n",
    "results = {}\n",
    "all_losses = {}\n",
    "for kind in ['additive', 'dot', 'general', 'scaled']:\n",
    "    print(f'\\n=== Training: {kind} ===')\n",
    "    m, losses = quick_train(kind)\n",
    "    acc = {L: teacher_forced_accuracy(m, L) for L in [3, 5, 7, 10]}\n",
    "    results[kind] = acc\n",
    "    all_losses[kind] = losses\n",
    "    print(f'  final loss = {losses[-1]:.4f}; accuracies: {acc}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "3facb00f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:02.430326Z",
     "iopub.status.busy": "2026-04-30T15:38:02.429961Z",
     "iopub.status.idle": "2026-04-30T15:38:02.583500Z",
     "shell.execute_reply": "2026-04-30T15:38:02.583102Z"
    },
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAADJ6klEQVR4nOzdd3gU1dvG8e/upvdCEggtFGlSRRRCFwHpYgEL0lVERYiKICqgKDaQnyJgQRBFbCiIAsqLgiigNCu9hhIgBFIgpO68f8SshgQIIbsTkvtzXblkz56ZeWZOxsw+e4rFMAwDERERERERERERF7KaHYCIiIiIiIiIiJQ9SkqJiIiIiIiIiIjLKSklIiIiIiIiIiIup6SUiIiIiIiIiIi4nJJSIiIiIiIiIiLickpKiYiIiIiIiIiIyykpJSIiIiIiIiIiLqeklIiIiIiIiIiIuJySUiIiIiIiIiIi4nJKSom4kMViKdTPqlWrLus4EyZMwGKxFGnbVatWFUsMV9qxC6NDhw4MGzbM7DAuS2pqKhMmTCjwGuf+3pw4ccLpcbRr14527do5Xu/cuRMPDw82b97s9GOLiEjp8Prrr2OxWKhfv77ZoVxRcp+3Pv/8c6ceZ+7cuVgsFvbv3+/U4xTWhZ6BCrJ//34sFgtz5851alyFdeTIESZMmMBvv/2W772BAwfi5+fn+qBEioGb2QGIlCXr1q3L8/q5557jhx9+4Pvvv89TXq9evcs6ztChQ7npppuKtO0111zDunXrLjuG0mbx4sX8/PPPzJs3z+xQLktqaioTJ04EyJMUMlutWrW4++67GTVqFKtXrzY7HBERuQK89957APz999/88ssvXH/99SZHJP/VrVs31q1bR4UKFcwOBSi5z0CFdeTIESZOnEhUVBSNGzc2OxyRYqOklIgLNW/ePM/rsLAwrFZrvvJzpaam4uPjU+jjVKpUiUqVKhUpxoCAgIvGUxa98MIL9O7dm4oVK5odSqn10EMPce2117J27Vqio6PNDkdEREqwjRs38vvvv9OtWze++eYbZs+eXWKTUpf6HFdahIWFERYWZnYYIlLCafieSAnTrl076tevz48//kh0dDQ+Pj4MHjwYgE8++YROnTpRoUIFvL29qVu3LmPGjOHMmTN59lHQ8L2oqCi6d+/O8uXLueaaa/D29qZOnTqObxlzFTSELrdL8O7du+natSt+fn5UrlyZRx99lPT09DzbHzp0iNtuuw1/f3+CgoK4++672bBhw2V1f/7qq69o0aIFPj4++Pv707Fjx3y9zuLj47nvvvuoXLkynp6ehIWF0bJlS/7v//7PUWfLli10796d8PBwPD09iYyMpFu3bhw6dOiCx9+yZQu//vor99xzT57y1NRUHnvsMapVq4aXlxchISFce+21LFiwIN+12759O507d8bX15cKFSrw4osvArB+/XpatWqFr68vtWrV4v333893/L/++otevXoRHByMl5cXjRs3LrBebGws/fr1c5xf3bp1mTJlCna7Hcjphp77cDhx4kTHcNGBAwfm2c+xY8e48847CQwMJCIigsGDB5OUlJSnjmEYzJgxg8aNG+Pt7U1wcDC33XYbe/fuzVfv5ZdfpmrVqnh5eXHNNdewbNmyAq9z06ZNqVu3LrNmzSrwfRERkVyzZ88G4MUXXyQ6OpqPP/6Y1NTUfPUOHz7seD7w8PAgMjKS2267jWPHjjnqJCYm8uijj1K9enU8PT0JDw+na9eubN++HTj/9AIFDe/K/bv/559/0qlTJ/z9/enQoQMAK1asoFevXlSqVAkvLy9q1qzJ/fffX+Cw+e3bt3PnnXcSERGBp6cnVapUoX///qSnp7N//37c3NyYPHlyvu1+/PFHLBYLn3322UWvYVpaGjExMZQvXx5vb2/atm3Lli1bHO9/8MEHWCyWfM9cAM8++yzu7u4cOXLkvPsvaPhe7nPuhg0baN26NT4+PlSvXp0XX3zR8bwC/17zDz/88IIx5u6zoJ5PAwcOJCoqCij8M1Bh7Nq1i7vuuivP89abb76Zp05u/AsWLGDcuHFERkYSEBDAjTfeyI4dO/LUNQyDF154wfGsdO2117JixYo857Vq1SqaNWsGwKBBgxzxT5gwIc++CvOsLlLSKCklUgLFxcXRr18/7rrrLpYuXcrw4cOBnD+CXbt2Zfbs2SxfvpyRI0fy6aef0qNHj0Lt9/fff+fRRx9l1KhRLF68mIYNGzJkyBB+/PHHi26bmZlJz5496dChA4sXL2bw4MG89tprvPTSS446Z86coX379vzwww+89NJLfPrpp0RERNC3b9+iXQjgo48+olevXgQEBLBgwQJmz57NqVOnaNeuHT/99JOj3j333MOiRYt45pln+O6773j33Xe58cYbSUhIcMTWsWNHjh07xptvvsmKFSuYNm0aVapUISUl5YIxfP3119hsNtq0aZOnPCYmhpkzZzJixAiWL1/OBx98wO233+445n+v3S233EK3bt1YvHgxXbp0YezYsTz55JMMGDCAwYMH8+WXX1K7dm0GDhzIpk2bHNvu2LGD6Oho/v77b15//XW++OIL6tWrx8CBA3n55Zcd9eLj44mOjua7777jueee46uvvuLGG2/kscce46GHHgKgQoUKLF++HIAhQ4awbt061q1bx9NPP50n3ltvvZVatWqxcOFCxowZw0cffcSoUaPy1Ln//vsZOXIkN954I4sWLWLGjBn8/fffREdH53nQnzhxIk888QQdO3Zk0aJFPPDAA9x77735HshytWvXjmXLlmEYxgXbREREyq6zZ8+yYMECmjVrRv369Rk8eDApKSn5EjGHDx+mWbNmfPnll8TExLBs2TKmTZtGYGAgp06dAiAlJYVWrVrx1ltvMWjQIJYsWcKsWbOoVasWcXFxRYovIyODnj17csMNN7B48WLHkLE9e/bQokULZs6cyXfffcczzzzDL7/8QqtWrcjMzHRs//vvv9OsWTPWr1/Ps88+y7Jly5g8eTLp6elkZGQQFRVFz549mTVrFtnZ2XmOPX36dCIjI+ndu/dF43zyySfZu3cv7777Lu+++y5HjhyhXbt2ji+Y+vbtS/ny5fMlXLKysnjrrbfo3bs3kZGRl3x9jh49yt13302/fv346quvHM9FH3744SXHWFiFfQa6mK1bt9KsWTP++usvpkyZwtdff023bt0YMWKEo53Pjf/AgQO8++67vP322+zatYsePXrkabdx48Yxbtw4brrpJhYvXsywYcMYOnQoO3fudNS55pprmDNnDgBPPfWUI/6hQ4c66hTmWV2kRDJExDQDBgwwfH1985S1bdvWAIyVK1decFu73W5kZmYaq1evNgDj999/d7w3fvx449zbu2rVqoaXl5dx4MABR9nZs2eNkJAQ4/7773eU/fDDDwZg/PDDD3niBIxPP/00zz67du1q1K5d2/H6zTffNABj2bJleerdf//9BmDMmTPngud07rGzs7ONyMhIo0GDBkZ2drajXkpKihEeHm5ER0c7yvz8/IyRI0eed98bN240AGPRokUXjKEgXbp0MerUqZOvvH79+sbNN998wW1zr93ChQsdZZmZ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ad68OUePHuXBBx+86Ha5zvf3+dxEyiOPPMIHH3zA4sWLWb58uWMhG1coTIxeXl75FmSB87dPUQUHB2Oz2bjnnnvOe52rVat2SfvMPY//zseZ63zPSiKljXpKiVwhch9wzk0CvPXWW2aEU6C2bduSkpKSb3W1jz/+uEj7q127NhUrVuSjjz7KM/H1mTNnWLhwoWNFvnNVqVKFhx56iI4dO7J58+Z871ssFho1asRrr71GUFBQgXX+q06dOhedUDMiIoKBAwdy5513smPHjgJXACqKDh06OBKS/zVv3jx8fHxo3ry5o97WrVvzncu8efOwWCy0b98eyP8NXVF0794dwzA4fPgw1157bb6fBg0aADldz728vJg/f36e7deuXXveruR79+7FarVSu3btIscnIiKlU3Z2Nu+//z41atTghx9+yPfz6KOPEhcX53gO6dKlCz/88MN5F9fIrbNz584LDnPPTQz88ccfecq/+uqrQsde2Oe43BXmPvvss4smVby8vLjvvvt4//33mTp1Ko0bN6Zly5aFjmnBggV5nq8OHDjA2rVr861k17RpU6Kjo3nppZeYP38+AwcOxNfXt9DHuRyFiTEqKoqdO3fmSRomJCSwdu3aPPu63GcgHx8f2rdvz5YtW2jYsGGBz0AF9QK7kOuvvx5PT08++eSTPOXr16/P96xUHM9wIiWRekqJXCGio6MJDg5m2LBhjB8/Hnd3d+bPn8/vv/9udmgOAwYM4LXXXqNfv35MmjSJmjVrsmzZMr799luAPPNCFYbVauXll1/m7rvvpnv37tx///2kp6fzyiuvkJiYyIsvvghAUlIS7du356677qJOnTr4+/uzYcMGli9fzi233ALkzIM0Y8YMbr75ZqpXr45hGHzxxRckJibSsWPHC8bRrl073nvvPXbu3EmtWrUc5ddffz3du3enYcOGBAcHs23bNj744IPzJsuKYvz48Xz99de0b9+eZ555hpCQEObPn88333zDyy+/TGBgIACjRo1i3rx5dOvWjWeffZaqVavyzTffMGPGDB544AFH3P7+/lStWpXFixfToUMHQkJCKFeu3CV9E9eyZUvuu+8+Bg0axMaNG2nTpg2+vr7ExcXx008/0aBBAx544AGCg4N57LHHmDRpEkOHDuX222/n4MGDTJgw4bxDC9avX0/jxo0dPeBERERyLVu2jCNHjvDSSy/lS5wA1K9fn+nTpzN79my6d+/uWLmuTZs2PPnkkzRo0IDExESWL19OTEwMderUYeTIkXzyySf06tWLMWPGcN1113H27FlWr15N9+7dad++PeXLl+fGG29k8uTJBAcHU7VqVVauXOmYQqEw6tSpQ40aNRgzZgyGYRASEsKSJUtYsWJFvrpTp06lVatWXH/99YwZM4aaNWty7NgxvvrqK9566y38/f0ddYcPH87LL7/Mpk2bePfddy/peh4/fpzevXtz7733kpSUxPjx4/Hy8mLs2LH56j7yyCP07dsXi8XiWBXaFQoT4z333MNbb71Fv379uPfee0lISODll1/ON4SyOJ6B/ve//9GqVStat27NAw88QFRUFCkpKezevZslS5Zc0hyekNMzLiYmxvG71bt3bw4dOsTEiROpUKFCnmfnGjVq4O3tzfz586lbty5+fn5ERkYWaQVEkRLFpAnWRcQ4/+p7V199dYH1165da7Ro0cLw8fExwsLCjKFDhxqbN2/OtxLH+Vbf69atW759nrtiyflW3zs3zvMdJzY21rjlllsMPz8/w9/f37j11luNpUuX5ltZpiDnW91m0aJFxvXXX294eXkZvr6+RocOHYyff/7Z8X5aWpoxbNgwo2HDhkZAQIDh7e1t1K5d2xg/frxx5swZwzAMY/v27cadd95p1KhRw/D29jYCAwON6667zpg7d+4FYzIMw0hKSjL8/PzyrUo3ZswY49prrzWCg4MNT09Po3r16saoUaOMEydOXPTana+dC2qnP//80+jRo4cRGBhoeHh4GI0aNSpw5ZUDBw4Yd911lxEaGmq4u7sbtWvXNl555ZU8KxcahmH83//9n9GkSRPD09PTAIwBAwYYhvFve8bHx+epX9DqOYZhGO+9955x/fXXG76+voa3t7dRo0YNo3///sbGjRsddex2uzF58mSjcuXKhoeHh9GwYUNjyZIlBa6Uk5KSYvj4+ORb1U9ERMQwDOPmm282PDw8Lrgq3R133GG4ubkZR48eNQwjZ2XYwYMHG+XLlzfc3d2NyMhIo0+fPnlWkzt16pTxyCOPGFWqVDHc3d2N8PBwo1u3bsb27dsddeLi4ozbbrvNCAkJMQIDA41+/fo5VvY9d/W9gv7uG4ZhbN261ejYsaPh7+9vBAcHG7fffrsRGxtb4IpwW7duNW6//XYjNDTU8PDwMKpUqWIMHDjQSEtLy7ffdu3aGSEhIUZqamphLqPjeeuDDz4wRowYYYSFhRmenp5G69at8/wN/6/09HTD09PTuOmmmwp1DMM4/+p7BT3/nLtS3qXG+P777xt169Y1vLy8jHr16hmffPJJvn0axvmfgQpS0Op7ueWDBw82KlasaLi7uxthYWFGdHS0MWnSpHzxf/bZZxfdp91uNyZNmmRUqlTJ8az09ddfG40aNcq3gvGCBQuMOnXqGO7u7nl+by7lWV2kpLEYxn/6Q4qIOMELL7zAU089RWxsbLFPJuoqDz/8MCtXruTvv/8ucK4IuXyzZ8/mkUce4eDBg+opJSIiUgjHjx+natWqPPzww7z88stOO86SJUvo2bMn33zzTZ4VhZ1l1apVtG/fns8++8wxiX1Zsm/fPurUqcP48eN58sknzQ5HxKk0fE9EitX06dOBnG7qmZmZfP/997z++uv069fvik1IATz11FPMmzePhQsXlsmHI2fLysripZdeYuzYsUpIiYiIXMShQ4fYu3cvr7zyClarlUceecQpx9m6dSsHDhzg0UcfpXHjxnTp0sUpxynLfv/9dxYsWEB0dDQBAQHs2LHDMfxwyJAhZocn4nRKSolIsfLx8eG1115j//79pKenU6VKFZ544gmeeuops0O7LBEREcyfP59Tp06ZHUqpdPDgQfr168ejjz5qdigiIiIl3rvvvsuzzz5LVFQU8+fPp2LFik45zvDhw/n555+55ppreP/999Vb3Al8fX3ZuHEjs2fPJjExkcDAQNq1a8fzzz9PRESE2eGJOJ2G74mIiIiIiIiIiMtd2lJYIiIiIiIiIiIixUBJKRERERERERERcTklpURERERERERExOXK3ETndrudI0eO4O/vr4n6REREJB/DMEhJSSEyMhKrVd/fFUTPUyIiInIhhX2eKnNJqSNHjlC5cmWzwxAREZES7uDBg1SqVMnsMEokPU+JiIhIYVzsearMJaX8/f2BnAsTEBBQ7Pu32+3Ex8cTFhamb1dNojYwn9rAfGoD86kNzFfUNkhOTqZy5cqOZwbJz9nPUyIiInJlK+zzVJlLSuV2MQ8ICHBaUiotLY2AgAB9CDGJ2sB8agPzqQ3MpzYw3+W2gYalnZ+zn6dERESkdLjY85SekkVERERERERExOWUlBIREREREREREZdTUkpERERERERERFyuzM0pJSIi4iq5cxppTilz2O12MjMzC2wDDw8PtYsLZGdnk5mZaXYYUgDdAyIiUhIoKSUiIlLMDMPg6NGjJCQkkJiYqAmzTWIYBna7nZSUlHxtYLVaqVatGh4eHiZFV7rl3gOJiYlmhyLnoXtARERKAiWlREREitnRo0dJSkoiIiICPz8/9UYwiWEYZGVl4ebmlicpZbfbOXLkCHFxcVSpUkVJQyfITUiFh4fj4+Oja1zC6B4QEZGSQkkpERGRYpSdnU1iYiJhYWEEBgbmS4iI65wvKQUQFhbGkSNHyMrKwt3d3aQIS6fceyA8PJzQ0FCzw5Hz0D0gIiIlgb66FRERKUa58+f4+PiYHIlcSO6QpezsbJMjuXw//vgjPXr0IDIyEovFwqJFiy66zerVq2natCleXl5Ur16dWbNmFVs8ugeuDKXpHhARkSuXklIiIiJOoN5RJVtpap8zZ87QqFEjpk+fXqj6+/bto2vXrrRu3ZotW7bw5JNPMmLECBYuXFiscZWma1waqX1ERKQk0PA9ERERkStYly5d6NKlS6Hrz5o1iypVqjBt2jQA6taty8aNG3n11Ve59dZbnRSliIiISH7qKVXMMn64G9+femBP3m12KCIiIk61f/9+LBYLv/3223nrrFq1CovF4liFbe7cuQQFBV1034UdhiaXbt26dXTq1ClPWefOndm4caNj6J0Uju4BERGRy6OeUsXMOPUXtpR9kHYCqGV2OCIiIiVK37596dq1q+P1hAkTWLRoUb4P9XFxcQQHB7s4urLh6NGjRERE5CmLiIggKyuLEydOUKFChXzbpKenk56e7nidnJwM5KziZrfb89S12+0YhuH4+a/eN8UV12lc1JfL859Hccs9v4LO9Xx1+vTpQ5cuXRzlEyZMYPHixWzZsiXPdkeOHCE4OPi8+y2O2A3DKLANRURELldh/7YoKVXcPIKBfRjpp8yOREREpMTx9vbG29v7ovXKly/vgmjKrnPnE8pNfJxvnqHJkyczceLEfOXx8fGkpaXlKcvMzMRut5OVlUVWVlYxRXzpXHHs3GNc6FxzJxLPrePu7k5ISIijfm4S79zty5Url+cYzojdbreTkJCg1ffENM8/c9Lpxxj3bIjTjyEi+aWkpBSqnpJSxcziGYQBkKGklIiIXFmWL1/OpEmT+Ouvv7DZbLRo0YL//e9/1KhRA4Bff/2V+++/n23btlG/fn3GjRuXbx9Lly5l5MiRHDx4kObNmzNgwIA878+dO5eRI0eSmJjI3LlzHYmO3GTInDlzGDhwIBaLhS+//JKbb76ZFi1a0LZtW1588UXHfuLj44mMjOS7776jffv2ZGRk8NRTTzF//nwSExOpX78+L774Iq1atXLW5bpilS9fnqNHj+YpO378OG5uboSGhha4zdixY4mJiXG8Tk5OpnLlyoSFhREQEJCnblpaGikpKbi5ueHmZt6j5oF9F+9hVOOqvMmY5cuX8/zzz+e5B6ZNm5bnHhg2bJjjHnjyyScB8pzr0qVLGTVqlOMe6N+/f546c+fOZdSoUZw6dYq5c+cyadIk4N/V8N577z0GDhyI1Wrliy++4OabbyY6Opo2bdrkuwcqVqzIt99+m+ce+Oijj/LcA+3atSvw3N3c3LBarYSGhuLl5XUJV1ak+ByKdf7qj+Hh4U4/hojkV9i/LUpKFTePnKEG6iklIiK5DMMgPd05Q3AuxNPTckkrbJ05c4aYmBgaNGjAmTNneOaZZ+jduze//fYbZ8+epXv37txwww18+OGH7Nu3j0ceeSTP9gcPHuSWW25h2LBhPPDAA2zcuJFHH330vMfr27cvf/31F8uXL+f//u//AAgMDMxX7+677+aVV15h8uTJjvP55JNPiIiIoG3btgAMGjSI/fv38/HHHxMZGcmXX35Jly5d2Lx5M3Xr1i30NSgLWrRowZIlS/KUfffdd1x77bXn7THj6emJp6dnvnKr1YrVas1XZrFYHD8l2bnxpaam5rsHbrnlFsc90KNHjwLvgdxzPXjwILfeemuB98C518RisXDHHXfw999/57sH/lvHYrE47oEXX3zR8d6nn35KREQE7dq1w2KxMHjw4ALvgT///JOrrrqqwHO3WCwFtqGIqxiG8/8fod9vEXMU9t5TUqqYWTyDADAyEk2NQ0RESo70dIM7eh29eMVi9vHi8nh5Ff6B/9yV12bPnk14eDhbt25l7dq1ZGdn89577+Hj48PVV1/NoUOHeOCBBxz1Z86cSfXq1XnttdewWCzUrl2bP//8k5deeqnA43l7e+Pn54ebm9sFh+v17duXUaNG8dNPP9G6dWsAPvroI+666y6sVit79uxhwYIFHDp0iMjISAAee+wxli9fzvvvv5+nd0lpdPr0aXbv/neBlX379vHbb78REhJClSpVGDt2LIcPH2bevHkADBs2jOnTpxMTE8O9997LunXrmD17NgsWLDDrFEqM0ngPzJkzhxdeeOFyL41L3Nz5iNOPsejbSKcfQ0RECk9JqWIWFx9AOJCZcpL83yeKiIiUXHv27OHpp59m/fr1nDhxwjFBZWxsLNu2baNRo0b4+Pg46rdo0SLP9tu2baN58+Z5ep+cW6cowsLC6NixI/Pnz6d169bs27ePdevWMXPmTAA2b96MYRjUqpV3gZH09PQyMVn6xo0bad++veN17jC7AQMGMHfuXOLi4oiNjXW8X61aNccQszfffJPIyEhef/31fAmZsqg03gPnG5IpIiJSEigpVcx+Xu9J71pwNvkUfmYHIyIiJYKnp4WPF7t+4m5Pz0sbFtGjRw8qV67MO++8Q2RkJHa7nfr165ORkVGoFcCctUoY5Azhe+SRR3jjjTf46KOPuPrqq2nUqBGQM1G0zWZj06ZN2Gy2PPGUhbly2rVrd8FrP3fu3Hxlbdu2ZfPmzU6M6spU2u4BAD8/PZGKiEjJZeoA28mTJ9OsWTP8/f0JDw/n5ptvZseOHRfcZtWqVXnG5Of+bN++3UVRX1iW7Z9vZDWnlIiI/MNiseDlZXX5z6XM55OQkMC2bdt46qmn6NChA3Xr1uXUqX//ltWrV4/ff/+ds2fPOsrWr1+fZx/16tXLV3bu63N5eHg4Vie7kJtvvpm0tDSWL1/ORx99RL9+/RzvNWnShOzsbI4fP07NmjXz/GgVPyks3QMiIiKuZ2pSavXq1Tz44IOsX7+eFStWkJWVRadOnThz5sxFt92xYwdxcXGOn4ImcDSD3RaU8w/NKSUiIleQ4OBgQkNDefvtt9m9ezfff/99ntXWcueuGTJkCFu3bmXp0qW8+uqrefYxbNgw9uzZQ0xMDDt27OCjjz4qsJfOf0VFRTnmQDpx4gTp6ekF1vP19aVXr148/fTTbNu2jbvuusvxXq1atbj77rvp378/X3zxBfv27WPDhg289NJLLFu2rOgXRcqU0noPLF26tOgXRURExMlMTUotX76cgQMHOrofz5kzh9jYWDZt2nTRbcPDwylfvrzj59yuymYx3HN6SlmzEs0NRERE5BJYrVY+/vhjNm3aRP369Rk1ahSvvPKK430/Pz+WLFnC1q1badKkCePGjcs3eXOVKlVYuHAhS5YsoVGjRsyaNeuiEyzfeuut3HTTTbRv356wsLALTrZ999138/vvv9O6dWuqVKmS5705c+bQv39/Hn30UWrXrk3Pnj359ddfqVSpUhGuhpRFpfEe+OWXX6hcuXIRroaIiIhrWAxnDn6/RLt37+aqq67izz//pH79+gXWWbVqFe3btycqKoq0tDTq1avHU089lWeCzwtJTk4mMDCQpKQkAgICijN8AOa8spa+5TqRYQklaOCBYt+/XJzdbuf48eOEh4drCViTqA3MpzYwT1paGvv27SMqKgo3Nzfc3NwuaRidFB/DMMjKyiqwDXLbqVq1avnmnXL2s0JpcKFrdKFreyl278y43DAvqmYtD6cfo6QqrnYqTlp9r+xRm4uUXoV9nioxE50bhkFMTAytWrU6b0IKoEKFCrz99ts0bdqU9PR0PvjgAzp06MCqVato06ZNvvrp6el5ukEnJycDOR/YcldUKU4dN02DzuBmTyQ7O1sfRExgt9sxDMMp7SuFozYwn9rAPLnXHsj3X3G987WBYRiOe+Tc+0T3jYiIiIhrlJik1EMPPcQff/zBTz/9dMF6tWvXpnbt2o7XLVq04ODBg7z66qsFJqUmT57MxIkT85XHx8eTlpZ2+YGf46cIf3oCVks28XH7wE0rnria3W4nKSkJwzDUQ8QkagPzqQ3Mk5mZid1uJzMz01GmLyjMYRiGYwLpc9sgKysLu91OQkIC7u7ued5LSUlxWYwiIiIiZVmJSEo9/PDDfPXVV/z4449FmvuhefPmfPjhhwW+N3bs2DyTVCYnJ1O5cmXCwsKc0iV/QtuKdEqy4UU2YQFuWPzCi/0YcmF2ux2LxUJYWJg+jJtEbWA+tYF50tLSSElJwd3dHZvNli/hIa5XUBu4ublhtVoJDQ3NN3SppAxlEhERESntTE1KGYbBww8/zJdffsmqVauoVq1akfazZcsWKlSoUOB7np6eeHp65iu3Wq1O+aDml2UhyeqFl/0MlsxkfRg0icVicVobS+GoDcynNjCH1Wp19Mo597/iWoZhnLcNLBbLee8R3TMiIiIirmFqUurBBx/ko48+YvHixfj7+3P06FEAAgMD8fb2BnJ6Oh0+fJh58+YBMG3aNKKiorj66qvJyMjgww8/ZOHChSxcuNC08/gvv2wLiVYvIuxnMNJPmh2OiIiIiIiIiEiJZGpSaubMmQC0a9cuT/mcOXMYOHAgAHFxccTGxjrey8jI4LHHHuPw4cN4e3tz9dVX880339C1a1dXhX1BfoaNJGtOt38jI9HcYERERERERERESijTh+9dzNy5c/O8Hj16NKNHj3ZSRJfPHzcS/0lKkX7K3GBERERERERESoibOx9x+jEWfRvp9GNI8dGkCcUswOZOkkU9pURERERERERELkRJqWIW4Obp6CllpGlOKRERERERERGRgigpVcyCPb1ItOZM0p59VsP3RETkytauXTtGjhxpdhgiptE9ICIi4jymzilVGgV5+bAzI6enVFZqgsnRiIiIuM7cuXMZOXIkiYmJZociJVRix46FrlvuMo914s1vLnMPl073gIiIyKVRT6liFujlw6l/ekrZz2r4noiIiIiIiIhIQZSUKmb+Xn6OpJSRrqSUiIhcOc6cOUP//v3x8/OjQoUKTJkyJc/7p06don///gQHB+Pj40OXLl3YtWsXAKtWrWLQoEEkJSVhsViwWCxMmDDBhLMQKTrdAyIiIq6lpFQxC/T259Q/E51bMpWUEhERMAwD4+xZ1/8YxiXF+fjjj/PDDz/w5Zdf8t1337Fq1So2bdrkeH/gwIFs3LiRr776inXr1mEYBl27diUzM5Po6GimTZtGQEAAcXFxxMXF8dhjjxX3pRRxKt0DIiIirqU5pYqZv2+Ao6eULSsRwzCwWCwmRyUiIqZKSyOpZ0+XHzbwq6/A27tQdU+fPs3s2bOZN28eHf+Z9+f999+nUqVKAOzatYuvvvqKn3/+mejoaADmz59P5cqVWbRoEbfffjuBgYFYLBbKly/vnBMScSLdAyIiIq6nnlLFLNA/0JGUspIOWakmRyQiInJxe/bsISMjgxYtWjjKQkJCqF27NgDbtm3Dzc2N66+/3vF+aGgotWvXZtu2bS6PV6S46R4QERFxPfWUKmYBvgGkWtzJwIoHdoz0k1jcfc0OS0REzOTlldNryYTjFtbFhvqd7331CJbSQveAiIiI66mnVDELcPMCi8XRWwpNdi4iUuZZLBYs3t6u/7mED8o1a9bE3d2d9evXO8pOnTrFzp07AahXrx5ZWVn88ssvjvcTEhLYuXMndevWBcDDw4Ps7OxiumoirqV7QERExPWUlCpm7lYb3pl2rcAnIiJXFD8/P4YMGcLjjz/OypUr+euvvxg4cCBWa86jwlVXXUWvXr249957+emnn/j999/p168fFStWpFevXgBERUVx+vRpVq5cyYkTJ0hN1RB2uXLoHhAREXE9JaWcwC/D7liBz0hLMDkaERGRwnnllVdo06YNPXv25MYbb6RVq1Y0bdrU8f6cOXNo2rQp3bt3p0WLFhiGwdKlS3F3dwcgOjqaYcOG0bdvX8LCwnj55ZfNOhWRItE9ICIi4lqaU8oJfDP5t6dUximToxERESkcPz8/PvjgAz744ANH2eOPP+74d3BwMPPmzbvgPmbOnMnMmTOdFqNc2YJWrCh03d07M5wYScF0D4iIiLiWklJO4Jf9b1KKNA3fExERERERMUNix45OP8alJNyldAj+7lmnH+NUp2ecfoySQMP3nMDPbtWcUiIiIiIiIiIiF6CklBP4GTYSc+eUUlJKRERERERERCQfDd9zAn+Lm3pKiYiIiIiIlAEayiVSdEpKOYG/zZ1jSkqJiIiIiIiIuJQr5hHj8dbOP0YZoeF7ThDg7sGpf4bv2c8qKSUiIiIiIiIici4lpZwgwN3r39X31FNKRERERERERCQfJaWcwP+/SanMRAx7trkBiYiIiIiIiIiUMEpKOYGfpw9J/wzfs2BARqK5AYmIiIiIiIiIlDBKSjmBv6cPmRYbZ3AHNNm5iIiIK7Rr146RI0eaHYaIaXQPiIjIlUar7zmBn7cfnIFEize+RiZG+imzQxIRERExnSuWTc+1IWqMy44lIiIiRaOeUk7g6+0HwEmbJjsXERG5XJmZmWaHIGIq3QMiIlJaKSnlBP4+AQAk/JOU0vA9ERG5EqSkpHD33Xfj6+tLhQoVeO211/IMB8rIyGD06NFUrFgRX19frr/+elatWuXYfu7cuQQFBfHtt99St25d/Pz8uOmmm4iLi8tznDlz5lC3bl28vLyoU6cOM2bMcLy3f/9+LBYLn376Ke3atcPLy4sPP/yQhIQE7rzzTipVqoSPjw8NGjRgwYIFrrgsUoboHhAREXEtDd9zAn/3nGRU7gp8SkqJiJRthmGQmu36ng4+NncsFkuh68fExPDzzz/z1VdfERERwTPPPMPmzZtp3LgxAIMGDWL//v18/PHHREZG8uWXX3LTTTfx559/ctVVVwGQmprKq6++ygcffIDVaqVfv3489thjzJ8/H4B33nmH8ePHM336dJo0acKWLVu499578fX1ZcCAAY5YnnjiCaZMmcKcOXPw9PQkLS2Npk2b8sQTTxAQEMA333zDPffcQ/Xq1bn++uuL76JJmaZ7QERExLWUlHICD6sNjyz7v0mptASTIxIRETOlZmdS6fsXXX7cQzeMwdfNo1B1U1JSeP/99/noo4/o0KEDkNObIzIyEoA9e/awYMECDh065Ch77LHHWL58OXPmzOGFF14AcoYZzZo1ixo1agDw0EMP8eyz/84j9NxzzzFlyhRuueUWAKpVq8bWrVt566238nwgHzlypKNOrscee8zx74cffpjly5fz2Wef6QO5FAvdAyIiIq6npJST+GfYSbR65bxQTykRESnh9u7dS2ZmJtddd52jLDAwkNq1awOwefNmDMOgVq1aebZLT08nNDTU8drHx8fxYRygQoUKHD9+HID4+HgOHjzIkCFDuPfeex11srKyCAwMzLPfa6+9Ns/r7OxsXnzxRT755BMOHz5Meno66enp+Pr6XuaZi+TQPSAiIuJ6Sko5SWAmnHLMKaXV90REyjIfmzuHbnD9SmA+NvdC1zUMAyDfcL/ccrvdjs1mY9OmTdhstjx1/Pz8HP92d897TIvFkmcfkDN86dyeHefu89wP2lOmTOG1115j2rRpNGjQAF9fX0aOHElGRkahz1HkQnQPiIiIuJ6SUk7in23hlHtOTynNKSUiUrZZLJZCD6MzS40aNXB3d+fXX3+lcuXKACQnJ7Nr1y7atm1LkyZNyM7O5vjx47Ru3bpIx4iIiKBixYrs3buXu++++5K2XbNmDb169aJfv35Azof7Xbt2Ubdu3SLFInIu3QMiIiKup6SUkwTYbZroXERErhj+/v4MGDCAxx9/nJCQEMLDwxk/fjxWqxWLxUKtWrW4++676d+/P1OmTKFJkyacOHGC77//ngYNGtC1a9dCHWfChAmMGDGCgIAAunTpQnp6Ohs3buTUqVPExMScd7uaNWuycOFC1q5dS3BwMFOnTuXo0aP6QC7FRveAiIiI61nNDqC0CrK4OZJSmlNKRESuBFOnTqVFixZ0796dG2+8kZYtWzqWrYecSZ/79+/Po48+Su3atenZsye//PKLo1dJYQwdOpR3332XuXPn0qBBA9q2bcvcuXOpVq3aBbd7+umnueaaa+jcuTPt2rWjfPny3HzzzZdzuiL56B4QERFxLYuRO8i9jEhOTiYwMJCkpCQCAgKKff92u53jx4/zwpoPWe17hHXH3gabDz79jxf7saRguW0QHh6O1aq8qxnUBuZTG5gnLS2Nffv2ERUVhZubG25ubvnmqLlSnDlzhooVKzJlyhSGDBlidjiXzDAMsrKyCmyD3HaqVq2aI+GQy9nPCqXBha7Rha7tpdi90/lzJdWsdeFhtVf6PXAhxdVOxenmzkecfoxF30Y6/RjB3z178UqX6VSnZ5x+DFdwRZvPtQ+4eKXLVO3xog3pvRRq88JTm5cMhX2e0vA9Jwn28Pp39b3sVIysNCxuJeMPvoiISEG2bNnC9u3bue6660hKSnIsY9+rVy+TIxNxDd0DpV9ix47OP4gLPqyKiJQWSko5SbCHD8kWT7INCzaLgZFxCotbBbPDEhERuaBXX32VHTt24OHhQdOmTVmzZg3lypUzOywRl9E9ICIi4joa0+EkgZ6+YLGQwj+9o9ISzA1IRETkIpo0acKmTZs4ffo0J0+eZMWKFTRo0MDssKQQZsyY4RiGlZtIuZD58+fTqFEjfHx8qFChAoMGDSIhQc8qugdERERcS0kpJwn29gMg2ZKTlNIKfCIiIuIMn3zyCSNHjmTcuHFs2bKF1q1b06VLF2JjYwus/9NPP9G/f3+GDBnC33//zWeffcaGDRsYOnSoiyMXERGRsk5JKScJ9A0EIFFJKREREXGiqVOnMmTIEIYOHUrdunWZNm0alStXZubMmQXWX79+PVFRUYwYMYJq1arRqlUr7r//fjZu3OjiyEVERKSs05xSThLkHwRHIcHmDVmAklIiIiJSzDIyMti0aRNjxozJU96pUyfWrl1b4DbR0dGMGzeOpUuX0qVLF44fP87nn39Ot27dznuc9PR00tPTHa+Tk5OBnJU+7XZ7nrp2ux3DMBw/JVlJj8+ZctunoDY0i8Xi/PYwXLAaqtUFv1Ylpc0ul9q88NTmhac2LxkKG7+SUk4S7B8CwAm3nKSUekqJiIhIcTtx4gTZ2dlERETkKY+IiODo0aMFbhMdHc38+fPp27cvaWlpZGVl0bNnT954443zHmfy5MlMnDgxX3l8fDxpaWl5yjIzM7Hb7WRlZZGVlVWEs8rh4ZFd5G0LKyvL+R9cSqqsrCzsdjsJCQm4u7ubHQ4AlaokOf0YCUZVpx+jof38S58Xl+PHjzv9GK6gNi88tXnhqc1LhpSUlELVU1LKSYL8gwBIcPMBwEg/ZWI0IiIiUppZzvlW2DCMfGW5tm7dyogRI3jmmWfo3LkzcXFxPP744wwbNozZs2cXuM3YsWOJiYlxvE5OTqZy5cqEhYUREJD3wTwtLY2UlBTc3Nxwcyv6o2ZGhvO/hr6c+K50bm5uWK1WQkND8fLyMjscAA7FOj8RGWo/4PRj/GGt7PRjhIeHO/0YrqA2Lzy1eeGpzUuGwv5tMfUv8eTJk/niiy/Yvn073t7eREdH89JLL1G7du0Lbrd69WpiYmL4+++/iYyMZPTo0QwbNsxFUReOn5snVrvBKas3oJ5SIiIiUvzKlSuHzWbL1yvq+PHj+XpP5Zo8eTItW7bk8ccfB6Bhw4b4+vrSunVrJk2aRIUKFfJt4+npiaenZ75yq9WK1WrNV2axWBw/JVlJj8+ZctunoDY0i2E4vz0sLhiyaXfBr1VJabPLpTYvPLV54anNS4bCxm/qWa5evZoHH3yQ9evXs2LFCrKysujUqRNnzpw57zb79u2ja9eutG7dmi1btvDkk08yYsQIFi5c6MLIL85qseCfYeeU9Z/sYJqSUiIiUjbNnTuXoKCgy96PxWJh0aJFl72f0sTDw4OmTZuyYsWKPOUrVqwgOjq6wG1SU1PzPSjabDagbM+x5Ey6B0RERApmak+p5cuX53k9Z84cwsPD2bRpE23atClwm1mzZlGlShWmTZsGQN26ddm4cSOvvvoqt956q7NDviQBmQan3NRTSkRERJwnJiaGe+65h2uvvZYWLVrw9ttvExsb6+hFPnbsWA4fPsy8efMA6NGjB/feey8zZ850DN8bOXIk1113HZGRkU6NNXWOX6HrXm4kR1rq2UtERKSkK1ED6ZOSciY9CwkJOW+ddevW0alTpzxlnTt3Zvbs2WRmZuabqPFSVospDrkrztjtdgKyLJzyyE1KJVzxs+dfKf7bBmIOtYH51Abmyb32QL7/llXFeR0udUW38x37QiuPueK+adeuHYMHD+b222/H29v7svbVt29fEhISePbZZ4mLi6N+/fosXbqUqlVzJnqNi4sjNjbWUX/gwIGkpKQwffp0Hn30UYKCgrjhhht46aWXLisOERERkUtVYpJShmEQExNDq1atqF+//nnrHT16tMAVZrKysjhx4kS+eRAuZbWY4mC320lKSsIwDPyyLY45pbLPnrjiZ8+/Uvy3Da70cbhXKrWB+dQG5sldeSwzM9NRdqXMW7Nw4UImTZrEnj178PHxoXHjxixcuBBfX1/mzp3La6+9xp49ewgJCaF3797873//A2DatGm8//777Nu3j5CQELp168bkyZPx88vpFZOb5PnvSmxff/01zz33HFu3biUyMpJ+/foxduxYx8TTu3bt4v7772fDhg1Uq1aNqVOnApCdnV3oFd0MwyA7O2dC1XPb4EIrjxV2tZjL0bRpU0aPHs3DDz9Mnz59GDJkCM2bNy/y/oYPH87w4cMLfG/u3Ln5yh5++GEefvjhIh+vtPr888+ZOHEiu3fvxsfHhyZNmrB48WJ8fX157733mDJlCrt37yYkJIRbb72V6dOnAzB16lTmzJnD3r17CQkJoUePHrz88suOe6AgS5YsYcKECY45UgcMGMC4cePy3ANDhgzh119/pXr16o77TUREpDQpMUmphx56iD/++IOffvrponULWmGmoHK4tNViioPdbsdisRAWFkawxYMD/8wpZc1MIiws7Ir5YHIl+28b6MO4OdQG5lMbmCd35TF3d3dsNhvu7u45f6eyUl0fjJtPof/uxMXFcc899/DSSy/Ru3dvUlJSWLNmDTabjXfeeYdHH32UyZMn06VLF5KSkvj5558dH57d3Nx4/fXXiYqKYt++fTz44IM8+eSTzJgxA/h3osvc+t9++y0DBw7kf//7H61bt2bPnj3cf//9WK1Wxo8fj91up2/fvpQrV45169aRnJzMqFGjgJy5jy51xbSClru/0MpjrliJbMqUKbz88st8/fXXzJkzhzZt2lCzZk0GDx7MPffcc95JysV54uLiuPPOO3n55Zfz3AOGYTBz5kxiYmJ48cUX89wDuaxWa557YPjw4YwePdpxD5zr22+/pV+/frz++uuOe+C+++4DcNwDt9xyC+XKlWP9+vUkJyczcuRIV1wGERERlyoRSamHH36Yr776ih9//JFKlSpdsG758uULXGHGzc2N0NDQfPUvZbWY4pK7kkmQzcPRUwojG2tWChbPIKccU/IqaavJlEVqA/OpDcyRu/IY/PtliSX7LGfnl3d5LN79jmFx9y1U3aNHj5KVlcWtt97qGPbVsGFDAJ5//nkeffTRPB+Kr7vuOse/cxNGANWrV+e5557jgQceYObMmQD5rscLL7zAmDFjGDhwIAA1atTgueeeY/To0UyYMIGVK1eybds29u/f73gueOGFF+jSpcslrehmGEa+Y+e60MpjrrpnbDYbvXr1olevXsTHx/PWW2/x9NNP8+STT9K1a1dGjBjBDTfc4JJYJCcplZWVxS233OK4Bxo0aADApEmTePTRR3nkkUcc9Zs1a+b493/vjWrVqjnugfMlpZ5//nnGjBnDgAEDgH/vm9GjRzN+/Hj+7//+77z3gIiISGlialLKMAwefvhhvvzyS1atWkW1atUuuk2LFi1YsmRJnrLvvvuOa6+9tsBvQs0U7OFFuiWVs3YPvK0ZGGnxSkqJiEiJ1KhRIzp06ECDBg3o3LkznTp14rbbbiMzM5MjR47QoUOH8277ww8/8MILL7B161aSk5PJysoiLS2NM2fO4OubPym2adMmNmzYwPPPP+8oy87OJi0tjdTUVLZt20aVKlXyfFHVokWL4j3hEuTXX39lzpw5LFiwgPDwcAYOHEhcXBw9evTggQce4NVXXzU7xDJB94CIiIjrmZqUevDBB/noo49YvHgx/v7+jh5QgYGBjkk/z10xZtiwYUyfPp2YmBjuvfde1q1bx+zZs1mwYIFp53E+IV4+wEmSDB+8yUlKEXiV2WGJiIirufng3e+YKcctLJvNxooVK1i7di3fffcdb7zxBuPGjWPlypUX3O7AgQN07dqVYcOG8dxzzxESEsJPP/3EkCFD8syr9V92u52JEydyyy235HvPy8urwInMS9vw9+PHj/PBBx8wZ84cdu3aRY8ePfj444/p3Lmz41z79OnDzTffrKSUi+geEBERcT1Tk1K53frbtWuXp3zOnDmOLv3nrhhTrVo1li5dyqhRo3jzzTeJjIzk9ddf59Zbb3VV2IUW5OULGXAKb8qTiHFWE52LiJRFFosFCjmMzkwWi4WWLVvSsmVLnnnmGapWrcqKFSuIiopi5cqVtG/fPt82GzduJCsriylTpjiGvX366acXPM4111zDjh07qFmzZoHv16tXj9jYWI4cOUJkZCSQs/puaVKpUiVq1KjB4MGDGThwIGFhYfnqXHfddXmGiInz6R4QERFxLdOH711MQSvGtG3bls2bNzshouIV5O2fk5T6Z14pJaVERKSk+uWXX1i5ciWdOnUiPDycX375hfj4eOrWrcuECRMYNmwY4eHhdOnShZSUFH7++WcefvhhatSoQVZWFm+88QY9evTg559/ZtasWRc81jPPPEP3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aERERETMoaSUC4S6ewNpnOSfpJR6SomIiJRpI0eOzPM6MzOTLVu2sHz5ch5//HFzghIRERFxMSWlXCDc2x84xQmrekqJiIgIPPLIIwWWv/nmm2zcuNHF0YiIiIiYQ3NKuUD5gEAA4t1z5pRCPaVERESkAF26dGHhwoVmhyEiIiLiEkpKuUB4YAgAcZ7egIbviYiISME+//xzQkJCzA5DRERExCU0fM8FygWWgziI9fKFtJzhe4ZhXHCCUxERESm9mjRpkuc5wDAMjh49Snx8PDNmzDAxMhERERHXUVLKBcoFhQGwxzcQ0gB7BmQkgWeQqXGJiIiIOW6++eY8r61WK2FhYbRr1446deqYE5SIiIiIiykp5QJh3v4AJHh5kYUvbpzBSDuORUkpERGRMmn8+PFmhyAiIiJiOs0p5QKBbl64ZRsApNlzJj03zh4zMyQREREx0dKlS/n222/zlX/77bcsW7bMhIhEREREXE9JKRewWiwEpuckpc5k5fSaMlLjzAxJRERETDRmzBiys7PzlRuGwZgxY0yISERERMT1lJRykaCMnMlMk7N8ADBS1VNKRESkrNq1axf16tXLV16nTh12795tQkQiIiIirqeklIsEZedM35WY5QWAcfaomeGIiIiIiQIDA9m7d2++8t27d+Pr62tCRCIiIiKup6SUiwTjCcBJe85/jVQlpURERMqqnj17MnLkSPbs2eMo2717N48++ig9e/Y0MTIRERER11FSykVC3LwBOPFPcko9pURERMquV155BV9fX+rUqUO1atWoVq0adevWJTQ0lFdffdXs8ERERERcws3sAMqKcp7+QALHrOopJSIiUtYFBgaydu1aVqxYwe+//463tzcNGzakTZs2ZocmIiIi4jJKSrlIuH8QZEKce06PKeOsJjoXEREpyywWC506daJTp05mhyIiIiJiCg3fc5EKISEAxHr/M3lpRiJG1lkTIxIRERGzjBgxgtdffz1f+fTp0xk5cqTrAxIRERExgZJSLhIZHgbAIS9vjNwhfOotJSIiUiYtXLiQli1b5iuPjo7m888/NyEiEREREddTUspFwvxzekqd9PXAbisHaF4pERGRsiohIYHAwMB85QEBAZw4ceKS9zdjxgyqVauGl5cXTZs2Zc2aNResn56ezrhx46hatSqenp7UqFGD995775KPKyIiInI5TE1K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OxluVlLsgQQCxpnDZoclIiIiLvb2229jt9sBGDZsGCEhIfz000/06NHDMReUiIiISGmnpJQL2WxWQs9kExdo5WSGT05SKvWI2WGJiIiIi527al2fPn3o06ePiRGJiIiIuN4Vv/relSY4Nee/xzNyllVWTykRERERERERKYuUlHKx4DQbAEfS/0lKaU4pERERERERESmDlJRyscDMnGTUIbs7oJ5SIiIiIiIiIlI2FSkp9f777/PNN984Xo8ePZqgoCCio6M5cOBAsQVXGgXbvQDYb3gAYJw9hmHPNDMkERERERERERGXK1JS6oUXXsDb2xuAdevWMX36dF5++WXKlSvHqFGjijXA0ibE5g/AAXdPsLgBBkbqMXODEhERERERERFxsSIlpQ4ePEjNmjUBWLRoEbfddhv33XcfkydPZs2aNcUaYGlTzjMYgJOediw+FQCtwCciIlLWHDt2jHvuuYfIyEjc3Nyw2Wx5fkRERETKAreibOTn50dCQgJVqlThu+++c/SO8vLy4uzZs8UaYGkTHhQO/E2CjwWLeyTGmYNKSomIiJQxAwcOJDY2lqeffpoKFSpgsVjMDklERETE5YqUlOrYsSNDhw6lSZMm7Ny5k27dugHw999/ExUVVZzxlTqRERXhLJz0dgOPf3pKabJzERGRMuWnn35izZo1NG7c2OxQRERERExTpOF7b775Ji1atCA+Pp6FCxcSGhoKwKZNm7jzzjuLNcDSpkrFCljtBnarhbPkzC9lpMaZHJWIiIi4UuXKlTEMw+wwRERERExVpJ5SQUFBTJ8+PV/5xIkTLzug0i44xIPg1CwS/NxJzPQiAjBS1VNKRESkLJk2bRpjxozhrbfeUi9zERERKbOKlJRavnw5fn5+tGrVCsjpOfXOO+9Qr1493nzzTYKDg4s1yNLEz99K0BlI8IO4M+45SakzmlNKRESktAsODs4zd9SZM2eoUaMGPj4+uLu756l78uRJV4cnIiIi4nJFSko9/vjjvPTSSwD8+eefPProo8TExPD9998TExPDnDlzijXI0sRmsxCYmjNq8vBZNxqj1fdERETKgmnTppkdgoiIiEiJUqSk1L59+6hXrx4ACxcupHv37rzwwgts3ryZrl27FmuApVFAmgeQzf6MnCWfjdQjGIahlXdERERKsQEDBpgdgoiIiEiJUqSJzj08PEhNTQXg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Aq1YEgOABPZlncYSVAdiv87pKSUiIiKlTvXq1dmwYQOhoaFUrvzvEIDExESuueYa9u7dW+h9xcTEcM8993DttdfSokUL3n77bWJjYxk2bBhAnoVjrFYr9evXz7N9eHg4Xl5e+cpFREREnE1JqRIgtJyV04lhQAL7bZlYAxsCYE/cbm5gIiIi4hT79+8nOzv/vBrp6ekcPnz4kvbVt29fEhISePbZZ4mLi6N+/fosXbqUqlVzJno9d+EYERERkZJCSakSILScjd37KgHb2e9rw+JbHQB7onpKiYiIlCZfffWV49/ffvstgYGBjtfZ2dmsXLmSqKioS97v8OHDGT58eIHvFbRwzH9NmDCBCRMmXPIxRURERC6XklIlQLlyNowt5QE44etBymkvPADS4jHST2LxDDE1PhERESkeN998M5CzWt6AAQPyvOfu7k5UVBRTpkwxITIRERER11NSqgQILWfDLcOLoLPZJHrb2HPkMPV8K2GcOYQ9cQe2iBZmhygiIiLFwG63A1CtWjU2bNhAuXLlTI5IRERExDxX9hqDpURoWM4KfOVTcv67J25/zmTngKF5pUREREqdffv2KSElIiIiZZ6SUiVAaLmcZJR/Us5yvnuTjmINrA2AXSvwiYiIlDojRozg9ddfz1c+ffp0Ro4c6fqAREREREygpFQJUO6fpJTlZM43pvsyU7AG/ZOU0mTnIiIipc7ChQtp2bJlvvLo6Gg+//xzEyISERERcT0lpUqAkHI5zXA2viIAe3ytYM35t3Hqb9PiEhEREedISEjIs/JeroCAAE6cOGFCRCIiIiKup6RUCeDtbcXH14LniQgAdpTzJTveA7BgpB7BSD1mboAiIiJSrGrWrMny5cvzlS9btozq1aubEJGIiIiI62n1vRKiXDkbpw8G4W6H055uHNi3j8qBtTCSdmBP2ILN5yazQxQREZFiEhMTw0MPPUR8fDw33HADACtXrmTKlClMmzbN3OBEREREXERJqRIitJyN2ANWqqZ5stsnnT+P76Nq02vIzk1KVVZSSkREpLQYPHgw6enpPP/88zz33HMAREVFMXPmTPr3729ydCIiIiKuoeF7JURoWM5k5xUyciY733r2JNbQxgDYT2wxKywRERFxkgceeIBDhw5x7NgxkpOT2bt3rxJSIiIiUqYoKVVChP4z2bn/2coAbPW3YbFVA8Ce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nqFDh3LPPfewbNkyli1bxllnncUll1wiX1aOcPu6VxVHnvfee69bfy9YsACAL37xi4PcMnGwHIzvQ6IPtDhoTjrpJD137txuy4455hj93e9+d5BadOS4/fbb9eTJk3td5ziOLioq0vfcc09qWTQa1ZmZmfrBBx/UWmvd3NysPR6Pfuqpp1JlduzYoQ3D0C+++GK/tv1IAOhnn3029flgnfM1a9ZoQC9dujRVZsmSJRrQ69at6+ejOrzs2Qdaa33llVfqSy65ZK/bSB8cXLW1tRrQixYt0lrLdTAY9uwDreU6EIeP7Oxs/dBDDw12M0Q/2de9qjg6fOtb39IjR47UjuMMdlNEPziQ70OibyRT6iCJx+MsX76cmTNndls+c+ZMFi9ePEitOrJs2LCBkpISysvL+fKXv8zmzZsB2LJlC9XV1d3Ovc/n4/TTT0+d++XLl5NIJLqVKSkpYcKECdI/B+BgnfMlS5aQmZnJtGnTUmVOPvlkMjMzpV/6aOHChRQUFDBmzBi+/vWvU1tbm1onfXBwtbS0AJCTkwPIdTAY9uyDLnIdiEOZbds89dRTdHR0MH369MFujuhHe7tXFUe+eDzOE088wZw5c1BKDXZzxADoy32g6BsJSh0k9fX12LZNYWFht+WFhYVUV1cPUquOHNOmTeOPf/wjL730En/4wx+orq5mxowZNDQ0pM7vvs59dXU1Xq+X7OzsvZYRfXewznl1dTUFBQU96i8oKJB+6YPzzz+fP//5z7z22mv84he/4L333uOss84iFosB0gcHk9aaefPmccoppzBhwgRAroOB1lsfgFwH4tC1atUq0tPT8fl8zJ07l2effZZjjz12sJsl+sm+7lXFke+5556jubmZq666arCbIgZIX+4DRd9Yg92AI82ekXGttUTLD4Lzzz8/9X7ixIlMnz6dkSNH8vjjj6cmtD2Qcy/98+kcjHPeW3npl76ZPXt26v2ECROYOnUqZWVl/Pvf/+bSSy/d63bSB5/c9ddfz4cffshbb73VY51cBwNjb30g14E4VI0dO5aVK1fS3NzM3//+d6688koWLVokgakj1L7uVefNmzeILRMD4eGHH+b888+npKRksJsiBph8///0JFPqIMnLy8M0zR5R0dra2h7RU/HppaWlMXHiRDZs2JB6ssm+zn1RURHxeJympqa9lhF9d7DOeVFRETU1NT3qr6urk345AMXFxZSVlbFhwwZA+uBg+eY3v8k///lPXn/9dYYOHZpaLtfBwNlbH/RGrgNxqPB6vYwaNYqpU6dy9913M3nyZH71q18NdrPEANn9XlUc2bZt28Yrr7zCNddcM9hNEQOoL/eBom8kKHWQeL1epkyZknrqQpcFCxYwY8aMQWrVkSsWi7F27VqKi4spLy+nqKio27mPx+MsWrQode6nTJmCx+PpVqaqqoqPPvpI+ucAHKxzPn36dFpaWnj33XdTZd555x1aWlqkXw5AQ0MDlZWVFBcXA9IHn5bWmuuvv55nnnmG1157jfLy8m7r5Trof/vrg97IdSAOVVrr1LBSceTb/V5VHNkeffRRCgoKuPDCCwe7KWIA9eU+UPTRAE+sfkR76qmntMfj0Q8//LBes2aNvuGGG3RaWpreunXrYDftsHfTTTfphQsX6s2bN+ulS5fqiy66SIdCodS5veeee3RmZqZ+5pln9KpVq/RXvvIVXVxcrFtbW1N1zJ07Vw8dOlS/8sor+v3339dnnXWWnjx5sk4mk4N1WIe0trY2vWLFCr1ixQoN6HvvvVevWLFCb9u2TWt98M75rFmz9KRJk/SSJUv0kiVL9MSJE/VFF1004Md7KNpXH7S1tembbrpJL168WG/ZskW//vrrevr06XrIkCHSBwfJf/3Xf+nMzEy9cOFCXVVVlXqFw+FUGbkO+tf++kCuA3GouvXWW/Ubb7yht2zZoj/88EP9ve99TxuGoV9++eXBbproJ/u7VxVHJtu2dWlpqf7Od74z2E0R/eBgfB8S+ydBqYPs/vvv12VlZdrr9eoTTjih22OrxYGbPXu2Li4u1h6PR5eUlOhLL71Ur169OrXecRx9++2366KiIu3z+fRpp52mV61a1a2OSCSir7/+ep2Tk6MDgYC+6KKLdEVFxUAfymHj9ddf10CP15VXXqm1PnjnvKGhQV9++eU6FArpUCikL7/8ct3U1DRAR3lo21cfhMNhPXPmTJ2fn689Ho8uLS3VV155ZY/zK31w4Ho794B+9NFHU2XkOuhf++sDuQ7EoWrOnDmp+8H8/Hx99tlnS0DqCLe/e1VxZHrppZc0oNevXz/YTRH94GB8HxL7p7TWegASsoQQQgghhBBCCCGESJE5pYQQQgghhBBCCCHEgJOglBBCCCGEEEIIIYQYcBKUEkIIIYQQQgghhBADToJSQgghhBBCCCGEEGLASVBKCCGEEEIIIYQQQgw4CUoJIYQQQgghhBBCiAEnQSkhhBBCCCGEEEIIMeAkKCWEEEIIIYQQQgghBpwEpYQQQgghhBDiEHbGGWdwww03DHYz9uqqq67ic5/73GA3A4CtW7eilGLlypWD3RQhRB9Yg90AIYQYKFdddRXNzc0899xzg90UIYQQQog+e+aZZ/B4PAO+3zvuuIPnnnvukA3wyL2dEIc/CUoJIYQQQgghxCEsJydnsJsghBD9QobvCSGOOH/729+YOHEigUCA3NxczjnnHG655RYef/xx/vGPf6CUQinFwoULAdixYwezZ88mOzub3NxcLrnkErZu3Zqqrysl/c4776SgoICMjAy+8Y1vEI/HB+cAhRBCCHFU2XP43vDhw/nJT37CnDlzCIVClJaW8r//+7+p9V1D2J566ilmzJiB3+9n/PjxqXsfgMcee4ysrKxu+3nuuedQSqXW33nnnXzwwQepe6fHHnusT+3VWvOzn/2MESNGEAgEmDx5Mn/7299S6xcuXIhSildffZWpU6cSDAaZMWMG69ev71bPXXfdRUFBAaFQiGuuuYbvfve7HHfccYCbxbW3ezuAzZs3c+aZZxIMBpk8eTJLlizpU9uFEANLglJCiCNKVVUVX/nKV5gzZw5r165l4cKFXHrppdx+++186UtfYtasWVRVVVFVVcWMGTMIh8OceeaZpKen88Ybb/DWW2+Rnp7OrFmzugWdXn31VdauXcvrr7/Ok08+ybPPPsudd945iEcqhBBCiKPZL37xC6ZOncqKFSu49tpr+a//+i/WrVvXrcwtt9zCTTfdxIoVK5gxYwYXX3wxDQ0Nfap/9uzZ3HTTTYwfPz517zR79uw+bfv973+fRx99lAceeIDVq1dz44038p//+Z8sWrSoW7nbbruNX/ziFyxbtgzLspgzZ05q3Z///Gd+/OMf89Of/pTly5dTWlrKAw88kFp/880393pvt3vdN998MytXrmTMmDF85StfIZlM9qn9QoiBI8P3hBBHlKqqKpLJJJdeeillZWUATJw4EYBAIEAsFqOoqChV/oknnsAwDB566KHU/xl89NFHycrKYuHChcycORMAr9fLI488QjAYZPz48fzwhz/klltu4Uc/+hGGIfF9IYQQQgysCy64gGuvvRaA73znO/zyl79k4cKFHHPMMaky119/PZdddhkADzzwAC+++CIPP/ww3/72t/dbfyAQID09Hcuyut077U9HRwf33nsvr732GtOnTwdgxIgRvPXWW/z+97/n9NNPT5X98Y9/nPr83e9+lwsvvJBoNIrf7+c3v/kNV199NV/72tcA+MEPfsDLL79Me3s7AOnp6b3e23W5+eabufDCCwG48847GT9+PBs3bux2foQQg0++SQkhjiiTJ0/m7LPPZuLEiXzxi1/kD3/4A01NTXstv3z5cjZu3EgoFCI9PZ309HRycnKIRqNs2rSpW73BYDD1efr06bS3t1NZWdmvxyOEEEII0ZtJkyal3iulKCoqora2tluZrqAQgGVZTJ06lbVr1/Zru9asWUM0GuXcc89N3Vulp6fzxz/+sdu91Z7HUFxcDJA6hvXr13PSSSd1K7/n533ZV91CiEOHZEoJIY4opmmyYMECFi9ezMsvv8xvfvMbbrvtNt55551eyzuOw5QpU/jzn//cY11+fv5+99eVXSWEEEIIMZD2fBqfUgrHcfa7Xde9i2EYaK27rUskEp+6XV1t+Pe//82QIUO6rfP5fN0+734MXe3a/Rj2vM/as737sr+6hRCHBsmUEkIccZRSfOYzn+HOO+9kxYoVeL1enn32WbxeL7Ztdyt7wgknsGHDBgoKChg1alS3V2ZmZqrcBx98QCQSSX1eunQp6enpDB06dMCOSwghhBDik1i6dGnqfTKZZPny5anha/n5+bS1tdHR0ZEqs3Llym7b93bvtD/HHnssPp+PioqKHvdWw4YN63M9Y8eO5d133+22bNmyZZ+6fUKIQ4sEpYQQR5R33nmHn/zkJyxbtoyKigqeeeYZ6urqGDduHMOHD+fDDz9k/fr11NfXk0gkuPzyy8nLy+OSSy7hzTffZMuWLSxatIhvfetbbN++PVVvPB7n6quvZs2aNbzwwgvcfvvtXH/99TKflBBCCCEOWffffz/PPvss69at47rrrqOpqSk1mfi0adMIBoN873vfY+PGjfzlL3/p8XS94cOHs2XLFlauXEl9fT2xWGy/+wyFQtx8883ceOONPP7442zatIkVK1Zw//338/jjj/e57d/85jd5+OGHefzxx9mwYQN33XUXH374Ybfsqd7u7YQQhxf5NiWEOKJkZGTwxhtvcMEFFzBmzBi+//3v84tf/ILzzz+fr3/964wdO5apU6eSn5/P22+/TTAY5I033qC0tJRLL72UcePGMWfOHCKRCBkZGal6zz77bEaPHs1pp53Gl770JT772c9yxx13DN6BCiGEEELsxz333MNPf/pTJk+ezJtvvsk//vEP8vLyAMjJyeGJJ55g/vz5TJw4kSeffLLHvc1ll13GrFmzOPPMM8nPz+fJJ5/s035/9KMf8YMf/IC7776bcePGcd555/H8889TXl7e57Zffvnl3Hrrrdx8882ccMIJbNmyhauuugq/358q09u9nRDi8KL0JxmYK4QQR6GrrrqK5uZmnnvuucFuihBCCCHEfm3dupXy8nJWrFjBcccdN9jNOWjOPfdcioqK+NOf/jTYTRFCHCQy0bkQQgghhBBCiENKOBzmwQcf5LzzzsM0TZ588kleeeUVFixYMNhNE0IcRBKUEkIIIYQQQghxSFFKMX/+fO666y5isRhjx47l73//O+ecc85gN00IcRDJ8D0hhBBCCCGEEEIIMeBkonMhhBBCCCGEEEIIMeAkKCWEEEIIIYQQQgghBpwEpYQQQgghhBBCCCHEgJOglBBCCCGEEEIIIYQYcBKUEkIIIYQQQgghhBADToJSQgghhBBCCCGEEGLASVBKCCGEEEIIIYQQQgw4CUoJIYQQQgghhBBCiAEnQSkhhBBCCCGEEEIIMeD+f5WMPn/8yA01AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1200x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))\n",
    "colors = {'additive': '#4f46e5', 'dot': '#ef4444', 'general': '#10b981', 'scaled': '#f59e0b'}\n",
    "for k, losses in all_losses.items():\n",
    "    smooth = np.convolve(losses, np.ones(50)/50, mode='valid')\n",
    "    ax1.plot(smooth, label=k, color=colors[k])\n",
    "ax1.set(xlabel='step', ylabel='loss', title='Training loss (smoothed)')\n",
    "ax1.legend(); ax1.grid(alpha=0.3)\n",
    "\n",
    "lengths = [3, 5, 7, 10]\n",
    "x = np.arange(len(lengths))\n",
    "width = 0.2\n",
    "for i, (k, accs) in enumerate(results.items()):\n",
    "    ax2.bar(x + i*width - 1.5*width, [accs[L] for L in lengths], width=width, label=k, color=colors[k])\n",
    "ax2.set_xticks(x); ax2.set_xticklabels(lengths)\n",
    "ax2.set(xlabel='input length', ylabel='exact-match accuracy', title='Accuracy by input length')\n",
    "ax2.legend(); ax2.grid(alpha=0.3, axis='y')\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "19256001",
   "metadata": {},
   "source": [
    "On this small task three of the four variants train well, but one struggles. Reading the bars:\n",
    "\n",
    "- **Additive** achieves ~99% accuracy across all input lengths — the strongest performer here.\n",
    "- **Dot product** and **general** track each other closely (~41–89%) — both work, both are imperfect.\n",
    "- **Scaled dot product**, surprisingly, performs *worst* (~12–39%) and *degrades* with input length.\n",
    "\n",
    "**Why does scaling hurt here?** The variance argument of Section 38.3 assumes $Q, K$ have approximately unit-variance components. With $d_\\text{model}=64$ and the small random initialisation we use, the raw $QK^\\top$ scores are *already* in a useful range — dividing by $\\sqrt{d_k}$ then *over-flattens* the softmax, leaving gradients too uniform to differentiate keys.\n",
    "\n",
    "**This is the right pedagogical lesson, not an embarrassment for the formula.** Scaling is essential at the dimensions where the original variance argument actually bites:\n",
    "\n",
    "- Vaswani 2017: $d_\\text{model} = 512$, $d_k = 64$.\n",
    "- BERT-base: $d_\\text{model} = 768$, $d_k = 64$.\n",
    "- GPT-3 / Llama / Claude: $d_\\text{model}$ in the thousands.\n",
    "\n",
    "At those scales, *unscaled* dot product would saturate the softmax into one-hot vectors and the model would not train at all (you saw exactly this collapse in the cell 18 sweep). At our toy $d_k$, the scaling is a \"fix\" looking for a problem, and dot product wins the race.\n",
    "\n",
    "The big practical win for **dot product** in either form is *speed*: it is a single matrix multiplication (which GPUs eat for breakfast), whereas additive attention requires a separate per-step MLP pass. In the regime where modern Transformers actually live ($d_k \\geq 64$ with full Xavier/LeCun initialisation and large $T$), the unscaled variant explodes — so the field uses scaled dot product universally. The toy-task ranking above does not contradict that practice; it simply shows the variance argument depends on $d_k$ being big enough to *need* it."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a4c0_1b555e",
   "metadata": {},
   "source": [
    "```{admonition} What wins in practice today\n",
    ":class: tip\n",
    "Every widely deployed Transformer in 2024 — GPT-4, Llama 3, Claude 3, Gemini, Mistral, DeepSeek, Qwen — uses **scaled dot-product attention** as its core score function. Variations (multi-head, multi-query, grouped-query, sliding-window, FlashAttention) all *reuse the same scaled dot-product primitive* underneath; they only change which queries attend to which keys, or how the matmul is tiled in GPU memory. Additive attention has effectively disappeared from production NMT and language modelling.\n",
    "\n",
    "The one place additive attention persists is **specialised structured-prediction tasks** where $d_s$ and $d_h$ have different sizes that you do not want to project — for instance, attention over learned tree node embeddings of varying dimensionality, or in older pointer-network-based parsers. For everything else, scaled dot is the answer, and the rest of the course assumes this.\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a3c0_6acc28",
   "metadata": {},
   "source": [
    "### A complexity ledger for the four variants\n",
    "\n",
    "The table below collects the resource costs that determine *which variant wins on a real GPU*. Symbols: $B$ = batch size, $T$ = number of keys, $d$ = hidden dimension (assume $d_s = d_h = d_k = d$ for simplicity).\n",
    "\n",
    "| Variant            | Parameters per layer | FLOPs per query (sequential) | FLOPs as one matmul (batched) | Memory of intermediates | GPU-friendly? |\n",
    "|--------------------|----------------------|------------------------------|-------------------------------|-------------------------|---------------|\n",
    "| Additive (Bahdanau)| $d \\cdot 2d + d = 2d^2 + d$ | $T \\cdot (2d \\cdot d + d) = T(2d^2 + d)$ | hard — needs `tanh` per pair | $O(BTd)$ for $\\tanh$ activations | poor: per-pair MLP, no clean matmul |\n",
    "| Dot product        | $0$                 | $T \\cdot d$                   | $S K^\\top$: one $(B, 1, d) \\times (B, d, T)$ bmm | $O(BT)$ scores | excellent |\n",
    "| Multiplicative     | $d^2$               | $d^2 + Td$                    | one $S W_g$ matmul, then bmm | $O(BT + Bd)$ | excellent |\n",
    "| Scaled dot product | $0$                 | $T \\cdot d + T$               | same as dot, plus elementwise scalar | $O(BT)$ | excellent |\n",
    "\n",
    "Two lessons:\n",
    "\n",
    "1. **Additive attention is the only one that does not collapse to a single matmul.** Every other variant is a `bmm` (batched matrix multiply), which is what GPUs are built to do at peak FLOPs.\n",
    "2. **Dot and scaled-dot are identical in cost** — the scaling is one elementwise division, free relative to the matmul. So *there is no reason ever to use unscaled dot product over scaled dot product*; you only pay in numerical stability.\n",
    "\n",
    "The cell below confirms parameter counts on the actual `Reverser` modules from Section 38.6."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "aud38a3c1_f44894",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:02.585380Z",
     "iopub.status.busy": "2026-04-30T15:38:02.585267Z",
     "iopub.status.idle": "2026-04-30T15:38:02.590560Z",
     "shell.execute_reply": "2026-04-30T15:38:02.590299Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "additive   total params =  63773   attention-specific =  8256\n",
      "dot        total params =  55517   attention-specific =     0\n",
      "general    total params =  59613   attention-specific =  4096\n",
      "scaled     total params =  55517   attention-specific =     0\n"
     ]
    }
   ],
   "source": [
    "def count_attn_params(model):\n",
    "    n = 0\n",
    "    for name, p in model.named_parameters():\n",
    "        if any(tag in name for tag in ('W_a', 'v_a', 'W_g')):\n",
    "            n += p.numel()\n",
    "    return n\n",
    "\n",
    "for kind in ['additive', 'dot', 'general', 'scaled']:\n",
    "    m = Reverser(VOCAB_SIZE, kind=kind, hid=64)\n",
    "    total = sum(p.numel() for p in m.parameters())\n",
    "    attn  = count_attn_params(m)\n",
    "    print(f'{kind:9s}  total params = {total:6d}   attention-specific = {attn:5d}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6b1bde80",
   "metadata": {},
   "source": [
    "## 38.7 Global vs. Local Attention\n",
    "\n",
    "A practical concern Luong et al. (2015) raised: at very long sequences (think paragraphs, not strings), attending over *every* encoder position becomes wasteful. They proposed **local attention** that picks a small window around an aligned position.\n",
    "\n",
    "Two variants are used in practice:\n",
    "\n",
    "1. **Monotonic local-m**: predict an alignment position $p_t$ and attend over $[p_t - D,\\, p_t + D]$.\n",
    "2. **Predictive local-p**: $p_t = T \\cdot \\sigma(v_p^\\top \\tanh(W_p s_t))$ — a learned position.\n",
    "\n",
    "Local attention is rarely used in pure Transformers (which use efficient $O(T^2)$ matmuls), but it returns under names like *sliding window attention* in long-context models such as Longformer (Beltagy et al. 2020) and Mistral 7B (2023)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a5c0_26030a",
   "metadata": {},
   "source": [
    "### Visualising attention masks: global, local-m, local-p\n",
    "\n",
    "The difference between attention variants is fundamentally a difference in *which (query, key) pairs are allowed to interact*. We can read this off a $T_{\\text{tgt}} \\times T_{\\text{src}}$ binary mask. Below: white = allowed, black = forbidden."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "aud38a5c1_300ef7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:02.592262Z",
     "iopub.status.busy": "2026-04-30T15:38:02.592176Z",
     "iopub.status.idle": "2026-04-30T15:38:02.776691Z",
     "shell.execute_reply": "2026-04-30T15:38:02.776366Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABEIAAAFyCAYAAADxgH9zAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABXpklEQVR4nO3dd3gU9fr+8XtJB0IgoYYapYOEHyJNugIicFQsCApIUUQsgAjiOXQEQUU5KiIcBBGxUkSxcQApUqRaAFGkRYoUJaGGlM/vD77Zw5K22Wyys5n367rm0p2dnXl2Mnvv8OwUhzHGCAAAAAAAwAYK+boAAAAAAACA/EIjBAAAAAAA2AaNEAAAAAAAYBs0QgAAAAAAgG3QCAEAAAAAALZBIwQAAAAAANgGjRAAAAAAAGAbNEIAAAAAAIBt0AgBAAAAAAC2QSMEAAAAAADYBo0QAAAAAABgGwWyEfLjjz+qX79+uv766xUWFqawsDBVq1ZNAwYM0NatW12mHTt2rBwOh0fLad26terWreuNkl3m2bp1a7emTUpKUs2aNfXCCy84x82bN08Oh8NlKFWqlFq3bq3PP//c47qqVKmizp07e/z6tLoOHjzo8TysaOjQoYqNjfV1GRnKaNvOaPtyOBwaO3Zs/hXmZQ899JCqVKni1Xnm5HOYEU/X6e7duzV27NgMPyc9e/bUnXfe6XFNyJ20DLv2O8TXrJKt48ePV+3atZWamurTOrxlw4YNGjt2rM6cOZPny8qvv+EXX3zhsm8QGBioqKgotWzZUtOnT1diYmKeLn/nzp3q1KmTKlWqpLCwMEVGRqpp06ZasGBBumnnzJmj8uXL6/z583laEwo+svt/rJrTGe2verJ+ssptq3xXpvF1HkvuZ3JBzuMC1wh56623dOONN2rz5s166qmn9Pnnn2v58uUaPHiwdu3apZtuukm///67r8v0ihkzZujvv//WE088ke65uXPnauPGjdqwYYNmzZqlgIAAdenSRZ999pkPKi24Fi9erLvvvtvXZWSof//+2rhxo6/LQA7s3r1b48aNy/CLeuzYsVq+fLlWrVqV/4UBWTh69KimTp2q8ePHq1ChgrFbsWHDBo0bNy5fGiGdOnXSxo0bVa5cuTxdzvbt2yVd+d7auHGjvv32W82aNUu1atXSsGHD1KRJkzx9v2fOnFHFihU1adIkffHFF5o/f76qVKminj17auLEiS7T9u7dW0WKFNHUqVPzrB7ATvwtpz3JxaxyO79y1l2+zmPJ/UwuyHkc6OsCvOm7777TY489pk6dOumTTz5RcHCw87m2bdtq0KBB+vjjjxUWFubDKr0jOTlZL774ovr27asiRYqke75u3bpq2LCh8/Ftt92mEiVK6P3331eXLl3ys9QCa8uWLTp06JBlGyEVKlRQhQoVfF0GvOT666/XbbfdphdeeEFt27b1dTmA0/Tp01W8eHF17drV16X4pVKlSqlUqVJ5vpzt27eraNGiuvPOO11+fb377rvVrFkzPfTQQxo9erT+/e9/58nyMzrSrnPnzjpw4IBmzZqlf/3rX87xgYGBGjBggCZMmKARI0aocOHCeVITYBd5kdMXLlzIs8+mt3Mxv3LWXb7OY8n9TC7IeWz9lmAOTJo0SQEBAXrrrbdcmiBXu/feexUdHZ3lfFJTUzV16lTVrFlTISEhKl26tHr16qU//vgjw+nXrVunJk2aKCwsTOXLl9eoUaOUkpLiMs24cePUuHFjRUZGqlixYmrQoIHmzJkjY4xH73XZsmU6cuSIevbs6db0oaGhCg4OVlBQUK7q+uqrr9SgQQOFhYWpZs2aevvtt9NNs2nTJt18880KDQ1VdHS0Ro4cqaSkpHTTffjhh2rfvr3KlSunsLAw1apVS88++2y6Q68eeughFS1aVPv27dPtt9+uokWLqmLFinr66afTHTrm7vvJ7NSFKlWq6KGHHsrwvV9r0aJFqlGjhurUqZPh8ydPnlRwcLBGjRqV7rlffvlFDofDGXAnT57UY489ptq1a6to0aIqXbq02rZtq3Xr1rm87uDBg3I4HHrppZc0bdo0xcTEqGjRomratKk2bdrkMq2np325W0tmVq1apdatWysqKkphYWGqVKmS7r77bl24cME5TWJiosaPH69atWopNDRUUVFRatOmjTZs2OCc5o033lDLli1VunRpFSlSRDfccIOmTp2a4bZ0LWOMZsyYofr16yssLEwlSpTQPffco/3796ebburUqapcubJCQ0PVoEEDffnll26uKSkhIUEPP/ywoqKiVLRoUd1222369ddfM5x2/fr1uuWWWxQeHq7ChQurWbNmWr58ufP5efPm6d5775UktWnTxnm45Lx585zT9OzZU//9738LzFFtBVF2f+c0v/zyi7p3764yZcooJCRElSpVUq9evZyZtm/fPvXp00fVqlVT4cKFVb58eXXp0kU//fSTx7WlZcKPP/6oe++9VxEREYqMjNTQoUOVnJysvXv36rbbblN4eLiqVKni1q8/ly9f1pw5c9SjR490vzJ6Y3nurM+05ezatUvdu3dXRESEypQpo759+yo+Pj7H8xw7dqyeeeYZSVJMTIzzs/jtt9/mSV2ZHbKd3TaSU9u2bVP9+vUz/F7o3bu3KlSooEWLFnk079woWbKkAgPT/y73wAMPKCEhQR988EG+1wT78Yfs3rFjh7p27apixYopIiJCDz74oE6ePJnt6zPL6ZzMN23a7du365577lGJEiV0/fXXO5//7bff1KNHD5UuXVohISGqVauW3njjjXS1LF++XPXr11dISIhiYmL00ksvZVhzRrmY1brPLrevnd/SpUvlcDi0cuXKdMt+8803nd9dOXlvOWHVPJYyzuSCmscFphGSkpKi1atXq2HDhrk+7GngwIEaMWKE2rVrp2XLlmnChAn66quv1KxZM506dcpl2uPHj+v+++/XAw88oE8//VT33HOPJk6cqKeeespluoMHD2rAgAH66KOPtHjxYnXt2lVPPPGEJkyY4FGNy5cvV+nSpVW7du0Mn09JSVFycrKSkpL0xx9/aPDgwTp//rx69OjhcV0//PCDnn76aQ0ZMkSffvqp6tWrp379+mnt2rXOaXbv3q1bbrlFZ86c0bx58zRz5kzt2LEj3WGv0pVguf322zVnzhx99dVXGjx4sD766KMMj1hJSkrSP/7xD91yyy369NNP1bdvX73yyiuaMmWKx+8ntxYtWpTl0SClSpVS586d9c4776Q7H3Pu3LkKDg7WAw88IEn666+/JEljxozR8uXLNXfuXF133XVq3bq1y853mjfeeEMrVqzQq6++qvfee0/nz5/X7bffnuFOf07ltJarHTx4UJ06dVJwcLDefvttffXVV3rhhRdUpEgRXb58WdKVo5k6duyoCRMmqHPnzlqyZInmzZunZs2a6fDhw855/f777+rRo4feffddff755+rXr59efPFFDRgwINv3MGDAAA0ePFi33nqrli5dqhkzZmjXrl1q1qyZ/vzzT+d048aNc37Wly5dqoEDB+rhhx/W3r17s12GMUZ33nmn3n33XT399NNasmSJmjRpoo4dO6abds2aNWrbtq3i4+M1Z84cvf/++woPD1eXLl304YcfSrpy2OakSZMkXfn7bty4URs3blSnTp2c82ndurWMMfriiy+yrQ/5z52/s3QlS2+66SZt2rRJ48eP15dffqnJkycrMTHR+Tk5evSooqKi9MILL+irr77SG2+8ocDAQDVu3Nit7TMr9913n2JjY7Vo0SI9/PDDeuWVVzRkyBDdeeed6tSpk5YsWaK2bdtqxIgRWrx4cZbz2rx5s06fPq02bdp4fXnurs80d999t6pXr65Fixbp2Wef1cKFCzVkyBCXadyZZ//+/Z2nnKYdtrxx40Y1aNAgz+q6ljvbSE6cPn1ahw8f1v/7f/8v02mqV6+uY8eOZXj9AGOMkpOT3Rqyk5qaquTkZJ08eVIzZszQ119/rREjRqSbrmzZsqpZs2aG/xgFvMlfsvuuu+5S1apV9cknn2js2LFaunSpOnTokO0PRNnldE7m27VrV1WtWlUff/yxZs6cKenKvv9NN92kn3/+WS+//LI+//xzderUSU8++aTGjRvnfO3KlSt1xx13KDw8XB988IFefPFFffTRR5o7d2627z27dZ9dbl+rc+fOKl26dIbLnjdvnho0aKB69eq5/d5ywkp5LLmXyQU2j00Bcfz4cSPJ3H///emeS05ONklJSc4hNTXV+dyYMWPM1athz549RpJ57LHHXOaxefNmI8k899xzznGtWrUyksynn37qMu3DDz9sChUqZA4dOpRhrSkpKSYpKcmMHz/eREVFudTTqlUr06pVq2zfb61atcxtt92WbvzcuXONpHRDSEiImTFjRpbzzKquypUrm9DQUJf3dPHiRRMZGWkGDBjgHNetWzcTFhZmjh8/7hyXnJxsatasaSSZAwcOZLjs1NRUk5SUZNasWWMkmR9++MH5XO/evY0k89FHH7m85vbbbzc1atTw6P1IMmPGjEn3msqVK5vevXtnOs80O3fuNJLMtm3bspxu2bJlRpL55ptvnOOSk5NNdHS0ufvuuzN9Xdo2e8stt5i77rrLOf7AgQNGkrnhhhtMcnKyc/z3339vJJn333/fOe7abduYjLevzNZFdrVk5JNPPjGSzM6dOzOdZv78+UaSmT17dpbzulra33L+/PkmICDA/PXXX87nevfubSpXrux8vHHjRiPJvPzyyy7ziIuLM2FhYWb48OHGGGP+/vtvExoamu49fffdd0ZStp/DL7/80kgy06dPdxn//PPPp1unTZo0MaVLlzZnz551jktOTjZ169Y1FSpUcG6bH3/8sZFkVq9enelyy5cvb7p165ZlbfC+tGzdsmVLptO4+3du27atKV68uDlx4oTby09OTjaXL1821apVM0OGDElXV2bZerW0TLj2s1G/fn0jySxevNg5LikpyZQqVcp07do1y3lOmTLFSHLJfG8tz931mbacqVOnuiznscceM6GhoS7Z7+48X3zxxUzXq7fryuhv6Mk2kpVvvvnGSDJvv/12ptPcfPPNpkiRIhk+t3r16gz3LTIastsWBwwY4Jw2ODg4y32TBx54wJQpU8at9whkpCBl99WvN8aY9957z0gyCxYsyPL1meV0TuabNu3o0aPTzb9Dhw6mQoUKJj4+3mX8448/bkJDQ537bI0bNzbR0dHm4sWLzmkSEhJMZGRkuv3Va9ePO+s+q9zOaH0PHTrUhIWFmTNnzjjH7d6920gyr732Wo7eW05YKY+NcT+TC2IeF5gjQrJy4403KigoyDm8/PLLmU67evVqSUp3ekSjRo1Uq1atdIdQhYeH6x//+IfLuB49eig1NdXlSIlVq1bp1ltvVUREhAICAhQUFKTRo0fr9OnTOnHiRI7f09GjR1W6dOlMn58/f762bNmiLVu26Msvv1Tv3r01aNAgvf766y7T5aSu+vXrq1KlSs7HoaGhql69ug4dOuQct3r1at1yyy0qU6aMc1xAQIC6deuWrsb9+/erR48eKlu2rHPZrVq1kiTt2bPHZVqHw5HuSJF69eq5LDun7yc3Fi1apCpVqmTaaU7TsWNHlS1b1qXj/PXXX+vo0aPq27evy7QzZ85UgwYNFBoaqsDAQAUFBWnlypXp1oV05eiBgIAA5+N69epJUrr14amc1HK1+vXrKzg4WI888ojeeeeddKeiSNKXX36p0NDQdO//Wjt27NA//vEPRUVFOf+WvXr1UkpKSqann0jS559/LofDoQcffNClK162bFnFxsY6j2rZuHGjLl265DwqJ02zZs1UuXLlLGuT/pcV177+2qOuzp8/r82bN+uee+5R0aJFneMDAgLUs2dP/fHHHzn6lah06dI6cuSI29Mjf7j7d75w4YLWrFmj++67L8vzlZOTkzVp0iTVrl1bwcHBCgwMVHBwsH777bdsP4fX/iJkrjk1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2LDBrVOM0r6Ern39woULXR4XKVJEjRs31uLFi11+DUpNTdWCBQtUoUIFVa9e3eX9ZvarUXJysuLi4jK9SDJ8x92/c1hYmFq1aqWPP/44y1+SMvocLl++PNvTooKDg9Nt8+Hh4bl7c1moWbOmJHn9TkY5+dzkxTwz+yzmRV3XcncbcVd8fLz279+f4YX5kpKSNHDgQH3zzTd65ZVXMv1l1tuHYl9t9erVKlSokPNovavt37+fvEOe8qfsvnZ/46OPPlJycnK6W6BeK7uc9nS+0pUjttu0aaMdO3aoXr16Ge53RUVFqUiRImrUqJEWL17scjT32bNn9dlnn2W5DHfXvSdHR3fv3l2hoaGaN2+e5s2bp/Lly6t9+/Y5em85YfU8ljLP5IKYxwXmiBBJuvnmm/XGG2/oiSeeUIMGDfTII4+oTp06zk5v2m2IihUrluk8atSooUceeUSvvfaaChUqpI4dO+rgwYMaNWqUKlasmO5K71FRURo4cKAOHz6s6tWr64svvtDs2bM1cOBA52FGnTp10rRp09SjRw898sgjOn36tF566aUMf612V+vWrTV+/PhM7+H9888/O8/hOn36tBYvXqwVK1borrvucnYv86Kuf/3rX1q2bJnatm2r0aNHq3DhwnrjjTfS3RK3WbNmKlGihB599FGNGTNGQUFBeu+99/TDDz94vOycvJ+ePXtq1KhRGj16tFq1aqXdu3fr9ddfV0RERLbL+eSTT9S1a9cc3Zq2b9++GjBggI4ePapmzZql6/J37txZEyZM0JgxY9SqVSvt3btX48ePV0xMTL6fi5ebWmbOnKlVq1apU6dOqlSpki5duuS8xfKtt94q6cqXzty5c/Xoo49q7969atOmjVJTU7V582bVqlVL999/v9q1a6fg4GB1795dw4cP16VLl/Tmm2/q77//zrb+m2++WY888oj69OmjrVu3qmXLlipSpIiOHTum9evX64YbbtDAgQNVokQJDRs2TBMnTlT//v117733Ki4uTmPHjnXr1Jj27durZcuWGj58uM6fP6+GDRvqu+++y7DxNnnyZLVr105t2rTRsGHDFBwcrBkzZujnn3/W+++/79yW6tatK0maNWuWwsPDFRoaqpiYGOcX7Y8//qgLFy64/UsAvG/VqlUZHl14++23u/13njZtmpo3b67GjRvr2WefVdWqVfXnn39q2bJleuuttxQeHq7OnTtr3rx5qlmzpurVq6dt27bpxRdf9PqhwbmVtqO8adMm57WKvMXd9ZkX80xrmE6fPl29e/dWUFCQatSoofDw8Dyp61rubCPSlX90tWrVKss7em3fvl3GGIWHh2vTpk1KTU3V33//ra1bt2revHk6duyYZsyYkeUducLDw11Ot/XEI488omLFiqlRo0YqU6aMTp06pY8//lgffvihnnnmmXRHg6Smpur7779Xv379crVcQCoY2b148WIFBgaqXbt22rVrl0aNGqXY2Fjdd999Wb4uu5z2dL5ppk+frubNm6tFixYaOHCgqlSporNnz2rfvn367LPPtGrVKknShAkTdNttt6ldu3Z6+umnlZKSoilTpqhIkSLZHuXuzrrPKrczU7x4cd11112aN2+ezpw5o2HDhrkcrezue0uTXSZbJY+lnGVygc3jfL88az7YuXOn6dOnj4mJiTEhISEmNDTUVK1a1fTq1cusXLnSZdqM7qyRkpJipkyZYqpXr26CgoJMyZIlzYMPPmji4uJcpmvVqpWpU6eO+fbbb03Dhg1NSEiIKVeunHnuuedMUlKSy7Rvv/22qVGjhgkJCTHXXXedmTx5spkzZ066K/q6e9eYffv2GYfDke5OKhndNSYiIsLUr1/fTJs2zVy6dMmjuipXrmw6deqUro6M6v3uu+9MkyZNTEhIiClbtqx55plnzKxZs9LNc8OGDaZp06amcOHCplSpUqZ///5m+/btRpKZO3euc7revXtneOXkjP527r6fxMREM3z4cFOxYkUTFhZmWrVqZXbu3JntXWP27duX7V09MhIfH2/CwsIyvVtKYmKiGTZsmClfvrwJDQ01DRo0MEuXLk13R5S0u8a8+OKL6eaha+5U4uldY9ytJSMbN240d911l6lcubIJCQkxUVFRplWrVmbZsmUu0128eNGMHj3aVKtWzQQHB5uoqCjTtm1bs2HDBuc0n332mYmNjTWhoaGmfPny5plnnnHeqeXq9Z9ZXW+//bZp3LixKVKkiAkLCzPXX3+96dWrl9m6datzmtTUVDN58mRTsWJFExwcbOrVq2c+++wztz+HZ86cMX379jXFixc3hQsXNu3atTO//PJLhnfiWbdunWnbtq2zniZNmpjPPvss3TxfffVVExMTYwICAtJ9FkaNGmVKliyZ7nOMvJfZHbnS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+vXr69VXX810mrx05swZBQQE5MuyAMDqyGgAsDZyGu4K9HUBgLddvnxZwcHBvi7DI5GRkV6ZxluKFy+eb8sCYA9ktPeQ0QDyAjntPeS0dXFqDPLcJ598ohtuuEFhYWGKiorSrbfeqvPnz0uSEhMT9eSTT6p06dIKDQ1V8+bNtWXLFudrq1Sp4tLBlaT69etr7NixzsetW7fW448/rqFDh6pkyZJq166dJCk1NVVTpkxR1apVFRISokqVKun555+XJBljNHXqVF133XUKCwtTbGysPvnkkyzfR9pyHn/8cRUvXlxRUVH617/+pasPqsru/WS3Pq4+VO+hhx7SmjVrNH36dDkcDjkcDh08eDDd4XzuLLN169Z68sknNXz4cEVGRqps2bIu6zAjp06dksPh0K5du7KcDoB/I6PJaADWRk6T0/A+GiHIU8eOHVP37t3Vt29f7dmzR99++626du3qDLzhw4dr0aJFeuedd7R9+3ZVrVpVHTp00F9//ZWj5bzzzjsKDAzUd999p7feekuSNHLkSE2ZMkWjRo3S7t27tXDhQpUpU0aS9K9//Utz587Vm2++qV27dmnIkCF68MEHtWbNGreWs3nzZv373//WK6+8ov/85z/O57N7P9mtj6tNnz5dTZs21cMPP6xjx47p2LFjqlixYrrp3F2H77zzjooUKaLNmzdr6tSpGj9+vFasWJHpe/3hhx8UEhKiGjVqZLlOAPgvMpqMBmBt5DQ5jTxigDy0bds2I8kcPHgw3XPnzp0zQUFB5r333nOOu3z5somOjjZTp041xhhTuXJl88orr7i8LjY21owZM8b5uFWrVqZ+/fou0yQkJJiQkBAze/bsDJcbGhpqNmzY4DK+X79+pnv37pm+l1atWplatWqZ1NRU57gRI0aYWrVquf1+slofact46qmnMn187Th3lpn2mubNm7vM56abbjIjRozI9P2+/PLLpkGDBpk+D8D/kdFkNABrI6fJaeQNjghBnoqNjdUtt9yiG264Qffee69mz56tv//+W5L0+++/KykpSTfffLNz+qCgIDVq1Eh79uzJ0XIaNmzo8njPnj1KTEzULbfckm7a3bt369KlS2rXrp2KFi3qHObPn6/ff/89y+U0adJEDofD+bhp06b67bfflJKS4tb7yWp9eCIn67BevXouj8uVK6cTJ05kOu+dO3eqfv36HtcGwPrIaDIagLWR0+Q08gaNEOSpgIAArVixQl9++aVq166t1157TTVq1NCBAwech7BdHYbSlXMO08YVKlQo3aFuSUlJ6ZZTpEgRl8dhYWGZ1pSamipJWr58uXbu3Okcdu/ene25jVlx5/1ktT7yaplpgoKCXB47HA7nusjIDz/8oNjYWI/qAuAfyGgyGoC1kdPkNPIGjRDkOYfDoZtvvlnjxo3Tjh07FBwcrCVLlqhq1aoKDg7W+vXrndMmJSVp69atqlWrliSpVKlSOnbsmPP5hIQEt4KuWrVqCgsL08qVK9M9V7t2bYWEhOjw4cOqWrWqy5DReYNX27RpU7rH1apVU0BAgFvvJ6v1kZHg4GClpKRkWo+7y8yppKQk7dmzh/AGbICMJqMBWBs5TU7D+7h9LvLU5s2btXLlSrVv316lS5fW5s2bdfLkSdWqVUtFihTRwIED9cwzzygyMlKVKlXS1KlTdeHCBfXr10+S1LZtW82bN09dunRRiRIlNGrUKAUEBGS73NDQUI0YMULDhw9XcHCwbr75Zp08eVK7du1Sv379NGzYMA0ZMkSpqalq3ry5EhIStGHDBhUtWlS9e/fOdL5xcXEaOnSoBgwYoO3bt+u1117Tyy+/LEluvZ+s1kdGqlSpos2bN+vgwYMqWrRoutt9ubNMT+zevVtJSUmEN1DAkdFkNABrI6fJaeQNGiHIU8WKFdPatWv16quvKiEhQZUrV9bLL7+sjh07SpJeeOEFpaamqmfPnjp79qwaNmyor7/+WiVKlJB05WrV+/fvV+fOnRUREaEJEya4fejbqFGjFBgYqNGjR+vo0aMqV66cHn30UUnShAkTVLp0aU2ePFn79+9X8eLF1aBBAz333HNZzrNXr166ePGiGjVqpICAAD3xxBN65JFHnM9n936yWx/XGjZsmHr37q3atWvr4sWLGb737JbpiZ07d6py5crc+xwo4MhoMhqAtZHT5DTyhsNce9IYgAy1bt1a9evXT3cv9oLo8ccf14kTJ/TRRx/5uhQAcAsZDQDWRk7DSrhGCACnS5cuafv27Vq0aJE6dOjg63IAAFchowHA2shp/0EjBIDTq6++qi5duujOO+9Ur169fF0OAOAqZDQAWBs57T84NQYAAAAAANgGR4QAAAAAAADboBECAAAAAABsg0YIAAAAAACwDRohAAAAAADANmiEAAAAAAAA26ARAgAAAAAAbINGCAAAAAAAsA0aIQAAAAAAwDZohAAAAAAAANugEQIAAAAAAGyDRggAAAAAALCN/w8r6+zVny0K8QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1100x380 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "T_src, T_tgt = 20, 16\n",
    "D = 3   # local window radius\n",
    "\n",
    "global_mask = np.ones((T_tgt, T_src))\n",
    "\n",
    "# Monotonic local-m: window centred on the diagonal (assumes roughly aligned src/tgt).\n",
    "local_m = np.zeros((T_tgt, T_src))\n",
    "for i in range(T_tgt):\n",
    "    p_i = int(i * T_src / T_tgt)\n",
    "    local_m[i, max(0, p_i - D):min(T_src, p_i + D + 1)] = 1\n",
    "\n",
    "# Predictive local-p: window centred at a learned (here: noisy) position.\n",
    "rng = np.random.default_rng(2)\n",
    "local_p = np.zeros((T_tgt, T_src))\n",
    "for i in range(T_tgt):\n",
    "    p_i = int(np.clip(i * T_src / T_tgt + rng.normal(0, 2), 0, T_src - 1))\n",
    "    local_p[i, max(0, p_i - D):min(T_src, p_i + D + 1)] = 1\n",
    "\n",
    "fig, axes = plt.subplots(1, 3, figsize=(11, 3.8))\n",
    "for ax, M, ttl in zip(axes,\n",
    "                      [global_mask, local_m, local_p],\n",
    "                      ['Global (Bahdanau / vanilla scaled dot)',\n",
    "                       f'Local-m (monotonic, $D={D}$)',\n",
    "                       f'Local-p (predictive, $D={D}$)']):\n",
    "    ax.imshow(M, cmap='gray', aspect='auto')\n",
    "    ax.set(xlabel='source position $j$', ylabel='target position $i$', title=ttl)\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a5c2_996ce9",
   "metadata": {},
   "source": [
    "Local-m is the ancestor of *sliding window attention* in Longformer (Beltagy, Peters, Cohan 2020, arXiv:2004.05150) and Mistral (Jiang et al. 2023, arXiv:2310.06825). Local-p is the ancestor of *learned sparse attention* patterns. Both are special cases of *attention masks*, which we will use heavily in Ch 39 to enforce the causal constraint $i \\le j$ for autoregressive language models."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d95f6055",
   "metadata": {},
   "source": [
    "## 38.8 Coverage — Fighting Repetition\n",
    "\n",
    "When you train an attention-based summariser or translator, a common failure mode is *repetition*: the model copies the same phrase twice because nothing tells it *\"you already used that input position.\"*\n",
    "\n",
    "**Coverage mechanisms** (See, Liu, Manning 2017) add a *running sum of past attention*:\n",
    "\n",
    "$$\n",
    "\\mathrm{cov}_j^{(i)} \\;=\\; \\sum_{i'=1}^{i-1} \\alpha_{i' j}\n",
    "$$\n",
    "\n",
    "and add it as an extra input to the score function: $e_{ij} = v_a^\\top \\tanh(W_a [s_{i-1}; h_j; \\mathrm{cov}_j^{(i)}])$. A *coverage loss* $L_{\\text{cov}} = \\sum_j \\min(\\alpha_{ij}, \\mathrm{cov}_j^{(i)})$ further penalises double-attending. We mention this for completeness — modern Transformer LLMs sidestep it by training on enough data that repetition becomes a learned-out behaviour rather than something the loss must explicitly fight."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "281bfa2e",
   "metadata": {},
   "source": [
    "## 38.9 Summary — The Door to Self-Attention\n",
    "\n",
    "We have argued that scaled dot-product attention\n",
    "\n",
    "$$\n",
    "\\mathrm{Attn}(q, k, v) \\;=\\; \\mathrm{softmax}\\!\\left(\\frac{q^\\top k}{\\sqrt{d_k}}\\right) v\n",
    "$$\n",
    "\n",
    "is the right primitive: parameter-free, batchable, and stable across dimensions. So far we have used it in the *encoder-decoder* setting, with $q$ from the decoder and $k, v$ from the encoder.\n",
    "\n",
    "In Chapter 39 we will let *every position attend to every other position within the same sequence* — including itself. This is **self-attention**, and once you have it you can throw away recurrence entirely. That is what makes the Transformer.\n",
    "\n",
    "We will also pause to honour the historical record: the Q/K/V structure was actually *introduced in 1991* by Schmidhuber, under the name *Fast Weight Programmers* — a fact that is worth dwelling on."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a6c0_93dcfb",
   "metadata": {},
   "source": [
    "### Forward pointer: from $(s, h)$ to $(Q, K, V)$\n",
    "\n",
    "In Chapter 39 we will rename and reshape. Today's *queries* are decoder hidden states $s$; tomorrow they are matrices $Q \\in \\mathbb{R}^{T \\times d_k}$ stacking *all* queries at once. Today's *keys/values* are the encoder states $H$; tomorrow they are matrices $K, V \\in \\mathbb{R}^{T \\times d_k}$ obtained by *projecting* the same input sequence through learned matrices $W_K$, $W_V$.\n",
    "\n",
    "The scaled dot-product score we just derived becomes, in matrix form,\n",
    "\n",
    "$$\n",
    "\\mathrm{Attn}(Q, K, V) \\;=\\; \\mathrm{softmax}\\!\\left( \\frac{Q K^\\top}{\\sqrt{d_k}} \\right) V.\n",
    "$$\n",
    "\n",
    "Notice that *every entry* of $Q K^\\top$ is exactly the scaled dot-product $s^\\top h / \\sqrt{d_k}$ from this chapter, just computed for all $T \\times T$ pairs in one matmul. The cell below evaluates both sides and confirms equality on a small example."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "aud38a6c1_a79f2f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-04-30T15:38:02.779283Z",
     "iopub.status.busy": "2026-04-30T15:38:02.779043Z",
     "iopub.status.idle": "2026-04-30T15:38:02.786226Z",
     "shell.execute_reply": "2026-04-30T15:38:02.785945Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "matrix form == loop form: True\n",
      "max abs diff: 2.384185791015625e-07\n"
     ]
    }
   ],
   "source": [
    "torch.manual_seed(3)\n",
    "T, d_k = 5, 8\n",
    "Q = torch.randn(T, d_k)\n",
    "K = torch.randn(T, d_k)\n",
    "V = torch.randn(T, d_k)\n",
    "\n",
    "# Form 1: matrix-form scaled dot-product attention (Ch 39 notation).\n",
    "scores_mat = (Q @ K.T) / math.sqrt(d_k)\n",
    "out_mat    = F.softmax(scores_mat, dim=-1) @ V\n",
    "\n",
    "# Form 2: loop over queries using the (s, h) notation of this chapter.\n",
    "out_loop = torch.zeros(T, d_k)\n",
    "for i in range(T):\n",
    "    s = Q[i]\n",
    "    e = (K @ s) / math.sqrt(d_k)              # T scalar scores\n",
    "    alpha = F.softmax(e, dim=-1)\n",
    "    out_loop[i] = alpha @ V\n",
    "\n",
    "print('matrix form == loop form:', torch.allclose(out_mat, out_loop, atol=1e-6))\n",
    "print('max abs diff:', (out_mat - out_loop).abs().max().item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aud38a6c2_fd1e54",
   "metadata": {},
   "source": [
    "Identical to numerical precision. The Transformer's apparent novelty is just *this chapter's score function, applied between every pair of positions in one sequence, computed as a single matmul.* Everything else (multi-head, positional encoding, residual stream) is engineering on top."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3d39e387",
   "metadata": {},
   "source": [
    "## Exercises\n",
    "\n",
    "**Exercise 38.1.** Show that *multiplicative* attention $e = s^\\top W_g h$ can be written as a *dot-product* attention if you first project the keys: $h' = W_g^\\top h$. What is the computational advantage of doing the projection up front, in batch, rather than per-pair?\n",
    "\n",
    "**Exercise 38.2.** Repeat the variance derivation in Section 38.3 *without* the assumption that $s$ and $h$ are mean-zero. Specifically, suppose $\\mathbb{E}[s_k] = \\mu_s$, $\\mathbb{E}[h_k] = \\mu_h$. Show that the dot-product variance becomes $d_k(\\sigma_s^2 \\sigma_h^2 + \\sigma_s^2 \\mu_h^2 + \\sigma_h^2 \\mu_s^2)$. Why does this argue for *centring* (e.g., via LayerNorm) the inputs to attention?\n",
    "\n",
    "**Exercise 38.3.** Modify the entropy plot in Section 38.5 to use $T = 64$ instead of $T = 16$. The unscaled entropy now has *more room to fall* (since $\\log 64 \\approx 4.16$). Confirm empirically that scaled attention still tracks $\\log T$ but unscaled attention crashes faster.\n",
    "\n",
    "**Exercise 38.4.** Train the *unscaled* dot-product variant on the reversal task with hidden dimension $d = 256$ instead of $64$. Compare its final loss with the scaled variant at the same dimension. Plot the attention entropy across training steps and explain the difference.\n",
    "\n",
    "**Exercise 38.5.** Implement **monotonic local attention** (Section 38.7) by restricting attention to a window of width $2D + 1$ around the diagonal. For the reversal task, where should the window be centred to make sense?\n",
    "\n",
    "**Exercise 38.6.** *(Conceptual.)* The four score functions in Section 38.1 differ in their *expressivity* and *cost*. List one practical situation where you would prefer additive attention even though it is more expensive. (Hint: think about what additive attention can express that scaled dot-product cannot.)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
