跳转至

Lecture30

LaTeX 源码

\makecscover

讲座定位:这不是“把 Transformer 变浅”那么简单

标题里的“近浅层”(near-shallow)容易让人误以为课程只讨论减少 Transformer 层数。讲者实际提出的是一条更具体、也更受条件约束的路线。第一步,把标准 self-attention 中“先投影、再比较”的一部分工作改写成“直接变换向量比较”;第二步,用 generalized co-occurrence(广义共现)为 softmax layer 构造非随机 warm start;第三步,在 embedding 固定时缓存底层向量比较,使一部分计算不再随每次训练或推理重复;第四步,观察这种结构能否支持只用本地应用数据训练的 tiny controller。这里的 near-shallow 指可复用的底层计算让有效在线路径更浅,不是网络只剩一层。

先修复来源:旧讲义的标题和内容都不可靠

旧稿把课程日期写成 2026 年,使用不存在的 Stanford lecture URL,并加入 drift gate、attention observability board、fairness dashboard、weekly newsletter、RLHF governance roadmap 等大量内容。这些机制既不在官方课程页和录像中,也不在讲者相关论文里。本讲现以 2024 年 5 月 2 日课堂、Stanford Online 官方录像 zL9B3eXq0gY、官方 en-US 人工字幕和 27 个录像恢复教学 slide states 为唯一课堂主干。

\lecturefigure{slide-01-motivation.jpg}{核心问题:能否直接学习“比较结果到 feature weights”的变换}{Stanford Online 官方录像 00:04:39}

第一张教学 slide 对比两条路径。标准 attention 通过 \(W_q,W_k\) 改变表示空间,再用 dot product 产生 score;讲者的替代形式保留原向量比较 \(XX^\top\),另用矩阵 \(W\) 把这些比较转换成 attention logits。后文所有显式初始化、缓存和 edge 实验都围绕这次改写展开。

本讲的三个核心问题

  1. Initialization:能否不用随机参数起步,而从输入--输出统计量直接得到一个有用的初值?
  2. Reusable computation:哪些表示或向量比较可以冻结并缓存,从而少做重复计算?
  3. Application-only learning:一个小模型能否不依赖通用预训练,只从某个本地任务的交互数据学习?

\teachervoice{00:01:19--00:02:49,Williams 先说明自己的数学、物理与 quantitative linguistics 背景。他刻意从统计结构和显式公式切入,而不是从常见的 scaling recipe 切入。}

证据分层:标准知识、论文推导与课堂实验不能混成一件事

本讲同时出现标准 Transformer 公式、团队预印本中的推导、课堂 slide 上的实验结果、Le Potato 可行性演示,以及 Q&A 中的未来设想。为避免把研究原型写成成熟配方,阅读时应保持下列分层。

证据账本

层次 例子 正确读法
标准背景 softmax、dot-product attention、困惑度、padding 可作为公共技术基础
论文推导 generalized co-occurrence 显式解、SAFFU hidden targets 需遵守论文假设与近似条件
课堂实验 warm/cold 曲线、MNIST、BabyLM、switch task 只支持对应设置下的观测
讲者判断 packing 不是正确 context model、PLM 命名 作为研究观点,不当作共识
未来工作 convolution warm start、multimodal、RLHF、公开实现 尚未完成,不能写成已验证能力

SAFFU 不是现成的标准架构

Self-Attentive Feed-Forward Unit(SAFFU,自注意力前馈单元)和 Precision Language Model(PLM,精确语言模型)是讲者团队使用的研究术语。它们不是 PyTorch/Hugging Face 中已经标准化的模块,也不能仅凭这堂课推出“训练 LLM 不再需要 backpropagation”。

本章小结

真实课程围绕非随机初始化、缓存与本地小模型展开,不是旧稿中的治理流程。本讲义会把每一条结果放回其具体假设:softmax、非负特征、固定 embedding、有限数据与早期 edge prototype。

从标准 attention 到 SAFFU:到底改了哪一步

要理解替代机制,必须先把标准 self-attention 拆成“表示投影”“相似度”“归一化”“加权聚合”四步。讲者并不否认标准 Q/K projection 的价值,而是问:当输入已经在同一低维空间时,是否能直接对比较矩阵本身做一个可学习变换,以减少额外投影和随机参数?

标准形式:先投影,再比较

设一个序列的 hidden states 为 \(X\in\mathbb{R}^{L\times d}\),标准单头 attention 写成

\[ Q=XW_q,\qquad K=XW_k,\qquad V=XW_v, \]
\[ A_{\text{std}}=\operatorname{softmax}\!\left(\frac{QK^\top}{\sqrt{d_a}}+M\right), \qquad H=A_{\text{std}}V. \]

其中 \(L\) 是 token 数,\(d\) 是输入维度,\(d_a\) 是 attention dimension,\(M\) 是 causal 或 padding mask。\(W_q,W_k\) 的任务不是简单“算相似度”,而是先把输入变换到更适合当前预测任务的比较空间。

为什么投影常常有用

当 query 与 key 来自不同模态、不同维度或不同语义角色时,cross-attention 必须先把它们放到可比较空间。即使是 self-attention,投影也能让不同 heads 学到不同的双线性相似度。替代机制的效率收益来自减少这一步,但也同时放弃一部分表示自由度。

\teachervoice{00:02:54--00:05:06,讲者把标准 attention 描述为 re-dimensionalization:Q/K 改变表示空间,使 dot product 能产生对任务有用的权重;替代形式则直接学习如何解释现有向量比较。}

SAFFU 定义:直接变换 comparison matrix

SAFFU 假设输入向量已经处于可比较的同一空间。先计算原始比较矩阵 \(C=XX^\top\),再用可学习矩阵 \(W\) 变换比较,得到

\[ A_{\text{saffu}}=\operatorname{softmax}(XWX^\top+M), \qquad H=A_{\text{saffu}}X. \]

这里 \(W\in\mathbb{R}^{d\times d}\) 直接定义一个 bilinear form(双线性型)。若 \(W=I\),模型退化为原空间 dot product;一般 \(W\) 可以旋转、缩放或重新组合各维度的交互,但它不把 query 和 key 分别映射到两个独立空间。

\lecturefigure{slide-02-saffu-definition.jpg}{SAFFU 的定义、假设与表示约束}{Stanford Online 官方录像 00:06:00}

标准 attention 与 SAFFU 的代数关系

因为

\[ QK^\top=XW_qW_k^\top X^\top, \]

若记 \(W=W_qW_k^\top\),两者在 score 的双线性形式上可以相互对应。差异在参数化:标准形式把 \(W\) 分解成两个 projection,SAFFU 直接处理组合矩阵,并围绕它推导显式初始化。直接参数化不自动更强,也不自动更稳定。

“没有 Q/K”不等于没有矩阵变换

SAFFU 仍有 \(W\),仍学习 token 间比较应怎样改变。它省掉的是两个独立 projection 的参数化与中间表示,而不是把 attention 变成无参数平均。

