跳转至

Lecture01

LaTeX 源码

\makecscover

来源审计:这是一张课程地图,不是一份模型年表

本讲是 CS25 Transformers United V1 的导论,由 Advay Pal、Chetanya Rastogi 与 Div Garg 主讲。课程在 2021 年秋季开设,公开视频于 2022 年 7 月上传。原视频只有 22 分 43 秒,却承担三项任务:说明 speaker series 的组织方式,给出 attention 到 Transformer 的最小历史线索,并用 GPT-3 与 BERT 建立 decoder-only/encoder-only 的家族坐标。

仓库没有找到独立 slide PDF,但视频清楚展示了原始 deck。本文从官方视频恢复 17 张有教学信息的 slide;纯章节分隔页与 self-attention 动画的重复 build state 被有意省略。扩展公式、手算例子与伪代码用于让讲义可独立学习,不表示每一行都在课堂上逐字出现。

历史快照与当前知识

“Where we are”与“The Future”反映的是 2021 年课堂视角。本文保留它们作为 field snapshot,不把当时的未来判断写成 2026 年当前事实。后续技术扩展只用于解释持久机制,并与课堂原话分开。

Speaker series 的学习接口

CS25 V1 不是按照一部教材逐章讲授,而是邀请不同领域研究者说明 Transformer 如何进入自己的问题。导论的作用因此类似 API contract:先给出共同术语与架构,再让后续讲者分别替换数据、目标、mask、tokenization 与 evaluation。读者需要持续追问“哪些结构是 Transformer 的,哪些是领域特定设计”。

\lecturefigure{slide-01-course-page.jpg}{CS25 V1 以跨领域 guest lectures 组织 Transformer 知识。}{官方视频 00:30;Stanford CS25 V1 course page。}

读图:课程页不是行政截图,而是知识拓扑

页面把 instructors、faculty advisor 与 speaker schedule 放在一起,说明课程的主要证据来自一线研究实践。后续讲次可能覆盖 NLP、vision、reinforcement learning、generative modeling 或 biology,但共同语言仍是 token 表示、attention pattern、训练目标和系统代价。阅读整门课时,先记录每位讲者改变了哪个接口,再比较哪些机制跨领域复用。

\lecturefigure{slide-02-title.jpg}{Transformers United 的核心对象是深度学习模型,而不是会变形的机器人。}{官方视频 00:55。}

读图:玩笑背后的范围声明

标题用 Transformers 玩具形象制造记忆点,但讲者立即把范围收回到 deep learning。真正的“变形”是计算图的可迁移性:同一个 token-mixing 核心可以处理单词、图像 patch、动作、音频 frame 或生物序列;输入语义不同,表示与目标也不同。课程不会把所有领域简化成同一任务,而是研究统一骨架如何与领域归纳偏置结合。

\teachervoice{开场特意澄清“不是会变成汽车的机器人”,随后强调 Transformer 从 NLP 扩散到 CV 与 RL。这个轻松过渡保存了课程的真正 thesis:模型名相同不等于任务相同,但可复用的 interaction mechanism 正在连接原本分散的研究社区。}

谁在讲,以及为什么跨领域

三位讲师的背景覆盖 production software、generative modeling、reinforcement learning、robotics 与 NLP。这种组合影响了课程的选题:既关心公式,也关心模型如何进入真实系统;既讨论语言,也鼓励把 architecture 看成可迁移的研究工具。

\lecturefigure{slide-03-instructors.jpg}{三位讲师的背景横跨软件工程、NLP、生成建模、RL 与 robotics。}{官方视频 01:30。}

读图:背景差异决定问题差异

软件工程视角会追问部署、接口与可维护性;NLP 视角关心语言表示、预训练和迁移;RL/robotics 视角关心时序决策、部分可观测与行动反馈。Transformer 并不会自动解决这些问题,但它提供统一的 sequence interaction primitive,使不同领域能够共享优化、规模化和表示学习经验。

三项学习目标

导论明确给出三个 outcome:理解 Transformer 如何工作;理解它为何超越 NLP;从 guest talks 中发现新研究方向。它们分别对应 mechanism、transfer 与 research taste。只记住 \(QK^\top V\) 不能完成第二、第三项;只追逐应用名词又无法判断迁移是否合理。

