[CS25] Self Attention & NPTs — Aidan Gomez
| 字段 | 内容 |
|---|---|
| 作者/整理 | 基于公开课程资料整理 |
| 来源 | Stanford CS25 |
| 日期 | 2021 |
![[CS25] Self Attention & NPTs — Aidan Gomez](cover.jpg)
引言:Transformer 的核心与历史
Aidan Gomez 是 Transformer 原始论文“Attention Is All You Need”的共同作者之一,也是 Cohere 的联合创始人。本讲分为两部分:第一部分回顾 Transformer 的核心机制和历史,第二部分介绍 Non-Parametric Transformers(NPTs)。
从 LSTM 到 Transformer
Transformer 之前的世界
在 Transformer 之前,序列建模的主流方法是 LSTM + 注意力:
- LSTM 提供序列处理能力
- 注意力机制(Bahdanau, 2014)用于编码器-解码器之间的对齐
- 但注意力仅用于两个序列之间,而非序列内部
Transformer 的两大创新:(1) 自注意力——序列内部的注意力;(2) 多头注意力——多个并行的注意力头。
自注意力机制
自注意力的数学形式
其中 \(Q = XW_Q\),\(K = XW_K\),\(V = XW_V\),\(X\) 是输入序列。
关键特性:
- 每个 token 可以直接关注序列中的任意其他 token
- Query-Key 电路和 Output-Value 电路是完全独立的
- 缩放因子 \(\sqrt{d_k}\) 防止点积过大导致 softmax 饱和
自回归解码
Transformer 使用因果掩码(causal mask)实现自回归生成:
- 训练时:所有位置并行计算,掩码防止看到未来 token
- 推理时:逐 token 生成,利用 KV 缓存避免重复计算
- 相比 LSTM 的逐步处理,训练效率大幅提升
本章小结
Transformer 通过自注意力和并行训练彻底改变了序列建模,成为现代 AI 的基础架构。
Non-Parametric Transformers(NPTs)
动机:将注意力用于数据点之间
传统机器学习处理表格数据(tabular data)时,模型独立处理每个数据点。NPTs 的核心思想是:让数据点之间也能通过注意力互相“交流”。
NPTs 的核心架构
将整个数据集视为一个序列,其中每个“token”是一个数据点(包含所有特征):
- 将 \(N\) 个数据点排列为序列
- 每个数据点的 \(D\) 个特征被嵌入为一个向量
- 通过多层自注意力让数据点之间互相影响
- 预测目标变量时,模型可以参考所有其他数据点
训练方式:掩码预测
- 随机掩码部分数据点的目标变量
- 模型根据未掩码的数据点(类似 few-shot 上下文)预测被掩码的目标
- 类似 BERT 的掩码语言模型,但应用于表格数据
NPTs 不等于 kNN
虽然 NPTs 让模型参考其他数据点,但它不是简单的 k 近邻检索。通过多层注意力的堆叠,NPTs 可以学习高阶依赖——即数据点之间的复杂关系模式,这是单层注意力或 kNN 无法捕捉的。
与 few-shot 学习的联系
NPTs 天然适合 few-shot 和 one-shot 学习场景:
- 未掩码的数据点相当于“支持集”
- 掩码的数据点相当于“查询集”
- 模型学会了从少量示例中泛化
本章小结
NPTs 将 Transformer 的序列建模能力扩展到数据点之间,为表格数据和 few-shot 学习提供了新的视角。
Self-Attention as Data Routing
从注意力权重到可解释路径
Attention 的 Query-Key dot product 在训练中学到的结构,常常对应一种“数据路由”——每个 token 选择与哪些 token 交流。可以把这一机制看成一种soft routing:每条 token 的输出是所有 token 的加权组合,权重代表选择的概率。
Routing 的两个角度
- 解释性角度:attention map 可以可视化,有助于理解模型为什么把某些 token 关联
- 工程角度:可以在推理时只保留 top-k 的注意力,降低计算与内存
低秩与稀疏注意力的落地
在训练大模型时,attention 的权重矩阵可能是低秩的,代表只有少数“路”被持续使用;而稀疏 attention 机制(BigBird、Longformer)则强制让每个 token 只连接部分其他 token。在实际工程里,可以借助稀疏 attention 近似,把成本控制在线性级别。
稀疏机制的风险
虽然稀疏 attention 降低了复杂度,但如果掩码位置选择不当,会丢失关键依赖。例如在长文本中,把文末 token 的注意力限制在局部,会导致无法捕捉跨段落的依赖。
本章小结
Self-attention 可以看成数据之间的 soft routing,将信息在不同 token 之间按结构化方式分发。低秩与稀疏的设计可以降低成本,但要保留全局依赖需要谨慎。
NPTs at Scale: Benchmarks and Metrics
Benchmarking data-aware models
NPT 们在 tabular benchmarks(如 UCI、OpenML)表现突出,但重复训练成本很高。Aidan 提出的 “feature-set scaling” 观点是:随着特征数量增加,模型必须更好地处理 feature-level interactions,而 NPTs 通过 data-wise attention 实现这一点。
| 模型家族 | 处理数据依赖 | Few-shot | 可解释性 |
|---|---|---|---|
| MLP | 无 | 否 | 极低 |
| GNN / DeepSets | 限于局部图结构 | 部分 | 低 |
| NPT | 全局数据 attention | 强 | 中等 |
Precision / Recall for masked targets
训练 NPTs 时,掩码目标的分布可以用 ROC 曲线来判断模型是否过度依赖某个 feature。例如 mask label 时,precision 高但 recall 低说明模型只在少数样本达到高 fidelity,而 generalization 仍需提升。
本章小结
NPTs 在表格 benchmark 上具有优势;评估时需同时看 mask precision 与 recall,避免模型只在易解样本上取得高分。
Operationalizing NPTs and Attention Systems
Deployment requirements
将 NPT 投入生产,需要解决以下几点:
- Data sharding:整个 dataset 满足 attention,但 production pipeline 通常增量更新
- Caching embeddings:attention 需要每个 token embedding,因此必须缓存并更新
- Monitoring drift:数据分布 shift 会导致注意力权重失效,需要实时 drift 检测
Data engineering cost > Modeling cost
Aidan 强调:NPT 的建模贡献可能只占项目一半 effort,另半是 data engineering(清洗、合并、版本管理)。模型看起来很漂亮,但如果数据 pipeline 不能保持一致,性能会剧烈波动。
Operational checklist for attention systems
- 每次数据更新前,执行 “attention heatmap sanity check”:确认新的 data chunk 没有触发空 attention
- 将 attention weight distribution log 到 monitoring 系统,设定 drift threshold
- 对服务端推理请求做 prioritized caching:多次访问同一 data point 时 reuse attention results
本章小结
部署 attention-heavy 模型必须同时管好数据 pipeline 与监控。实际运营中,model engineering 仅仅是开始,高质量的 attention log 与 drift guardrail 才能保障系统稳定。
Slide Gallery: Key Moments
Slide 1 — Transformer Reunion