\teachervoice{00:05:15--00:05:43,Williams 明确说替代机制与传统 projection 可以同时使用;本讲暂时去掉 projection,是为了隔离并研究 comparison-to-weight 机制本身。}

General design:从比较、聚合到输出

架构图用 \(W\) 表示 attention comparison transform,用 \(U\) 表示对聚合 hidden state 的 decoder/feed-forward 变换,用 \(O\) 表示更上层输出映射。读图时不要把三者都叫“attention 参数”:\(W\) 决定位置权重,\(U\) 改变聚合后的 feature,\(O\) 把 hidden state 映射到预测目标。

\lecturefigure{slide-03-general-saffu-design.jpg}{General SAFFU encoder-decoder:\(W\)\(U\) 与输出映射的分工}{Stanford Online 官方录像 00:07:38}

对第 \(m\) 个样本,设 context matrix 为 \(X_m\in\mathbb{R}^{K\times d}\),选定 query 行 \(x_{m,h}\),则可写成

\[ a_m=\operatorname{softmax}(x_{m,h}WX_m^\top), \]
\[ h_m=a_mX_mU,\qquad \hat y_m=\operatorname{softmax}(h_mO). \]

\(K\) 是 context 中 feature/token 数,\(a_m\in\mathbb{R}^{K}\) 是 attention distribution,\(U\)\(O\) 分别承担隐藏变换与最终分类/语言建模输出。

near-shallow 到底指什么

模型仍可以有多层。near-shallow 指底层的一些表示与 pairwise comparisons 可以预先确定、缓存或局部显式初始化,使在线学习主要发生在较少的上层参数中。它描述计算依赖与更新路径,而不是简单的 depth 数字。

\teachervoice{00:05:43--00:07:10,讲者把减少 projection 与减少随机参数联系到 near-shallow,但同时承认这种设计更依赖输入向量维度一致、组织良好,并不是无条件替换。}

本章小结

SAFFU 的核心改动是直接参数化 \(XWX^\top\),并把该形式纳入显式初始化。标准 attention 的 projection 更灵活;SAFFU 的吸引力来自更少的独立随机参数、可推导的初值和潜在可缓存比较。后续收益必须与这些约束一起阅读。

非随机初始化:bit-cipher 为什么先于 attention 出场

显式初始化不能从随机 embedding 开始推导一切。输入向量如果本身随机、符号不受控或每次更新,后续共现统计和缓存都会失去稳定参照。因此课程先讨论 Lottery Ticket 直觉、低维表示的必要性和 bit-cipher,再进入 attention warm start。

Lottery Ticket 是动机,不是反对 multi-head 的证明

多个 attention heads 具有相同结构与训练目标,但随机初始化让它们在优化过程中走向不同角色。讲者把这种不确定性与 Lottery Ticket Hypothesis 联系起来:一个大网络可能包含少数真正有效的子结构,而大量随机参数的训练成本最终没有转化为可用能力。

\lecturefigure{slide-04-no-lottery-tickets.jpg}{Transforming without lottery tickets:减少随机初始化与对称副本}{Stanford Online 官方录像 00:11:04}

不能从 Lottery Ticket 直接推出“多头无用”

不同 heads 可以学习互补的关系,也可以通过训练打破对称。slide 提供的是研究动机:若能根据数据统计直接找到好起点,是否可以少依赖随机抽奖?它不是 multi-head attention 的消融结论。

\teachervoice{00:08:03--00:10:44,Williams 把多个同构 heads 的随机角色分化解释为一种 lottery-ticket 问题,并强调随机初始化可能让昂贵参数最终没有承担稳定功能。}

Dimensionality reduction 仍不可避免

上一节的问题是如何减少同构 heads 的随机“抽奖”,但 attention 之前还有更早的随机源:token embedding。若不先稳定输入坐标系,后面的 generalized co-occurrence 与 comparison cache 都会随着 embedding 更新而漂移。因此本节先说明为什么维度必须压缩,再区分“低维”与“好的非随机低维表示”。设词表大小为 \(V\),若直接把 token 表示为 one-hot \(y\in\{0,1\}^{V}\),后续权重矩阵的维度会随 \(V\) 膨胀。学习 embedding \(E\in\mathbb{R}^{V\times d}\) 的通常做法把 \(d\ll V\),但随机 embedding 离输出 loss 很远,需要梯度穿过整个网络才能逐步成形。

\lecturefigure{slide-05-dimensionality-reduction.jpg}{低维表示仍然必要,但随机 embedding 难以稳定和解释}{Stanford Online 官方录像 00:11:21}

表示压缩与初始化是两个问题

Dimensionality reduction 决定用多少维表达 token;initialization 决定这些维度一开始表示什么。把维度从 \(V\) 降到 \(d\) 并不自动得到一个好表示,随机矩阵只是给优化器一个可训练起点。

\teachervoice{00:11:14--00:12:40,讲者强调低维表示对大词表是计算必需品,但 embedding 离输出 loss 最远,随机起点需要昂贵训练才能稳定。}

Bit-cipher:先保证唯一性,再讨论语义

Bit-cipher 用长度为 \(b\) 的 bit vector 编码 token。除全零向量外,理论上最多有

\[ N_{\text{codes}}=2^b-1 \]

个唯一编码,因此覆盖词表至少需要 \(b\ge \lceil\log_2(V+1)\rceil\)。团队按 unigram frequency 排序分配 bit pattern,使高频 token 优先获得稀疏、易区分的编码,再做归一化

\[ e_i=\frac{\eta_i}{\|\eta_i\|_1},\qquad \eta_i\in\{0,1\}^{b}. \]

\lecturefigure{slide-06-bit-cipher.jpg}{Bit-cipher:用频率排序的 bit vectors 扩展 one-hot encoding}{Stanford Online 官方录像 00:15:01}

Bit-cipher 解决什么,又没有解决什么

它提供确定、唯一、低维、非负的 token identity,因此便于显式公式和复现实验。它本身不保证语义相近的词向量接近;后续还要利用 co-occurrence 聚合或 radial context statistics 增加相关结构。

频率排序不是语义定理

高频 token 获得更简单编码是一种工程设计。仅凭频率不能推出语义相似性、句法角色或跨语言对齐,必须通过下游任务和相关性分析验证。

\teachervoice{00:12:53--00:15:45,讲者说明 bit-cipher 的真正价值是 deterministic low dimensionalization。它看似只是中间步骤,却是团队能够继续推导非随机 SAFFU 初始化的实际起点。}

术语消化:后文会反复出现的五个词

这些术语常被压缩成一句“closed-form training”,但它们代表不同阶段和不同强度的主张。

初始化与优化术语表

