序列变长,多出来的成本在哪里?
Q02/b0 · 长度与两两比较
先把序列缩小到四个位置。每个 query 与四个 key 比较,就是四乘四的方格。这里的格子表示一次位置配对,并不是实际模型算出的数。我们在同一个对象上只改一个条件:把序列长度加倍。
教师备课:指图与模拟问答
指图与推进 · 不朗读显示4×4方格,指清行是query、列是key。
Q02/b1 · 长度翻倍,表面积变四倍
现在是八个位置,八乘八共有六十四项,是原来的四倍。已知位置可以批量计算,但它们仍然要做这些配对。若把整个中间表保存下来,存储也会增长。并行友好说的是工作怎样分给硬件,不是工作量自动消失。
教师备课:指图与模拟问答
指图与推进 · 不朗读将方格扩成8×8,保留原4×4区域轮廓。
Q02/b2 · 数据还需要搬运
再看旁边这台机器。大的显存保存数据,小的片上工作区容纳眼前要用的块,计算单元执行算术。数据要搬进去,结果有时还要搬回来;所以除了算多少、装多少,还要问搬多少。我们先把这三个约束记在这里。接下来回到训练本身:能持续给这么大规模的模型提供题目的信号,从哪里来?到规模化训练时,再用这张大表具体解决搬运问题。
教师备课:指图与模拟问答
指图与推进 · 不朗读沿HBM到片上再到计算单元指读,保留配对表。
补充推导、边界与来源
Dense attention 的 query 与 key 两两比较形成 T×T 的分数结构。将长度从4增至8时,这个教学方格从16项变为64项,展示的是二次规模关系,不是实际吞吐测量。因果 mask 改变可用位置,并不把一般 dense attention 的算术复杂度变成线性。
硬件图把大容量显存 HBM、较小的片上存储和计算单元分开。数据进入片上工作区后才能执行局部计算,中间结果是否写回显存、何时再次读取,会影响内存访问成本。这为后面 FlashAttention 的分块累计提供具体问题:能否保持同一个数学目标,减少大中间表的显存往返?
这一页先建立三本账,不提前铺开并行与服务技术栈。MAE 让较大的编码器只处理可见 patch,提供另一个任务与执行共同设计的例子;它与 Figure 2 中80%遮挡的展示身份应分别阅读,不能直接把遮挡率换算成端到端加速倍数。
本页证据与条件
教学构造;用于辨认计算过程,不是模型运行结果