时间怎么花:注意力便宜,只有深模型靠后的层可以跳过混合
在宽 256、序列长 256 的设置下,一层全注意力只占每步约 7 ms(最好的 4 层模型每步约 90 ms),跳过它几乎省不出时间。4 层模型里每层都要有混合层;6 层模型里,靠后的一层跳过混合常常不亏。
- 训练 120 秒 · 1 张 RTX PRO 5000
- 分数 最后 64 步训练 loss,越低越好
- 数据 FineWeb · 1024 词表 · 序列长 256
- 种子 直接测试 42–45 · 随机结构 42
- 模型 宽 256 · softcap 15
每步时间主要花在 MLP 和层数上,一层全注意力只要 7 ms
用 26287 次 4 层随机结构的运行,把每步耗时拆成固定部分、每层开销、各种混合层和 MLP 宽度,按部件相加能解释 99.8% 的差异。一层全注意力 7.0 ms,GDN 8.4 ms,短卷积 2.9 ms;MLP 每 ×1 宽度 0.68 ms(×24 约 16 ms);每多一层还有 3.8 ms 的固定开销。
固定部分每层固定开销全注意力GDN短卷积MLP
按拆分结果估算的每步耗时(毫秒)。
从最好的 4 层模型出发,13 种“跳过一部分、把时间挪给别处”的做法有 12 种明显更差
跳过一层注意力省下的时间,只够把那层 MLP 从 ×12 加到 ×24,步数几乎不变,loss 却差 0.02 左右。在前面加只有 MLP 的层、去掉中间层的 MLP、把每层拆成两个子层,都更差。
全注意力(A)GDN(G)短卷积(C)跳过(I)MLP,条越长越宽
每行 3–5 个种子;条的颜色:橙色超过 3 倍噪声,浅橙 1.5–3 倍,灰色在噪声内。右列是 120 秒内的步数。
6 层随机结构:前两层要 GDN 或短卷积,后几层要全注意力;平均来看跳过混合是最差的选择
在每层“混合方式 × MLP 宽度”共 16 种选择的 6 层空间里均匀抽了 2400 个结构(种子 42)。每格是第 i 层用这种选择的所有结构的平均 loss,减去这一层最好的选择(单位 0.001)。记法:字母是混合方式(A 全注意力,G 为 GDN,C 短卷积,I 跳过),数字是 MLP 宽度,0 表示没有 MLP。各层最好的选择:第 1 层 G12、第 2 层 G32、第 3 层 A24、第 4 层 A12、第 5 层 A24、第 6 层 A24。
颜色越深越好。其余 5 层是随机的,所以这是“平均情况”,和最好结构附近的结论可以不同。
但最好的 50 个 6 层结构里有 36 个跳过了一两层混合,77% 的跳过在第 4–6 层
跳过混合的层从 0 增加到 3,平均 loss 2.733、2.745、2.763、2.805:跳过一层代价小,跳过三层代价大。没有 MLP 的层 1–2 个时平均反而略好(2.764、2.757、2.758),因为省下的时间换成了步数。6 层模型在 120 秒内步数少,靠后的一层跳过混合能多跑一些步。6 层里最好的 5 个结构(单种子):C32 C0 A24 G12 I12 A24 2.6795;C32 I0 A12 A24 A12 C24 2.6804;C24 A12 A12 C0 A12 I12 2.6815;G32 A0 C12 G12 A24 I12 2.6817;C24 I12 G24 G12 A24 I0 2.6838。
跳过混合的层数没有 MLP 的层数
每个点至少 20 个结构,种子 42。
还没回答的问题
“更宽的注意力”测不了:头数和宽度是全局字段,不能按层设。
序列更长时注意力的耗时会上升,这个结论可能变。