aaihubhub
大模型原理游戏课:模型工坊 16 关 · 第 9 课 / 共 16 课 ↗ AI 教程

09|Transformer 高塔:把零件拼成可训练的层

沿数据流组合归一化、注意力、MLP、残差与深层堆叠。

author
↗ 6 阅读
LESSON BRIEFING09 / 16
第 9 / 16 关

堆叠变换高塔

把归一化、注意力、MLP 与残差组合成可训练深层网络。

保留直通路径能让更新与信息更稳地穿层。

CHECKPOINT

残差连接为什么重要?

沿数据流组合归一化、注意力、MLP、残差与深层堆叠。

前八关得到的零件现在要接线。一个现代 decoder block 通常包含两条子路径:归一化后做注意力并残差回流,再归一化后做门控 MLP 并再次回流。

先建立整机直觉

不要先背术语。先问三个工程问题:这一阶段接收什么形状的数据、做了哪一种变换、结果交给谁。只要数据流清楚,公式就不再是孤立符号。

核心机械结构

  • 残差让每层学习“在原表示上增加什么”,而不是从零重写整个状态。
  • pre-norm 把稳定输入送入子层,同时保留未经变换的主干路径。
  • 多层堆叠反复进行读取与加工,使局部模式逐渐组合成更抽象的上下文特征。

跟着一个例子走

第 1 层可能强化相邻搭配,第 8 层形成句法和指代线索,第 20 层把这些线索组合到任务相关表示。这个描述是经验性直觉,不应把某一层固定命名为唯一功能。

阅读例子时,把“固定权重”和“本次请求产生的激活”分别标记。前者在训练后保存,后者会随输入变化;混淆两者会导致对记忆、隐私和性能的错误判断。

容易掉进的坑

层越深并非总是越好。深度增加参数、计算和优化难度;层功能也不是人工分配的,来自数据和训练共同形成的分布式表示。

动手工坊

  1. 写出一个 pre-norm decoder block 的伪代码,确保两次残差位置正确。
  2. 为 batch、seq、hidden 标注每个节点形状,验证层前后主形状不变。
  3. 故意删除一条残差,预测训练和信息传播会出现什么问题。

完成后不要只保存结果。记录输入、参数、观察和结论,换一组输入重复实验。一个现象只有在可重复时才是证据。

检查点

你应能从输入 x 一路追踪到 block 输出,并指出两条残差。

回到页面上方的互动任务,调节两个控制量并完成选择题。答对后,本关会在浏览器中记为完成并获得 XP。

参考与延伸

  • https://mlx.void.app/zh
  • https://arxiv.org/abs/1706.03762

本课程为 aiHubHub 原创改写。外部站点只用于核对概念范围与交互启发,正文、例子、练习和界面均重新设计。