\lecturefigure{slide-04-learning-goals.jpg}{课程目标依次是机制理解、跨领域应用与新研究方向。}{官方视频 02:05。}

读图:把目标变成三层检查表

Mechanism 层要求解释 token 如何交互、mask 如何限制信息、position 如何进入表示;application 层要求说明 tokenization、objective、data 与 evaluation 的变化;research 层要求识别当前失败模式和可证伪假设。后续每讲都可用这三层复盘,避免把 guest lecture 变成公司或论文名录。

本章小结

Lecture 01 的角色是建立共同接口。课程用 guest talks 连接多个领域;本文则用完整来源幻灯片、教师口吻和自包含推导把这张地图补全。

Attention Timeline:Transformer 从何而来

Transformer 的历史不能写成“2017 年突然发明 self-attention”。它继承了 sequence modeling、encoder-decoder、alignment 与 attention 的长期积累。时间线最重要的教学作用,是把 Transformer 看成对信息路径的重新设计:从递归压缩,转向按查询读取,再转向序列内部的直接交互。

从 recurrent memory 到 attention

\term{RNN}(recurrent neural network,循环神经网络)按时间递归更新隐藏状态:

\[ h_t = f(x_t,h_{t-1}), \]

其中 \(x_t\) 是第 \(t\) 个输入,\(h_t\) 是截至当前位置的状态,\(f\) 通常由带参数的非线性单元实现。\term{LSTM} 与 \term{GRU} 是带门控的 RNN 变体,用显式 gate 缓解梯度消失并控制记忆保留。它们可以编码顺序,但信息必须沿长链逐步传播,训练也难以在时间维完全并行。

\lecturefigure{slide-05-attention-timeline.jpg}{Attention、self-attention 与预训练模型位于连续演化的时间线上。}{官方视频 03:10;Vaswani et al. 2017。}

读图:时间线的单位是信息路径

最早的 sequence model 把历史压入 recurrent state;2014--2015 年 attention 允许 decoder 对多个 encoder state 加权读取;2017 年 Transformer 进一步让 token 之间直接 self-attend;之后的 BERT、GPT 等预训练模型把同一架构扩展为通用表示或生成接口。关键趋势不是模型名字越来越多,而是监督信号、计算并行性与可复用性同时扩大。

\teachervoice{讲者把“Attention Is All You Need”称为简单 attention idea 的关键转折,但也先展示 prehistory。课堂提醒:一个成功架构往往把已有机制重新组合到更适合硬件、数据和训练目标的接口中,而不是从零创造全部组件。}

Seq2seq 的 fixed-vector bottleneck

\term{seq2seq}(sequence-to-sequence)模型把输入序列编码为表示,再由 decoder 逐步生成输出。早期做法常把整个源序列压成单个 \term{context vector}(上下文向量)\(c=h_n\)。当输入很长时,所有词义、顺序和依赖都竞争有限容量;decoder 还必须从同一 \(c\) 中恢复每一步需要的信息。

\lecturefigure{slide-06-prehistory.jpg}{RNN、seq2seq、LSTM 与 GRU 能编码记忆,却面临长序列和 context bottleneck。}{官方视频 03:45。}

读图:不要把“RNN 不工作”当绝对结论

Slide 的红色叉号强调长上下文与内容访问困难,不表示 RNN 在所有任务上失效。门控 RNN 曾经并仍可在小模型、流式处理和强顺序偏置任务中有效。Transformer 的优势来自更短的信息路径和并行训练,但也付出 attention matrix、内存和较弱局部偏置的代价。正确比较应指定序列长度、延迟、数据规模和硬件。

Bottleneck 的本质

若 decoder 第 \(t\) 步只能读取同一个 \(c\),它无法直接问“源序列中哪个位置与当前生成最相关”。Attention 的关键不是把向量做得更大,而是把接口改成 query-conditioned retrieval:每个生成步都能产生自己的权重并读取不同位置。

本章小结

Transformer 的前史是一条信息访问路线:RNN 递归携带状态,seq2seq 压缩序列,attention 按需读取,self-attention 则让每个 token 都能成为查询者和信息源。

2021 Field Map:已经到哪里,还缺什么

理解架构还需要理解它为何获得跨领域注意。到 2021 年,Transformer 已从语言生成与理解扩展到 vision、generative modeling、reinforcement learning 与结构生物学相关系统。这里不能只列应用名词;要问每个领域如何定义 token、position、mask 与 objective。