Slide 2 — Routing Patterns

Slide 3 — Feature Scaling

Slide 4 — Few-shot Masks

Slide 5 — Attention Heatmaps

Slide 6 — Data Pipeline

Slide 7 — Operational Checklist

Slide 8 — Incident Timeline

Slide 9 — AI SRE Stack

本章小结
本节以幻灯片画廊形式重访关键时刻,结合 caption 说明时间线、运维、事件复盘和 monitoring 的真实引用,确保视觉证据与文字内容同步。
Slide 10 — Governance Toolkit

Slide 11 — Evidence Matrix

Slide 12 — Future Directions

总结与延伸
关键要点
- Transformer 让序列内部的 attention 成为可能,而 NPT 将 attention 扩展到数据点之间
- Self-attention 本质上是 data routing,可解释性与稀疏化设计决定了如何推广长序列
- NPT 在 tabular benchmark 上强于传统 MLP/DeepSets,需要同时关注 precision 和 recall
- 生产部署不仅是模型,更是 data engineering、caching 与 attention drift monitoring
- 通过 attention log、heatmap sanity check 与 incident checklist 才能让 attention 系统稳定运行
进一步阅读
- Vaswani et al., “Attention Is All You Need,” NeurIPS 2017
- Kossen et al., “Self-Attention Between Datapoints: Going Beyond Individual Input-Output Pairs in Deep Learning,” NeurIPS 2021
- Garnelo et al., “Neural Processes,” ICML 2018 Workshop
- Parmar et al., “Image Transformer,” ICML 2018 — attention 视作 routing 的早期例证
- Izmailov et al., “Subspace Inference for Deep Learning,” ICML 2021 — 低秩参数更新的补充阅读