术语 定义 本讲中的作用
Cold start 参数从随机分布开始 作为常规训练 baseline
Warm start 参数从数据统计得到的非随机值开始 降低初始 loss/困惑度,改善后续轨迹
Explicit solution 不用迭代梯度、直接由统计量计算的近似参数 初始化 softmax layer 与 SAFFU 组件
Priming number 显式解中描述输入 norm/feature 数的归一化量 调整共现矩阵的 column translation
Label embedding 预测目标的低维表示 为中间层提供可计算的 hidden targets

本章小结

非随机初始化需要稳定、非负、低维的输入。Bit-cipher 先解决可复现 identity encoding,再让 generalized co-occurrence 有固定坐标系。它不是语义表示的终点,而是 SAFFU 显式 warm start 的前提之一。

显式 softmax warm start:从共现矩阵到参数

这一章是课程的数学核心。目标不是声称所有 neural network 都有精确闭式解,而是说明:对 non-negative features 和 softmax-activated single layer,可以从输入--输出的 outer products 得到一个近似好初值;再把该思路扩展到 SAFFU 的多个组件。

Generalized co-occurrence 不限于词窗计数

\(M\) 个样本的输入 feature matrix 为 \(H\in\mathbb{R}_{\ge 0}^{M\times D}\),目标为 one-hot 或概率分布 \(Y\in\mathbb{R}_{\ge 0}^{M\times N}\)。广义共现定义为

\[ F(H,Y)=\sum_{m=1}^{M}H_{m,:}\otimes Y_{m,:}=H^\top Y, \]

其中 \(F_{j,i}\) 累积第 \(j\) 个输入 feature 与第 \(i\) 个输出 target 同时出现的强度。它可以来自 token context,也可以来自图像像素、隐藏层输出或其他非负 feature,不要求是传统半径窗口的词频表。

\lecturefigure{slide-07-softmax-cooccurrences.jpg}{Softmax 与 generalized co-occurrence:显式初始化公式}{Stanford Online 官方录像 00:19:13}

对 softmax decoder \(U\in\mathbb{R}^{D\times N}\),slide 给出的近似形式可写成

\[ U_{j,i}\approx \log\!\bigl(F(H,Y)_{j,i}+\epsilon\bigr) -\frac{K-1}{K}\log\!\left(\sum_{d=1}^{D}F(H,Y)_{d,i}+\epsilon\right), \]

其中 \(K\) 是 priming number,\(\epsilon>0\) 防止数值上对零取 logarithm。第一项保留 feature--target 联结,第二项按输出列归一化高频 target。

公式直觉:log 在近似逆转 softmax

Softmax 使用 exponentials 把 logits 变成概率;显式解对共现强度取 log,相当于把概率尺度拉回 logit 尺度。Column translation 不改变 softmax 对同一输出列的相对结构,却能补偿不同 target 的总体频率。

这不是任意 layer 的精确最优解

关键假设包括:feature 非负、activation 为 softmax、统计量可稳定估计、输入 norm 可由 \(K\) 描述。多层 composition、ReLU/GELU、negative features 与 attention hidden targets 都需要额外推导。

\teachervoice{00:15:55--00:18:09,讲者强调这里的 co-occurrence 是任意 inputs 与 outputs 的 outer-product sum,不限于传统 NLP 窗口;\(K\) 相关项近似表达 context/feature 数对条件概率的修正。}

Priming number:feature 数量与 norm 的近似

若每个输入向量严格 \(K\)-norm,即 \(\|H_{m,:}\|_1=K\)\(K\) 可以直接进入归一化。实际连续 feature 往往不满足统一 norm,课程和论文使用平均值

\[ \widehat K=\frac{1}{M}\sum_{m=1}^{M}\|H_{m,:}\|_1 \]

作为近似。这个估计说明显式解仍需 data-dependent calibration;它并不是完全无超参数的万能初始化。

如何验证 priming-number 近似

至少报告 \(\|H_m\|_1\) 的分布、均值/方差、零值比例、加入 \(\epsilon\) 的位置,以及不同 \(K\) 对 validation loss 的敏感度。只给一个平均值无法判断 heavy-tail 或 outlier 是否破坏近似。

\teachervoice{00:31:20--00:32:15,Williams 说非单位 feature 的 priming number 可用平均输入 norm 估计,并坦言 slide 缺少对应图,完整证据应回到论文核查。}

从单层到 SAFFU:hidden targets 是难点

Feed-forward decoder 的输入 \(H\) 和 target \(Y\) 明确,因此 \(F(H,Y)\) 可直接计算。Attention 则没有显式标签告诉模型“第几个位置应该被关注”。团队的扩展思路是先推导 hidden target:让 attention 输出的表示尽量接近上层 \(U\) 所期望的输入,再逐层从下往上初始化。

若简化记号为

\[ X\xrightarrow{W} A\xrightarrow{} Z=AX \xrightarrow{U} H\xrightarrow{O}\hat Y, \]

则 warm start 顺序是:稳定 \(X\);由上层需求估计 attention targets 并初始化 \(W\);用 \(Z\) 与 label embeddings 初始化 \(U\);最后用 \(H\) 与真实 \(Y\) 初始化 \(O\)

Local fit 不等于 compositional optimum

逐层显式初始化只利用局部 inputs/targets。Backpropagation 能通过 chain rule 传播最终任务对所有层的高阶影响,因此 warm start 后仍可能需要迭代优化。课程的主张是“更好的起点”,不是“composition 已被闭式求解”。

\teachervoice{00:18:13--00:20:57,讲者把 attention 的难点定义为没有直接 target vector;团队通过分析上层期望来构造 hidden targets,并借助 bit-cipher label embeddings 把中间目标降到可处理维度。}

可执行过程:从全零参数开始累积统计量

Slide 8 把理论压成一个 warm-start procedure。工程上最重要的并不是公式看起来“closed form”,而是它只需要 forward-style accumulation:遍历数据,累计 outer products,再做 normalization 与 log transform。

\lecturefigure{slide-08-nonrandom-feedforward-init.jpg}{Non-random feed-forward initialization 的计算步骤}{Stanford Online 官方录像 00:21:16}

Softmax layer 显式 warm start 的 shape-first 伪代码
F = zeros(feature_dim, target_dim)
for features, targets in dataset:
    assert all(features >= 0) and all(targets >= 0)
    F += features.T @ targets

K_hat = mean_l1_norm(dataset.features)
column_mass = F.sum(axis=0, keepdims=True)
weights = log(F + eps) - ((K_hat - 1) / K_hat) * log(column_mass + eps)
return weights

为什么它容易并行

每个 worker 可独立累计局部 \(F_r=H_r^\top Y_r\),最后求和 \(F=\sum_rF_r\)。这类似 sufficient statistics 聚合,不需要在每个 mini-batch 后同步完整 gradient trajectory。但内存、数值范围与稀疏存储仍需工程设计。

\teachervoice{00:21:15--00:22:43,Williams 用“所有参数从 zero 开始”强调非随机性:遍历数据累积输入--输出 outer products,随后 normalization 和 logarithm 便给出初值。}

本章小结