跨领域迁移不是简单复制

语言通常把 subword 当 token,图像可把 patch 当 token,RL 可把 state/action/reward 序列化,蛋白质可以氨基酸或 residue representation 建模。相同 self-attention 公式在不同领域处理的关系完全不同,因此 preprocessing、inductive bias 与 evaluation 决定迁移是否成立。

\lecturefigure{slide-07-where-we-are.jpg}{2021 年课堂已把 Transformer 放入 NLP、vision、RL 与生成建模的共同版图。}{官方视频 04:30。}

读图:先识别 token,再讨论架构

在 NLP 中 token 有离散词序和语法;vision patch 还需要二维位置与局部结构;RL trajectory 包含动作因果和回报;generative image model 可能在 pixel、latent 或 codebook token 上工作。若只说“都用 Transformer”,会隐藏最关键的建模选择。读后续课程时先写四列:token、position、mask、loss。

AlphaFold2 不是“只靠 Transformer”

Transformer-like attention 是 AlphaFold2 的重要组成,但系统还结合多序列比对、pair representation、几何模块与结构推理。跨领域成功通常来自 attention 与领域结构的共同设计,而不是把文本模型原封不动应用到新数据。

Future slide 中的持久问题

Slide 一方面想象 video understanding、finance 与 generative modeling 等应用,另一方面列出 external memory、降低计算复杂度、以及与人类目标对齐等缺失组件。这些问题之所以持久,是因为 Transformer 只定义信息混合,不自动提供长期状态、低成本计算或正确目标。

\lecturefigure{slide-08-future.jpg}{应用扩张与缺失组件必须同时阅读。}{官方视频 05:55。}

读图:右列比左列更像研究议程

左侧应用回答“可能在哪些任务上有价值”;右侧 missing ingredients 回答“为什么架构本身还不够”。External memory 处理超出 context 的持久信息,efficiency 处理 \(O(n^2)\) attention 与训练成本,alignment 处理目标、反馈和社会约束。任何应用 proposal 都应至少对应一项能力假设和一项失败模式。

\teachervoice{讲者并没有把 Transformer 描述为终点,而是把应用与缺失组件并列。课堂提示:研究品味来自同时看到“能做什么”和“为什么还做不好”,而不是在成功 demo 后停止追问。}

本章小结

跨领域统一来自 interaction primitive,不来自任务同质化。课程的未来地图把 tokenization、memory、efficiency 和 alignment 留作后续问题,为 guest lectures 提供坐标。

Basic Attention:从固定压缩到按需读取

在进入 self-attention 前,先掌握编码器—解码器 attention。编码器为每个源位置产生一组状态 \(h_1,\ldots,h_n\)。在时间 \(t\),decoder 使用状态 \(s_{t-1}\) 计算兼容度、归一化权重和 context:

\[ e_{t,i}=v^\top\tanh(W_hh_i+W_ss_{t-1}),\qquad \alpha_{t,i}=\frac{\exp(e_{t,i})}{\sum_j\exp(e_{t,j})},\qquad c_t=\sum_i\alpha_{t,i}h_i. \]

其中 \(e_{t,i}\) 是第 \(t\) 个 query 与源位置 \(i\) 的 score,\(\alpha_{t,i}\) 是归一化 attention weight,\(c_t\) 是本步读取结果。这个 Bahdanau-style additive attention 把一个 context vector 改成每步不同的 context。

Soft 与 hard attention

\term{soft attention} 对所有候选位置使用连续权重,通常可通过反向传播端到端训练;\term{hard attention} 选择或采样少数位置,计算可能更稀疏,但离散选择通常不可直接微分,需要 policy-gradient、relaxation 或其他 estimator。二者不是“软更准确、硬更快”的固定排序,真实效果取决于任务和训练方法。

\lecturefigure{slide-09-part-soft-attention.jpg}{早期视觉 attention 已区分 soft 与 hard selection。}{官方视频 06:30;Xu et al. 2015 slide citation。}

读图:连续权重与离散选择改变训练接口

Soft attention 像对多个区域做可微加权平均,梯度能流向每个位置;hard attention 像选择一个或少数区域,计算路径更明确,却引入采样方差和信用分配问题。图中的 cat 示例不是为了证明模型“看懂猫”,而是展示注意力权重可作为信息路由的中间变量。权重可视化也不自动等于因果解释。

