完整深入材料 · 保留原页与全部停点。回到相关主讲
同一组已知输入,可以一起做哪些运算?
本页问题
Goodfire 的视觉与语言案例帮助我们学习怎样检验内部机制。现在回到 N17 的 MAE encoder 可见 patch 表示,重新打开计算路径。
N20/b0 · 回到 MAE 的可见 patch
刚才我们从具体图像和文本出发,追到了内部的响应、区分和计算路线。要把解释讲可靠,还要检查它在新例子和干预下是否成立。现在切回前面 MAE encoder 接收的可见 patch 表示,不是刚才 ConvNeXt 的通道或语言模型神经元。把每个已知位置的表示排成 X 的一行。图中的色块是表示坐标的教学示意,不是测量到的像素值或性能数据。这些表示的计算最终要在设备上执行;我们先打开一个矩阵算子,看看哪些工作能一起做,再算存储和搬运的代价。
教师备课:指图与模拟问答
指图与推进 · 不朗读指“回到 MAE encoder”与 X 行标签;此时只有输入,没有投影结果。
N20/b1 · 同一投影处理多行
把它们的表示排成矩阵 X,每行一个位置,同一个投影矩阵就能作用在许多行上。这种规整的大矩阵运算,可以利用并行硬件提供的大量计算单元。
教师备课:指图与模拟问答
指图与推进 · 不朗读从多行 X 沿共享 W 指向输出矩阵;不把每格说成单独参数。
N20/b2 · 图像与已知文本
文字里的已知输入位置,也能用类似的批量方式处理。
教师备课:指图与模拟问答
指图与推进 · 不朗读对照左侧 BOS/I/gave/him/a 的行标签,说明已知文本也能成批处理。
N20/b3 · 算子和层仍有依赖
这里的“同时”有范围。我们说的是一个算子可以处理许多已知位置,并不是下一层能在上一层输出还没产生时先算完。看这条路径:先有 attention 的输出,MLP 才接着计算,再把结果送往下一层。计算之间的依赖仍然存在。这让我们看见 Transformer 扩大训练的一项实际优势:不少工作能组织成硬件擅长的大批量运算。不过马上会遇到上一讲那个问题:文字模型预测后词时,明明不能看未来,为什么训练又能把整段文字一起算?“数据已经在文件里”和“每个位置允许看见什么”是两件事。下一页保留同样的多行输入,只打开允许读取的范围。
进一步解释
一次矩阵算子内部可批量处理多个已知位置;它不抹去同一层算子间与层间依赖。CUDA、Triton及矩阵单元属于实现层,详见主题材料。
教师备课:指图与模拟问答
指图与推进 · 不朗读沿底部 attention→MLP→下一层,说明顺序依赖仍在;转入各行可见性。
补充推导、边界与来源
同一投影作用于已知输入的许多行,可实现为大矩阵乘法。GPU 矩阵计算单元及 CUDA、Triton 等实现层负责组织具体执行;它们不改变数据依赖。图像 encoder 与因果文本模型可共用部分矩阵算子,但可见性规则不同。算子内的位置并行不能取消 attention、MLP 与层之间的先后依赖。
来源:Transformer 矩阵计算;L5 T34。
相关的完整阅读材料保留原有公式、引用和原始图解。
本页证据与条件
教学构造与机制示意;非模型实测