显式 warm start 的最强可复现结论是:在特定 softmax、非负 feature 条件下,可以用 generalized log-co-occurrence 计算一个 data-informed initialization。扩展到 SAFFU 需要 hidden targets 与逐层 composition,不能把单层公式无条件推广到现代 Transformer 的所有模块。

Warm start 证据:曲线应该怎样读

课程用两组实验说明初始化可能跨任务有用:单层语言模型的困惑度轨迹,以及 MNIST 的单层/双层分类。图表的重点是起点和优化路径,而不是宣布新架构已经达到大模型质量。

单层语言模型:起点更低,轨迹仍继续改善

前一章只给出了参数计算方法,本节转向最直接的经验问题:这个 data-informed 初值是否真的比随机起点更接近可用模型?读曲线时先比较 epoch 0 的起点,再比较相同 update rule 下的下降轨迹与 early-stopping 位置;不要先看最终一个点,就忽略 warm-start statistics 本身也有计算成本。

Perplexity(困惑度)是平均 cross-entropy 的指数:

\[ \operatorname{PPL}=\exp\!\left(-\frac{1}{T}\sum_{t=1}^{T}\log p(x_t\mid x_{<t})\right). \]

它可直观理解为模型每个 token 面对的“有效候选数”,越低通常越好;但不同 tokenization、数据和 context 设置的 PPL 不能直接横比。

\lecturefigure{slide-09-single-layer-warm-starts.jpg}{单层模型中 warm start 与 cold start 的训练轨迹}{Stanford Online 官方录像 00:24:03}

读图先看 epoch 0:cold start 的 PPL 接近 vocabulary size,warm start 已明显降低。再看斜率和终点:在相同 iterative update 规则下,warm-start 曲线继续下降,并在早期停止时保持更低 PPL。它支持“显式初值改善起点和后续优化”,但没有控制所有现代 Transformer 组件。

读图:这张图没有 self-attention

Q&A 明确说明,这是 concatenated one-hot context 的 feed-forward experiment。输入 feature 已分开,几乎不需要 attention 去解除 superposition。它验证的是 single-layer explicit initialization,不是 SAFFU attention 的完整消融。

同一 learning rate 不等于完全公平

Warm start 和 random start 可能适合不同 learning-rate schedule、regularization 或 early-stopping patience。严谨比较应同时报告 tuned cold baseline、多个 seeds、wall-clock、数据读取与显式统计量计算成本。

\teachervoice{00:22:47--00:24:24,讲者强调 warm start 在训练前就降低 PPL,之后还沿相同 learning rate 继续改善;若使用 early stopping,也会更早在更低 PPL 处触发。}

\teachervoice{01:07:53--01:09:37,Q&A 纠正了常见误读:这张 warm/cold 图没有 attention,早期工作只是单层 feed-forward,SAFFU attention 的显式解是后来才补上的。}

MNIST:说明 layer-level 公式不只适用于文字

MNIST pixel 非负,因此同一 softmax layer warm start 可以作用于 image classification。图中 warm-start 单层和双层模型更快达到高 accuracy;但模型没有现代视觉网络的 convolution、normalization 或 augmentation pipeline。

\lecturefigure{slide-10-image-classification-warm-starts.jpg}{MNIST 上的 warm-start 分类曲线}{Stanford Online 官方录像 00:30:45}

MNIST 结果支持的最小结论

显式 softmax initialization 可以接受非语言、非负 feature,并改善该分类设置中的起点。它不证明同一公式已经覆盖 convolution、ViT、diffusion 或真实世界视觉数据。

\teachervoice{00:29:14--00:31:20,讲者用 MNIST 说明公式的 layer-level generality;他没有声称已经构造完整高性能 vision architecture。}

\teachervoice{01:09:42--01:11:46,Q&A 进一步限制范围:若要处理 convolution 或其他 activation,仍需为那些 layer 单独推导 warm start,否则随机参数会重新引入噪声。}

实验应该补哪些 baseline

对于这种 initialization 研究,单看最终 accuracy/PPL 不够。至少要拆出四类成本:显式统计量计算、随机 baseline 的 tuning、后续 backpropagation、以及固定/更新 embedding 对缓存的影响。

最小实验矩阵

对比 固定项 需要报告
Cold vs warm architecture、data、optimizer seeds、初始/最终 loss、wall-clock
Warm only vs warm+tune initialization statistics 额外梯度成本与泛化增益
Frozen vs thawed embeddings warm-start weights cache 命中、训练速度、最终质量
Local explicit vs end-to-end parameter count compositional gap 与 failure cases

本章小结

Warm start 实验显示更好的起点和优化轨迹,并在 MNIST 上展现有限跨域性。它们验证的是特定 layer 和数据条件,不是“所有深度学习都可被共现矩阵替代”。

Context、multi-context 与 near-shallow caching

前半讲回答“参数怎样起步”,这一章回答“计算怎样少重复”。课程认为固定超长 context、document packing 与可变长度数据之间存在错配;SAFFU 的矩阵形状允许按 context length 选择参数子块,再结合 frozen embedding 缓存底层 pairwise comparisons。

长窗口不自动包含更多有用信息

固定 context window \(K_{\max}\) 的 attention cost 近似

\[ C_{\text{attn}}=\Theta(BK_{\max}^{2}d), \]

其中 \(B\) 是 batch size,\(d\) 是 hidden dimension。如果大多数文档长度 \(K_m\ll K_{\max}\),padding token 仍会占矩阵位置。更长窗口增加容量,却不保证每个样本真的提供更多相关 context。

\lecturefigure{slide-11-longer-contexts.jpg}{长窗口是任意工程上限,不等于每个样本都需要同样 context}{Stanford Online 官方录像 00:34:22}

Context 至少有三种含义

Block context 是模型一次接收的固定 token 数;document context 是同一文档中真实相关的前后文;linguistic/radial context 是围绕目标 token 的统计邻域。把三者都叫 context,会掩盖 padding、packing 和建模假设的差异。

\teachervoice{00:32:20--00:34:55,Williams 认为更长窗口会显著增加成本,却不必然带来更多信息;context complexity 应由数据承载的信息决定,而不是由单一 block size 决定。}

Multi-context SAFFU:为不同长度准备参数分支

上一节已经说明固定最大窗口会让短样本支付无效 quadratic work;multi-context design 的回答不是把所有文档硬塞进同一 block,而是让模型根据样本长度选择最小可容纳分支。读架构图时先比较各 branch 的 context width 和参数共享位置,再看它们如何汇入同一个输出空间。课程为不同 context widths \(b\in\mathcal B\) 配置 \(W_b,U_b\),最后映射到共享输出。若样本长度为 \(K_m\),选择满足 \(b\ge K_m\) 的最小分支,可写成

\[ b^*(m)=\min\{b\in\mathcal B:b\ge K_m\}, \]
\[ \hat y_m=\operatorname{softmax}\!\left( \operatorname{softmax}(x_{m,h}W_{b^*}X_m^\top)X_mU_{b^*}O \right). \]