Attention weight 不必等于人类解释

高权重表示当前计算读取了某个 value 的程度,但模型还经过 residual、multi-head、nonlinearity 和后续层。不能仅凭一张 heatmap 断言模型的完整推理原因;需要 ablation、counterfactual 或 causal intervention 验证。

Global 与 local attention

\term{global attention} 在每个 decoding step 对全部源位置评分;\term{local attention} 只在预测窗口或选定邻域内评分。Global 提供完整访问但成本随长度增长,local 引入近邻偏置并减少计算,却可能错过远距离证据。后来的 sliding-window、block-sparse 与 routing attention 都可以看成这类设计空间的延伸。

\lecturefigure{slide-10-local-global-attention.jpg}{Global attention 读取全序列,local attention 只读取局部窗口。}{官方视频 07:10;Luong et al. 2015。}

读图:窗口是归纳偏置,不只是优化技巧

Global model 假设任意位置都可能相关;local model 假设大多数依赖集中在邻域。窗口大小、中心预测方式与边界处理会改变可表达关系。对于长文档、音频或视频,局部结构往往真实存在,但跨段引用也同样重要;系统需要在吞吐、内存和任务依赖之间选择,而不是把 sparse attention 当无损替代。

Attention 的第一次接口重构

早期 attention 仍保留 recurrent encoder/decoder,但把读取方式从 fixed vector 改为 content-dependent weighted retrieval。Self-attention 的下一步,是让同一序列中的每个位置都通过类似接口读取其他位置。

本章小结

Basic attention 已经包含后来系统的核心设计轴:连续或离散、全局或局部、完整访问或稀疏路由。Transformer 的创新不是发明“权重”,而是把 attention 提升为主要序列计算层。

Self-Attention:Query、Key、Value 与直接交互

\term{self-attention}(自注意力)让输入序列同时产生 query、key 和 value。每个位置用 query 与所有 key 比较,再用权重汇总 value。它与 encoder-decoder attention 的区别不是公式完全不同,而是 query、key、value 来自同一序列,因此 token 可以直接建立内部依赖。

Scaled dot-product attention

令输入矩阵 \(X\in\mathbb{R}^{n\times d_{model}}\),线性投影得到

\[ Q=XW_Q,\qquad K=XW_K,\qquad V=XW_V. \]

Scaled dot-product attention 为

\[ \operatorname{Attention}(Q,K,V) =\operatorname{softmax}\!\left(\frac{QK^\top}{\sqrt{d_k}}+M\right)V. \]

\(n\) 是 token 数,\(d_k\) 是 key/query 维度,\(QK^\top\) 给出所有 query-key score,\(\sqrt{d_k}\) 防止维度增大后 dot product 过大,\(M\) 是可选 \term{mask}(掩码),把不允许访问的位置加上 \(-\infty\),softmax 后权重近似为零。

\lecturefigure{slide-11-self-attention-formulation.jpg}{Self-attention 用同一序列产生 query、key 与 value。}{官方视频 08:00;Vaswani et al. 2017。}

读图:一个 token 同时有三种角色

Query 表示“我现在需要什么”,key 表示“我可以用什么索引被匹配”,value 表示“若被选中,我提供什么内容”。三者来自不同线性投影,因此同一个词可以用一种子空间决定相关性、另一种子空间传递信息。输出仍是一组 token representation,而不是把整段序列压成一个向量。

三 token 手算直觉

假设 query 与三个 key 的缩放分数为 \([2,1,0]\),softmax 后约为 \([0.665,0.245,0.090]\)。若 values 是 \(v_1,v_2,v_3\),输出就是 \(0.665v_1+0.245v_2+0.090v_3\)。这不是从数据库取回一条记录,而是可微的加权混合;训练会同时学习 score space 和 value content。

Scaled dot-product attention 的最小伪代码
scores = (query @ key.transpose(-2, -1)) / sqrt(key_dim)
scores = scores + mask
weights = softmax(scores, dim=-1)
output = weights @ value

信息路径与并行性

RNN 中第一个 token 影响最后一个 token,通常需要经过 \(O(n)\) 个递归步骤;单层 full self-attention 中,任意两位置通过一条 attention edge 直接交互。训练时所有 query 可用矩阵乘法并行计算,这与 accelerator 的高吞吐特性相匹配。代价是显式 score matrix 有 \(n\times n\) 项。

