已知的一整段输入,怎样一起计算?
Q01/b0 · 已知位置组成矩阵
刚才图像能变成 patch 序列。回到文字,同样可以把已经给定的一段输入排成多行,每行是一个位置的表示。训练时目标序列也已经在数据里,所以许多位置的投影可以组成一场大矩阵运算。这种规整的批量计算,很适合并行硬件。
教师备课:指图与模拟问答
指图与推进 · 不朗读指多行输入表示和同一个矩阵乘法。
Q01/b1 · 同一算子并行,依赖仍在
现在先完成这一层的 attention,再把它的输出交给 MLP。并行的是同一算子里的许多位置,不是说 MLP 可以在输入还没产生时先算完,更不是所有层同时结束。把这两件事分清,才不会把“适合GPU”误解成没有顺序依赖。
教师备课:指图与模拟问答
指图与推进 · 不朗读先点亮attention,再点亮MLP与下一层。
Q01/b2 · 仍然遵守可见范围
这张小三角表再提醒一次:因果 mask 仍在。训练把真实序列交给我们,不代表每个位置都能偷看后面的答案。每一行仍只读允许的前缀。使用时如果下一个 token 还没有产生,就必须等它生成后再继续;这一点和上一讲一致。大量已知位置能并行,让扩展更可行,但并不意味着成本消失。
教师备课:指图与模拟问答
指图与推进 · 不朗读显示下三角读取范围,接到更长序列的配对表。
补充推导、边界与来源
训练时完整目标序列已经给定,可以把许多位置的表示组成矩阵,在同一算子中批量执行投影或 MLP。因果语言模型仍使用 mask,位置 t 只能利用允许的前缀;“训练时序列已知”并不授权当前位置读取未来目标。
同一层里的 attention 先产生输出,后续 MLP 才能使用它;后层也依赖前层结果。并行友好是大量规整矩阵运算可利用硬件的意思,不是整网、所有层和未知未来 token 同时算完。使用时生成尚未知的 token,必须先得到前一个输出再继续,后面会用 prefill/decode 再次辨认这一区别。
GPU 并行线程和矩阵计算单元执行算术,CUDA/Triton 等处于算子实现层,训练框架组织张量、自动求导和执行。它们承担不同职责;这里不引入版本敏感的 API 或未经测量的速度结论。
本页证据与条件
教学构造;用于辨认计算过程,不是模型运行结果