\lecturefigure{slide-12-multicontext-design.jpg}{Multi-context SAFFU:按 context width 选择分支}{Stanford Online 官方录像 00:36:29}

动态分支的收益与代价

收益是短样本不必支付最长窗口的完整 quadratic cost;代价是要维护多组参数或可切片参数、构造 length-aware batches,并确保不同分支输出落在兼容表示空间。

Length-aware dynamic context batching 伪代码
lengths = measure_document_lengths(dataset)
buckets = bucket_by_supported_context(lengths, widths=[128, 256, 512, 1024])

for width, batch in buckets:
    x = pad_only_to(batch, width)
    weights = saffu_parameters.for_width(width)
    loss = language_model_loss(x, weights)
    update_trainable_layers(loss)

\teachervoice{00:34:55--00:37:34,讲者解释 multi-context branch 的关键是 modified attention matrix 可按长度取参数子集;标准低维 Q/K projection 并不自然对应这种切片。}

Embedding brittleness:唯一编码不等于相关表示

Bit-cipher 的唯一性使初始化可复现,但两词共享若干 bits 不一定等价于语义相关。课程提出利用 radial co-occurrence 改善 embedding:围绕 token 的不同半径统计共同出现,再把这些相关性聚合到 deterministic code 上。

\lecturefigure{slide-13-embedding-brittleness.jpg}{从 bit identity 走向 radial co-occurrence embedding}{Stanford Online 官方录像 00:37:34}

可将第 \(r\) 个 radius 的共现矩阵记为 \(B^{(r)}\),一种抽象聚合形式是

\[ E_i=\operatorname{normalize}\!\left( \operatorname{concat}_{r\in\mathcal R} \sum_j B^{(r)}_{i,j}e_j \right). \]

这里 \(e_j\) 是 bit-cipher identity vector,\(E_i\) 才吸收局部统计关系。实际论文中的 aggregation 与 weighting 需按实现复现,不能由本式替代。

不要把“可解释 bit”误当成语义轴

单个 bit 的开关规则由编码算法决定,不必对应 noun、tense、sentiment 等人类概念。语义是否形成,应通过 probing、nearest neighbors 与下游任务验证。

\teachervoice{00:37:34--00:39:41,讲者指出 naive bit assignment 虽然稳定,却不能消除 embedding brittleness;需要 radial co-occurrence 等统计把相关性重新注入表示。}

Caching comparisons:速度收益的核心条件

若 embedding matrix \(E\) 固定,第一层 context comparisons

\[ C_{i,j}=e_i^\top e_j \]

只由 token identities 决定,可以离线预计算到 lookup table。训练或推理时根据 token IDs 直接读取 \(C\),再应用 \(W\) 和 softmax。这样省去重复 dot products,但不省后续 weighting、aggregation 和上层网络。

\lecturefigure{slide-14-caching-vector-comparisons.jpg}{冻结 embedding 后缓存第一层 vector comparisons}{Stanford Online 官方录像 00:39:41}

Cache invalidation rule