\lecturefigure{slide-12-self-attention-diagram.jpg}{Self-attention 将 token-to-token 关系展开为可并行的直接连接。}{官方视频 10:30;课堂动画 final state。}

读图:看连接,不要只看方框

图中输入 token 经线性投影产生多组表示,每个输出位置聚合来自其他位置的信息。与 recurrent chain 相比,依赖路径更短;与 convolution 相比,连接不是固定局部 kernel,而是由内容动态决定。图没有展示的是 attention head 之间的分工、residual path 和层间堆叠,因此它解释 routing,不代表完整 Transformer block。

直接连接不等于自动学会正确关系

Self-attention 允许任意 token 交互,但模型仍需要数据、objective、position、optimization 和足够层数来学习有用模式。高容量还可能拟合 shortcut、spurious correlation 或泄漏信息;可访问性是能力条件,不是正确性保证。

Multi-head attention

\term{multi-head attention}(多头注意力)并行执行多个较低维 attention:

\[ \operatorname{head}_r=\operatorname{Attention}(QW_r^Q,KW_r^K,VW_r^V), \qquad \operatorname{MHA}=\operatorname{Concat}(\operatorname{head}_1,\ldots,\operatorname{head}_H)W^O. \]

不同 head 可以学习局部、长距离、句法或位置模式,但不保证每个 head 都有清晰人类语义。多头的主要作用是提供多个表示子空间和并行 routing channel。

术语消化:Q/K/V、head 与 mask

术语 解决的问题与课程关系
Query 为当前位置表达读取需求;决定它向哪些 key 发问。
Key 为候选位置提供匹配索引;与 query 共同产生 score。
Value 被权重混合的内容;相关性与传递内容可使用不同子空间。
Head 独立投影和 attention channel;扩展关系类型与表示容量。
Mask 强制信息边界;padding mask 忽略空位,causal mask 阻止看到未来。

本章小结

Self-attention 的核心是可学习的 query-key 匹配与 value 混合。它缩短依赖路径并提高训练并行性,却产生二次 score matrix,并且需要 position、mask、residual 与 normalization 才能成为稳定架构。

Transformer Block 的必要配件

只写 attention equation 会漏掉实际模型的大半。Token 顺序、深层优化、非线性变换和信息边界分别由 positional representation、residual/normalization、feed-forward network 与 mask 负责。它们不是装饰,而是让 attention 可训练、可堆叠、可用于不同任务的基础。

Position、residual、normalization 与 masking

纯 self-attention 对输入排列具有 permutation equivariance:若同时重排 token,输出也相应重排,但模型不知道“第一个”和“最后一个”的绝对含义。\term{positional encoding}(位置编码)向 token representation 注入顺序。原始 Transformer 使用正弦余弦:

\[ PE(pos,2i)=\sin\!\left(pos/10000^{2i/d}\right),\qquad PE(pos,2i+1)=\cos\!\left(pos/10000^{2i/d}\right). \]

\(pos\) 是位置,\(i\) 是通道索引,\(d\) 是模型维度。现代模型也常用 learned、relative 或 rotary position,但共同目标是表达相对或绝对次序。

\lecturefigure{slide-13-ingredients.jpg}{Position、normalization、residual connection 与 masking 共同组成可用的 Transformer block。}{官方视频 12:30;Vaswani et al. 2017。}

读图:每个 ingredient 修复不同失败模式

Position 修复顺序缺失;residual connection 让层学习增量并提供梯度捷径;layer normalization 控制每个 token representation 的尺度;feed-forward network 在每个位置独立加入非线性通道变换;mask 规定哪些信息合法可见。删除任一组件,模型可能仍能运行,却不再拥有原始架构的训练稳定性或任务语义。

\term{residual connection}(残差连接)通常写为 \(y=x+F(x)\),让 block 学习相对输入的修正。\term{layer normalization}(层归一化)在每个 token 的 feature 维标准化,帮助深层优化。Position-wise feed-forward network 为

\[ \operatorname{FFN}(x)=W_2\sigma(W_1x+b_1)+b_2, \]

对每个位置共享参数但独立计算,attention 负责 token mixing,FFN 负责 channel mixing。

Mask 是语义边界,不只是性能参数

Causal language model 若忘记 causal mask,训练时会看到目标 token 右侧的未来信息,loss 可能异常漂亮但生成完全无效。Padding mask 若错误,会把填充符当真实内容。任何 attention 实现首先应测试可见性矩阵,再测试吞吐。

本章小结

Transformer block 是 token mixing 与 channel mixing 的组合,并通过 position、mask、residual 和 normalization 保持顺序、因果与可训练性。记住这套分工比只背一张架构图更有用。

Encoder、Decoder 与三种模型家族

原始 Transformer 为机器翻译设计,包含 encoder 与 decoder。两者都堆叠 attention 和 FFN block,但信息访问不同。\term{encoder}(编码器)通常允许每个源 token 双向读取源序列;\term{decoder}(解码器)生成第 \(t\) 个目标 token 时只能读取目标前缀,并通过 cross-attention 读取 encoder outputs。

Encoder-decoder 数据流

训练时,source tokens 经过 encoder 得到 memory;target tokens 右移后进入 masked decoder。Decoder self-attention 处理已生成前缀,\term{cross-attention} 用 decoder state 作为 query、encoder memory 作为 key/value,最后 softmax 预测下一个 token。\term{autoregressive}(自回归)表示联合概率分解为

\[ p(y\mid x)=\prod_{t=1}^{m}p(y_t\mid y_{<t},x). \]

\lecturefigure{slide-14-encoder-decoder.jpg}{原始 Transformer 用 encoder memory、masked decoder 与 cross-attention 完成 seq2seq。}{官方视频 13:40;Vaswani et al. 2017。}

读图:三种 attention 不要混在一起

Encoder self-attention 读取完整 source;decoder masked self-attention 只读取 target prefix;cross-attention 让 target query 读取 encoder memory。图中右移 target 确保模型不能直接看到当前答案。训练可并行计算所有 target position,但每个 position 的 mask 保持自回归语义;推理仍需逐 token 或使用专门并行解码方法。

三种主流家族

  1. Encoder-only:双向表示,适合分类、检索、标注与 representation learning;代表例为 BERT。
  2. Decoder-only:causal next-token modeling,适合开放式生成与统一 prompt interface;代表例为 GPT 系列。
  3. Encoder-decoder:source 与 target 分离,适合翻译、摘要和条件生成;代表例为原始 Transformer、T5。

家族选择首先是信息边界和任务接口选择,不只是参数量选择。

本章小结

Encoder、decoder 和 cross-attention 定义了信息从哪里来、何时可见。GPT 与 BERT 的差异可以从这张原始架构图直接推导,而不应被记成两个孤立模型名。

优势与代价:为什么 Transformer 成功,也为什么仍难

Transformer 的成功通常归因于长距离依赖和并行训练,但这两个优势都带条件。Full attention 提供短信息路径,却创建 \(n^2\) score;矩阵计算适合 GPU/TPU,却要求批量、内存和数据规模;较弱的局部归纳偏置提升通用性,也可能增加样本需求。

复杂度与系统边界

单层 full self-attention 的 score 计算约为 \(O(n^2d)\),score memory 约为 \(O(n^2)\);RNN 单层通常约 \(O(nd^2)\) 并需要 \(O(n)\) sequential steps。哪一种更快取决于 \(n\)\(d\)、batch、kernel、memory bandwidth 和硬件。复杂度表不能直接等于 wall-clock latency。

\lecturefigure{slide-15-good-bad.jpg}{Transformer 的长程建模与并行性伴随二次 attention、数据需求和较弱局部偏置。}{官方视频 16:10。}

读图:优点与缺点来自同一设计

任意 token 直接交互带来长程依赖,也产生 dense pairwise matrix;不依赖 recurrence 带来训练并行,也减少内建顺序偏置;统一 block 方便扩展,也可能需要更多数据学习领域结构。读图时不要把左右两列当独立清单,而要寻找同一设计选择的两面。

FlashAttention 不会把数学复杂度变成线性

Fused/tiled attention 可以减少 \term{HBM}(High Bandwidth Memory,GPU 高带宽显存)读写和中间矩阵物化,显著改善实际速度与内存,但标准 full attention 的 pairwise 计算仍是二次。Algorithmic sparsity、low-rank、state-space 或 recurrence 是不同路线;系统优化与算法复杂度必须分开描述。