只要 embedding 更新为 \(E'\neq E\),旧缓存 \(C=EE^\top\) 就不再等于 \(E'E'^\top\)。因此训练阶段要么冻结 embedding,要么周期性重建 cache,并把重建成本计入总训练时间。

内存层级不能省略

完整 \(V\times V\) comparison table 可能远大于 embedding 本身,不能默认全部驻留内存。实现需要稀疏/分块缓存、按 batch gather,或只缓存高频 pair。CPU DRAM(Dynamic Random-Access Memory,主存)容量较大但延迟高;GPU HBM(High Bandwidth Memory,高带宽显存)更快但更昂贵;片上 SRAM(Static Random-Access Memory,缓存/共享存储)最快却最小。

\teachervoice{00:39:41--00:41:48,Williams 把缓存描述为 near-shallow 的主要成本节省:embedding 不更新时,底层 comparisons 可预计算;一旦 vectors thaw 并更新,缓存假设就失效。}

Packing 与 dynamic context:效率技术不等于 context model

Packing 把多个短文档放入同一长 block,并用 mask 防止跨文档 attention。它减少 padding 和 batch 数,但仍构造长度 \(K_{\max}\) 的 quadratic matrix。Dynamic context 则让短文档进入更短 branch,近似成本

\[ C_{\text{dynamic}}\propto \sum_{m=1}^{B}K_m^2d, \qquad C_{\text{fixed}}\propto BK_{\max}^2d. \]

\lecturefigure{slide-15-packing-contexts.jpg}{Packing、padding 与动态 context 的取舍}{Stanford Online 官方录像 00:42:14}

课程没有给出 matched packing benchmark

Dynamic context 是否更快,取决于 kernel efficiency、bucket fragmentation、batch size、mask implementation 和硬件。讲者在 Q&A 明确说尚未与大型模型中的 oracle packing 做直接对照,因此这里只能保留机制分析与研究判断。

\teachervoice{00:42:38--00:45:55,讲者认为 packing 用无关文档填满窗口,是有效率但不忠实的 context 组织;dynamic length batching 让短文档只使用更小参数子集。}

\teachervoice{01:16:20--01:19:00,Q&A 进一步承认没有进行 matched large-model comparison;packing 与 dynamic blocks 的相对收益仍需要专门实验。}

本章小结

Near-shallow 效率来自两件事:按真实长度减少无效 quadratic work,以及在 embedding 固定时复用底层 comparisons。两者都不是免费优化;动态分支增加模型与 batching 复杂度,缓存则引入容量和失效问题。

Precision Language Models:配置、训练阶段与速度

课程把使用 SAFFU、显式初始化和少量数据训练的系统称为 Precision Language Models。这里的 precision 强调“对参数起点和任务数据更有针对性”,不是数值精度 FP16/BF16。读配置表时要同时看 vocabulary、embedding、context、parameter count、token budget 与硬件,不能只看模型昵称。

Big 与 potato:两个目标完全不同的 reference points

Big configuration 使用约 16K token vocabulary、约 2K context 与约 50M parameters,在旧 12GB Titan V GPU 上训练;potato configuration 使用约 1K token vocabulary、短 context 与约 150K parameters,在 Le Potato CPU 和 2GB RAM 上实时训练。前者测试语言建模规模,后者测试本地 scratch learning。

\lecturefigure{slide-16-plm-configs.jpg}{Precision language models 的 big 与 potato reference configurations}{Stanford Online 官方录像 00:46:08}

PLM 不是数值 precision

本讲的 PLM 是团队给一类模型的名称,不是 mixed precision、FP8 或 quantization。若文档只写“precision model”,必须说明这是 architecture/training label,避免与 numerical precision 混淆。

“实时训练”必须绑定硬件与任务

Potato 的实时指本地 binary switch task,模型、词表、context 和数据都很小;它不能外推为在 2GB RAM 上实时训练通用对话模型。

\teachervoice{00:46:14--00:49:04,Williams 说团队尚不清楚架构在 trillions of tokens 或 RLHF 下会怎样;potato 的目标是利用小数据稳定性,探索传统大模型不强调的 edge scratch-training 能力。}

从 micro 到 mega:表格的真正用途是资源审计

配置表给出多种 vocabulary、context、embedding/hidden dimensions 和 total parameters。它的价值不是宣称每一行都已充分训练,而是展示参数如何随宽度和 context 增长,并为后续 small/medium stress tests 提供命名。

\lecturefigure{slide-17-saffu-size-table.jpg}{SAFFU/PLM 不同规模的参数与 token 配置}{Stanford Online 官方录像 00:48:22}

若一条 branch 的主要矩阵近似为 \(W\in\mathbb{R}^{d\times d}\)\(U\in\mathbb{R}^{d\times h}\)\(O\in\mathbb{R}^{h\times V}\),总参数可粗略写成

\[ P\approx Vd+d^2+dh+hV+P_{\text{other}}. \]

随着 vocabulary \(V\) 与 hidden \(h\) 增大,embedding/output 往往成为主要项;随着多 context branches 增加,\(W_b,U_b\) 也会重复或扩展。

配置表要补的四本账

  1. 参数量:哪些矩阵共享,哪些按 context branch 复制?
  2. 训练 token:warm start、frozen stage、thawed stage 各看多少数据?
  3. 内存:weights、optimizer state、activations、cache 各占多少?
  4. 时间:统计量构建、backpropagation、cache rebuild 与 evaluation 是否都计入?

Optimizer state(优化器状态)指 Adam/AdamW 的一阶矩 \(m\) 与二阶矩 \(v\) 等额外张量,它们会显著增加训练内存;不能只按参数文件大小估算。

Medium PLM:warm、freeze、thaw 三阶段

Medium experiment 使用约 12M parameters 和 BabyLM 100M-token scale。Slide 的三阶段是:先用部分数据构建 warm start;再冻结 vectors,用大部分数据快速训练其余参数;最后 thaw vectors,以更小 learning rate 联合微调。

\lecturefigure{slide-18-medium-plm-training.jpg}{Medium PLM 的 warm-start、frozen-vector 与 thawed-vector 训练动态}{Stanford Online 官方录像 00:49:09}

可抽象成

\[ \theta^{(0)}=\operatorname{ExplicitInit}(D_{\text{warm}}), \]
\[ \theta^{(1)}=\operatorname{Train}(D_{\text{main}},\theta^{(0)};E\ \text{frozen}), \]
\[ \theta^{(2)}=\operatorname{FineTune}(D_{\text{tail}},\theta^{(1)};E\ \text{trainable}). \]

Freeze 与 thaw 的系统含义

Freeze embedding 不仅减少 gradient/optimizer memory,也保证 comparison cache 有效;thaw 允许表示适应最终任务,却需要重新计算 comparisons,并可能改变前面显式解对应的 feature distribution。

\teachervoice{00:49:09--00:51:35,讲者把 BabyLM 100M tokens 解释为 developmentally plausible exposure,并说冻结 vectors 同时提高训练速度与缓存稳定性,最后 thaw 则用额外成本换最终质量。}

How fast:headline 比较必须拆开条件

Slide 把 GPT-2 在 8 张 A100 上约 100 小时的粗略数字,与 medium PLM 在旧 Titan V 上约 18 tokens/hour 的进度放在一起。两者 context、vocabulary、implementation、目标质量和数据流程并未严格匹配,因此只能读成 motivation,而非公平 benchmark。

\lecturefigure{slide-19-plm-training-speed.jpg}{PLM 训练速度的课堂粗略参照}{Stanford Online 官方录像 00:53:21}

一个更完整的时间账本应写成

\[ T_{\text{total}}=T_{\text{stats}}+T_{\text{cache}} +T_{\text{backprop}}+T_{\text{rebuild}}+T_{\text{eval}}, \]

而不是只报告主训练 loop。若显式统计量和 cache 在数据预处理阶段完成,它们仍是训练系统成本。

不要传播“32 倍容量所以 32 倍速度”

GPU theoretical throughput、model FLOPs utilization、memory bandwidth、batch size 和 kernel maturity 都会改变 wall-clock。课堂 slide 的硬件比例不能替代 profiler 或 matched implementation。

\teachervoice{00:52:48--00:54:10,讲者用 GPT-2/A100 作为直觉参照;讲义应保留其 rough comparison 身份,而不能把它改写成严格 speedup。}

Small PLM 能做什么:先区分 fit 与 transfer

团队到课堂时主要 stress-test 到约 1B tokens,且很多实验只使用几十万到几千万 tokens。小模型能快速降低训练 loss,说明初始化稳定;但真正关键的问题是能否在 application data 上学到可迁移规则,而不只是记住本地样本。

\lecturefigure{slide-20-small-plm-capabilities.jpg}{Small PLM 的核心研究问题:能否从应用数据直接学习}{Stanford Online 官方录像 00:54:16}

Small-data fit 不等于 general language ability

训练集 PPL 很低可能来自 memorization。至少需要 held-out users、未见表述、噪声 ASR、任务外输入与时间漂移测试,才能判断模型是否学到稳健 directive semantics。

\teachervoice{00:41:57--00:42:33,Williams 主动区分“很快学会几千 tokens”与“成为广泛会说话的语言模型”;前者是观测,后者没有由小数据结果证明。}

\teachervoice{00:54:16--00:55:21,讲者把 application-only transfer from scratch 作为开放问题,而不是已经解决的能力。}

本章小结

PLM 配置跨越 tiny controller 到中型 language model,但每一档都依赖不同词表、context、数据与硬件。真正可重复的训练叙事是 warm--freeze--thaw;速度 headline 只有在完整计入 statistics、cache 和 evaluation 后才有工程意义。

Application-only edge learning:让本地开关自己收集数据

课程后半把抽象架构落到一个极小任务:语音控制开关。目标不是做一个通用 assistant,而是验证模型能否在 air-gapped 环境中从零收集本地 user data、学习 binary action,并在 microprocessor 上完成训练与推理。

不用通用 pretraining:任务数据从哪里来

Application-only pipeline 从用户真实交互构造监督数据。系统监听语音、做 automatic speech recognition(ASR,自动语音识别)、在模型不确定时让用户实际操作开关,再把 transcript 与 action 配对。它避免先收集大规模指令语料,但必须处理错误 transcription、label delay 与行为分布极窄的问题。

\lecturefigure{slide-21-application-only-training.jpg}{只用应用交互数据训练 PLM 的整体流程}{Stanford Online 官方录像 00:55:21}

Air-gapped 的准确含义

Air-gapped 指设备训练/推理不依赖网络连接,数据不离开本地环境。它不自动等于安全:麦克风权限、固件更新、物理访问、模型文件和日志仍需威胁建模。

\teachervoice{00:55:21--00:58:34,讲者把任务拆成 listen、transcribe、operate、learn:没有现成 generic pretraining,label 来自用户在需要时实际拨动开关。}

Self-supervised interaction:这里的“self”来自环境反馈

Slide 使用 self-supervised 一词,但严格说系统仍得到 action labels;只是标签由本地交互自然产生,而非事先人工标注 corpus。设 transcript feature 为 \(x_t\),用户动作 \(y_t\in\{0,1\}\),可用 binary cross-entropy

\[ \mathcal L_t=-y_t\log p_\theta(y_t=1\mid x_t) -(1-y_t)\log\bigl(1-p_\theta(y_t=1\mid x_t)\bigr). \]

\lecturefigure{slide-22-self-supervised-voice.jpg}{语音交互任务的 listen--transcribe--operate--learn 分解}{Stanford Online 官方录像 00:56:53}

ASR error 会成为 label noise

用户说的是一个句子,模型训练看到的是 ASR transcript。如果转写错了但动作标签正确,数据对会把错误文本绑定到动作。评估必须记录 word error rate、口音/噪声条件,并保留原音频或可审计的对齐信息。

Smart data collection:只在信息不足时请求动作

上一节只列出 listen、transcribe、operate、learn 四个组件,本节把它们组织成会主动获取标签的闭环。关键问题不是“麦克风怎样录音”,而是何时相信模型预测、何时向用户或物理开关索取监督,以及新样本怎样回流而不放大旧错误。系统不是被动等待固定 dataset,而是在交互中形成一个 local active-learning loop:模型听到指令后给出预测;若 confidence 低或用户纠正,就请求或观察真实动作并加入训练集。

\lecturefigure{slide-23-smart-data-collection.jpg}{用户、麦克风、ASR、模型与开关形成的本地学习闭环}{Stanford Online 官方录像 00:58:34}

本地语音开关的交互学习状态机
while device_is_on:
    audio = microphone.listen()
    transcript = asr.transcribe(audio)
    action, confidence = model.predict(transcript)

    if confidence < threshold or user_overrides(action):
        label = observe_physical_switch()
        local_dataset.append(transcript, label)
        model.update(local_dataset.recent_examples())
    else:
        controller.execute(action)

Online learning 的三个风险

  1. Feedback loop:模型错误可能影响用户行为,随后又被当作新数据。
  2. Catastrophic forgetting:只训练近期命令可能忘掉早期表达。
  3. User drift:说话方式、环境噪声和设备用途会随时间改变。

课堂没有给出这些问题的完整解法,因此复现时必须额外设计 replay、holdout 与 rollback。

\teachervoice{00:58:34--01:00:10,Williams 把数据收集描述为交互闭环:系统本地监听和转写,只有需要监督时才让用户操作,从而逐步积累 directive/action pairs。}

Dialogue representation:把 binary action 写成语言序列

交互闭环解决了标签从哪里来,接下来还要决定数据以什么形式进入模型。课程没有为开关单独设计一个完全不同的 classifier,而是把用户命令和设备动作串成 dialogue,让同一 character/token language model 读取 utterance 并预测结构化 action token。读 Slide 24 时应先找输入/输出边界,再判断这种统一格式带来的扩展性是否值得额外序列开销。该表示也可能浪费容量在固定模板文本上。

\lecturefigure{slide-24-dialogue-data.jpg}{开关交互被表示成 user/device dialogue}{Stanford Online 官方录像 01:02:15}

可抽象成序列

\[ s_t=[\texttt{USER}:u_t,\ \texttt{DEVICE}:a_t], \]

其中 \(u_t\) 是 transcript,\(a_t\in\{\texttt{ON},\texttt{OFF},\texttt{NOOP}\}\)。若目标只是控制,直接 classifier 更轻;若未来要生成 clarification 或 reply,dialogue formulation 才提供扩展空间。

Binary switch 不等于 general dialogue

模型只需在极窄 action space 中预测 ON/OFF/NOOP。命令表述多样性可以很高,但输出复杂度仍远低于开放式语言生成。

Potato 与 orange:edge 配置仍需完整系统账本

课堂给出两种小配置。Potato 使用更小 vocabulary/embedding/context,在 Le Potato 上训练;orange 稍大,目标是降低 latency 并提高预测。表中参数量只是 weight count,还需加入 ASR、audio buffering、runtime 与模型更新内存。

\lecturefigure{slide-25-potato-configs.jpg}{Potato 与 orange PLM 的 edge configuration}{Stanford Online 官方录像 01:02:38}

Edge controller 的端到端 latency

\[ T_{\text{interaction}}=T_{\text{audio}}+T_{\text{ASR}}+T_{\text{model}} +T_{\text{controller}}+T_{\text{actuator}}. \]

只优化 \(T_{\text{model}}\) 不一定让用户感觉更快。课堂演示的多秒延迟可能主要来自 transcription、CPU inference 或串行调用,需要 profiler 分解。

\teachervoice{01:00:10--01:02:48,讲者说明最小 character-level potato PLM 大约用 20 分钟交互学会 directives;更大配置能提高预测,却增加资源和响应成本。}

Emergent positive performance:样本够了才出现可用预测

结果表显示早期数据不足时,positive/negative predictions 接近无意义;积累到一定交互量后,正确 action prediction 明显上升。这里的 emergence 是一个小任务的 sample-threshold phenomenon,不是大模型 benchmark 中的跨任务 emergent ability。

\lecturefigure{slide-26-emergent-positive-performance.jpg}{随本地交互样本增加出现的开关预测能力}{Stanford Online 官方录像 01:02:48}

如何验证不是 class imbalance 假象

报告 ON/OFF/NOOP 每类样本数、balanced accuracy、precision/recall、confusion matrix、按用户拆分的 holdout,以及 never-seen paraphrases。若多数时候开关保持不变,单看 accuracy 可能被 majority class 放大。

\teachervoice{01:02:48--01:04:08,Williams 说一开始没有足够数据时模型几乎无从预测;样本积累后能力会跳升。但 Le Potato 每次交互仍需数秒,prototype 可行却令人等待。}

Where next:可行性之后还有很长工程路径

最后一张教学 slide 把本地 PLM 视为 edge-trainable controller。未来包括设备 talk-back、更一般的 phone actions、传统 attention 与 SAFFU 的 hybrid、改进 bit-cipher、不同 layer warm starts、larger evaluation 和 BabyLM challenge。

\lecturefigure{slide-27-where-next.jpg}{从 binary switch 走向更一般本地控制器的开放议程}{Stanford Online 官方录像 01:04:12}

课堂结束时仍没有公开实现

Q&A 说代码要等论文和 evaluation infrastructure 完成后再发布。任何复现都不能假设存在成熟 SDK、标准 benchmark adapter 或可直接下载的 checkpoint。

\teachervoice{01:04:11--01:06:50,讲者把 binary switch 称为起点,不是终点;conversation role、phone actions、hybrid attention、better bit-cipher、larger models 与标准评测都还是 work in progress。}

\teachervoice{01:19:02--01:19:41,最终 Q&A 说明公开 SAFFU implementation 当时尚不存在,主要阻碍是非标准 architecture 所需的 evaluation functions 还未建设完成。}

本章小结

Le Potato 实验说明极小任务可以在本地从交互数据起步,并在约 20 分钟内出现有用 prediction。它同时暴露了真实限制:ASR noise、窄 action space、class balance、multi-second latency、没有标准 evaluation 和没有公开实现。

Q&A 延伸:适用范围、数学假设与未完成比较

Q&A 没有新增独立 slide,却补齐了正文最容易被夸大的四个边界:warm-start evidence 的 architecture、非 softmax layer 的覆盖、non-negative assumption,以及 packing comparison 的缺失。

Mixed modalities 可以想象,但每种 layer 都要满足条件

若 image features 与 text features 都经过非负处理,并进入 softmax layer,同一 generalized co-occurrence 形式在数学上可以累计 mixed inputs。可写成

\[ H_m=\operatorname{concat}(H_m^{\text{image}},H_m^{\text{text}}), \qquad F=H^\top Y. \]

但真实 multimodal model 还含 convolution/vision encoder、normalization、projection、cross-attention 等组件,不能只初始化最后一层就声称完整模型被显式优化。

\teachervoice{01:14:33--01:15:25,讲者认为 mixed non-negative features 可共享同一 softmax warm start,因此 image captioning 在概念上可能;这只是可推导方向,不是已完成系统。}

Non-negativity 为什么不是实现细节

公式含 \(\log F_{j,i}\)。若 feature 有负值,outer-product sums 可能为负,log 不再对应概率或共现强度。可以通过 feature splitting、positive transform 或另行推导处理,但每种选择都会改变统计意义和最优条件。

非负假设的直接检查

在实现显式初始化前,先检查 feature minimum、negative fraction、zero columns 和 column mass。不要在出现负数后静默取 absolute value;那会改变方向信息且不再对应原推导。

\teachervoice{01:15:29--01:16:14,Williams 用“negative value 进入 logarithm 会发生什么”回答假设来源,并明确说负 feature 需要新的 derivation,而不是小修补。}

标准 attention、SAFFU 与 concatenation 的适用场景

三种机制解决不同问题。Concatenation 保留每个位置的独立 feature slot,几乎不需重新加权,但维度随 context 线性增长;standard attention 把不同位置 superpose 后再学习选择;SAFFU 直接变换 comparison matrix,并围绕该矩阵做显式初始化与缓存。

三种 context 表示对照

方式 优点 主要代价/限制
Concatenation 位置信息完全分离、易做单层实验 维度随 context 增长,不适合长序列
Standard attention 灵活 projection、多头、适配不同表示 随机参数多,quadratic comparisons
SAFFU proposal 可显式初始化、可缓存固定比较 强假设、非标准实现、composition 未完全解决

本章小结

Q&A 把课程从“惊人的效率故事”拉回可验证边界:实验不全是 attention,跨 layer type 需要新推导,negative features 破坏当前 log 公式,packing 比较尚未完成,软件也仍在建设。

总结与延伸

这堂课最值得保留的不是某个 speedup headline,而是一套把 architecture、statistics 与 systems 连起来的思考方式:如果能从数据统计得到可解释初值,就可能减少随机训练;如果底层表示固定,就可能缓存重复比较;如果任务极窄且数据本地生成,就可能把训练移到 edge。每一步都带来新约束,不能只取收益、丢掉前提。

三层压缩:初始化、计算复用与本地数据闭环

第一层是 initialization:bit-cipher 提供 deterministic non-negative representation,generalized co-occurrence 为 softmax layer 提供 warm start。第二层是 computation reuse:frozen embeddings 使 pairwise comparisons 可缓存,dynamic context 避免短样本支付最长窗口成本。第三层是 data loop:edge controller 从真实交互中采集 transcript/action pairs,用窄任务换取少数据可学性。

课程的最小可信结论

  1. 对满足假设的 softmax layer,data-derived warm start 可以优于随机起点。
  2. Warm start 后的 iterative training 仍有价值,尤其对多层 composition 和最终表示适配。
  3. Fixed representations 让部分比较可缓存,但 cache、内存与 invalidation 必须计入系统成本。
  4. Tiny local controller 可以从应用交互学习窄 action,但不能据此推出通用对话能力。

复现实验 checklist

复现这类工作时,最容易遗漏的是假设与额外成本。下面的 checklist 应和结果图一起发布。

SAFFU/PLM 复现与发布清单
record_official_architecture_and_parameter_shapes()
verify_nonnegative_features_and_softmax_activation()
publish_explicit_initialization_formula_and_epsilon()
report_priming_number_distribution_and_sensitivity()
separate_stats_cache_backprop_and_evaluation_time()
compare_tuned_cold_warm_frozen_and_thawed_baselines()
document_cache_size_location_hit_rate_and_invalidation()
evaluate_heldout_users_paraphrases_noise_and_class_balance()
report_end_to_end_edge_latency_not_model_latency_only()
publish_code_data_splits_seeds_and_failure_cases()

看到“无需 pretraining/backprop”时立即追问

是哪一层无需?显式统计量用了多少数据?后续是否仍做 gradient tuning?Embedding 是否冻结?测试是 training fit 还是 held-out generalization?Unsupported layers 是否随机初始化?若这些问题没有答案,headline 远大于证据。

自测问题

未转换的 LaTeX 环境:multicols
\begin{multicols}{2}
\small

1. 标准 $QK^\top$ attention 与 $XWX^\top$ 在参数化上有什么关系?
2. 为什么 SAFFU 仍然是有参数 attention,而不是无参数相似度?
3. Near-shallow 描述的是 depth,还是在线更新/计算依赖?
4. Bit-cipher 为什么需要 $b\ge\lceil\log_2(V+1)\rceil$?
5. Generalized co-occurrence $H^\top Y$ 与传统词窗共现有什么不同?
6. 显式 softmax solution 为什么需要 non-negative features?
7. Priming number $K$ 在公式中修正什么?
8. 为什么 attention 的 hidden targets 比 decoder targets 更难获得?
9. Warm-start PPL 图为什么不能直接证明 SAFFU attention 更好?
10. MNIST 结果能证明什么,又不能证明什么?
11. Frozen embedding 为什么同时影响训练速度和 cache correctness?
12. Packing 与 dynamic context 分别减少哪种浪费?
13. PLM 的 precision 为什么不是 FP16/BF16?
14. Warm--freeze--thaw 三阶段各自优化什么?
15. Le Potato 的端到端 latency 包含哪些组件?
16. Binary switch accuracy 为什么可能被 class imbalance 误导?
17. 哪些结论在课堂结束时仍只是 future work?


\end{multicols}

拓展阅读

\begingroup

\setlength{\itemsep}{2pt}

\endgroup