术语消化:inductive bias 与 sample efficiency

\term{inductive bias}(归纳偏置)是模型在看数据前就偏好的结构,例如 convolution 的局部平移共享、RNN 的时间递归、causal mask 的方向性。较少偏置提供更大通用性,但模型可能需要更多数据才能学会本可手工编码的规律。\term{sample efficiency} 描述达到目标性能所需数据,而不是每秒处理样本数。

本章小结

Transformer 的优势与代价同源:动态全局连接、矩阵并行和弱领域假设扩大了可扩展性,也带来二次成本、数据需求与系统复杂度。工程判断必须同时看算法和硬件。

GPT-3:Decoder-Only 与 In-Context Interface

应用部分先用 GPT-3 展示 decoder-only 路线。模型堆叠 causal decoder blocks,以 next-token prediction 在大规模文本上预训练。训练目标简单,却把许多任务统一为“给定前缀,预测合理续写”。Prompt 中的 instruction、example 与 context 都成为同一 token stream。

Autoregressive pretraining 与 prompting

给定 token 序列 \(x_1,\ldots,x_T\),语言模型最大化

\[ \sum_{t=1}^{T}\log p_\theta(x_t\mid x_{<t}). \]

Causal mask 保证位置 \(t\) 只看前缀。\term{in-context learning}(上下文学习)指模型在不更新参数的情况下,根据 prompt 内的指令或示例改变当前任务行为。它不是传统 gradient-based training,也不保证得到稳定规则;prompt format、example order 与 distribution shift 都会影响结果。

\lecturefigure{slide-16-gpt3.jpg}{GPT-3 用 decoder-only causal pretraining 与 prompt examples 形成通用生成接口。}{官方视频 18:30;Brown et al. 2020。}

读图:区分 pretraining、fine-tuning 与 in-context learning

Pretraining 更新参数,让模型学习广泛 token distribution;fine-tuning 在任务数据上继续更新参数;in-context learning 只改变输入上下文,参数保持不变。图中的 few-shot 示例说明 task 被编码进 prompt,而不是证明模型真的执行了内部梯度下降。评估时要比较 zero-shot、few-shot、fine-tuned baseline,并控制 token budget 与 contamination。

\teachervoice{讲者用 GPT-3 强调“把预训练网络当 generator”:给任务描述和少量 example,就能产生 completion。课堂提示是接口变化——许多任务从修改模型代码,转成设计上下文;这同时提高复用性,也把可靠性问题转移到 prompt、evaluation 与 guardrails。}

Next-token objective 不等于事实或意图对齐

语言模型优化的是条件 token likelihood,不是“只说真实信息”或“完成用户真正目标”。规模和 prompting 可以提高任务表现,但 factuality、calibration、安全与 tool-use correctness 需要额外数据、训练和系统控制。

本章小结

GPT-3 把 decoder-only Transformer 变成通用 prefix-to-continuation interface。它展示了预训练规模与 in-context behavior,却没有取消任务定义、评估和安全边界。

BERT:Encoder-Only 与 Bidirectional Representation

BERT 展示另一条路线:只使用 encoder block,让每个 token 双向读取上下文,并通过 masked language modeling 学习 representation。它不以开放式自回归生成为主要接口,而是为分类、span prediction、检索和 token labeling 等下游任务提供可 fine-tune 的 contextual embedding。

Masked language modeling

\term{masked language modeling}(MLM,掩码语言建模)随机选择部分输入位置并要求模型预测原 token。由于目标位置被遮蔽,encoder 可以使用左右两侧上下文而不直接读取答案。原始 BERT 还使用 next sentence prediction(NSP);后续模型对 NSP 的必要性有不同设计,但双向 encoder representation 是更持久的核心。

\lecturefigure{slide-17-bert.jpg}{BERT 用 encoder-only 双向表示与 MLM 支撑下游理解任务。}{官方视频 20:30;Devlin et al. 2018。}

读图:BERT 与 GPT 的差异首先是可见性

BERT 的 token 可以同时读取左、右上下文,因此适合学习完整句子的 contextual representation;GPT 的 causal token 只能读取左侧前缀,因此天然匹配逐步生成。BERT fine-tuning 常加 task head 并更新参数,GPT prompting 可在统一生成接口中描述任务。两者都来自 Transformer,但 mask、objective 和 product interface 不同。

Encoder-only 与 decoder-only 对照

维度 Encoder-only(BERT) Decoder-only(GPT)
可见性 双向 self-attention causal left-to-right attention
预训练目标 masked token prediction next-token prediction
典型输出 contextual representation token distribution / generation
任务接口 fine-tuning、linear head、embedding prompting、completion、fine-tuning
优势 理解与表示密集任务 统一生成与交互接口

\teachervoice{讲者用 BERT 收束导论,强调 encoder block、masked prediction 与下游 fine-tuning。这个顺序很重要:先从原始 encoder-decoder 拆出两个方向,再用 GPT/BERT 说明架构家族,而不是从品牌名称反推机制。}

本章小结

BERT 的核心是双向 encoder representation 和 masked prediction。它与 GPT 共享 self-attention block,却通过不同 mask 和 objective 服务不同任务接口。

如何阅读后续 CS25:四个接口与一张检查表

导论的最终价值不是把历史停在 GPT-3/BERT,而是提供后续课程的比较语言。无论讲者讨论视觉、RL、生成模型、biology 或更大语言模型,都可以用 token interface、interaction pattern、training objective 与 deployment contract 四个问题拆解。

四接口阅读法

每讲都回答四个问题

  1. Token interface:输入被切成什么单位,position 与 modality 如何表示?
  2. Interaction pattern:full、local、causal、cross、sparse 还是 recurrent?
  3. Training objective:next-token、mask、contrastive、control、ranking 还是 multi-task?
  4. Deployment contract:输出用于 generation、representation、decision、retrieval 还是 action?如何评估失败?

\teachervoice{三位讲师最后把观众导向完整 guest-speaker 系列。课堂提示:导论只给共同 vocabulary,真正的学习发生在后续讲者如何修改 token、mask、objective 和 system boundary。}

研究问题模板

先选一个领域失败:长上下文、低数据、实时延迟、因果决策或安全约束;再指出标准 Transformer 哪个接口造成限制;提出可验证改动;给出 baseline、ablation 与资源预算;最后说明图表不能证明什么。这样“Transformer 应用”才从换数据集升级为研究设计。

本章小结

后续 CS25 不应被读成模型目录。四接口方法帮助读者区分通用骨架、领域适配、训练信号与产品责任,并把每场 guest talk 转成可比较的系统设计。

总结与延伸

本讲建立了 Transformer 的最小完整图景:

  1. 历史不是断点:RNN/seq2seq 暴露 fixed-vector bottleneck,早期 attention 提供按需读取,self-attention 将其升级为主要序列层;
  2. Attention 是 routing:query 表达需求,key 提供匹配索引,value 提供传递内容;
  3. 设计空间早已存在:soft/hard 与 global/local 分别控制可微选择和访问范围;
  4. Self-attention 缩短路径:token 可直接交互并行训练,但 full score matrix 带来二次成本;
  5. 完整 block 不只有 attention:position、mask、residual、normalization 与 FFN 分别解决顺序、可见性和深层优化;
  6. 家族由信息边界定义:encoder-only 双向表示,decoder-only causal 生成,encoder-decoder 处理条件 seq2seq;
  7. GPT-3 改变任务接口:decoder-only pretraining 让任务可通过 prompt 和 example 表达;
  8. BERT 强化表示接口:encoder-only MLM 学习双向 contextual representation;
  9. 跨领域不是复制:每个领域都要重新定义 token、position、mask、objective 与 evaluation;
  10. 未来问题不由架构自动解决:memory、efficiency、alignment 与 deployment reliability 仍需独立设计。

手算与设计作业

给定三个 token 的 \(Q,K,V\),手算 score、scaling、softmax 与 output;分别加入 padding mask 和 causal mask,解释哪几个权重必须为零。随后选择图像、RL trajectory 或蛋白质序列之一,定义 token、position、attention pattern、objective 与 metric,并说明为何使用 encoder-only、decoder-only 或 encoder-decoder。

最终自检

若你只能复述“Transformer 用 attention”,说明还没有掌握接口。应能解释 basic attention 与 self-attention 的来源差异、mask 如何定义信息边界、GPT 与 BERT 为何共享 block 却服务不同任务,以及 \(O(n^2)\) 是数学结构还是具体实现瓶颈。

拓展阅读

{

}