训练 10 分钟时,最优模型更宽、MLP 更大、学习率更低

在 185 个跑满 10 分钟的设置里,最好的是宽 512、4 层、Muon 0.0025 / AdamW 0.0025(2.4412)。2 分钟的冠军(宽 256 × 4 层,学习率 0.01)在 10 分钟时排第 169 / 185:短预算选出的结构和学习率,不能直接用于长预算。

宽 256 时,最好的深度从 4 层(2 分钟)变成 8 层(10 分钟),MLP 也要更宽

学习率固定 0.01。2 分钟最好的是 4 层、首尾 ×24;10 分钟最好的是 8 层、MLP 都 ×24。每格 4 个种子;两张图各自以最好的一格为最深色。

训练 120 秒 MLP 都 ×12 首尾 ×24 MLP 都 ×24 4 层 2.6816 2.6711 2.6818 6 层 2.6833 2.6821 2.7003 8 层 2.7021 2.7059 2.7395 10 层 2.7317 2.7414 2.7947 12 层 2.7656 2.7803 2.8472 训练 600 秒 MLP 都 ×12 首尾 ×24 MLP 都 ×24 2.5842 2.5521 2.5452 2.5490 2.5278 2.5212 2.5286 2.5182 2.5121 2.5286 2.5140 2.5189 2.5256 2.5191 2.5237
层的排法统一是:第 1 层短卷积,之后 GDN 和全注意力交替,最后一层全注意力。

最好的学习率随预算下降:2 分钟时 Muon 0.015,10 分钟时 0.0035

实线是 10 分钟,虚线是 2 分钟(同一次运行的第 120 秒)。纵轴是比这一预算下最好的学习率差多少。学习率在整个训练里不变,所以短预算偏好大学习率(快下降),长预算偏好小学习率(低噪声)。

宽 256 · 8 层 · AdamW 0.01宽 384 · 6 层 · AdamW 0.005
0 +0.02 +0.04 +0.06 0.0025 0.0035 0.005 0.0075 0.01 0.015 Muon 学习率(对数刻度) 比这一预算下最好的学习率差多少
每个点 4 个种子。

越宽越好,到宽 512 附近到顶:10 分钟最好的是 512 × 4 层(2.4412)

每个宽度取 10 分钟最好的配置(结构和学习率一起选):宽 256 是 2.4816,宽 384 是 2.4539,宽 512 是 2.4412,宽 640 是 2.4487,宽 768 是 2.4598。它们在 2 分钟时都很差:宽模型每步慢,120 秒只够跑几百步。2 分钟最好的仍是 256 × 4 层(2.6711)。和 2 分钟冠军结构(宽 256 × 4 层,学习率 0.01)比,10 分钟最好的配置好 0.111。

全注意力(A)GDN(G)短卷积(C)MLP,条越长越宽
600 秒最好的结构 600 秒 loss(橙)· 同一结构 120 秒 loss(蓝)· 学习率 Muon / AdamW 宽 256 2.4816 2.7612 0.0035 / 0.005 宽 384 2.4539 2.7828 0.0035 / 0.0025 宽 512 2.4412 2.8617 0.0025 / 0.0025 宽 640 2.4487 2.8746 0.0035 / 0.0025 宽 768 2.4598 2.8352 0.0035 / 0.0025
右侧数字是这个配置的学习率 Muon / AdamW。每个配置 4 个种子。

在最优区域随机抽 360 个再精修:10 分钟最好的是宽 512 × 4 层 C·A·A·A,MLP 都 ×16(2.4413)

最优区域抽样:宽 384 / 512 / 640,3–6 层,第 1 层短卷积或 GDN,中间层任选,最后一层全注意力,每层 MLP 宽度和学习率随机,每个配置 1 个种子。单种子前 10 名补跑到 4 个种子后,最好的是 C16·A16·A16·A12(字母是层的类型,数字是 MLP 宽度倍数;2.4434),其余 9 个回落到 2.4489–2.4614。

在它上面改各层 MLP 宽度:4 层都 ×16 最好,其他分法都更差。第 1 层收窄到 ×8、中间加宽到 ×24 都明显变差。

各层 MLP 16/16/16/12 +0.0021 各层 MLP 12/16/16/12 +0.0065 各层 MLP 16/16/16/24 +0.0068 各层 MLP 16/16/24/12 +0.0080 各层 MLP 16/16/16/8 +0.0089 各层 MLP 24/16/16/12 +0.0094 各层 MLP 16/24/16/12 +0.0096 各层 MLP 8/16/16/12 +0.011 各层 MLP 16/24/24/12 +0.012 各层 MLP 12/24/24/12 +0.014
和“4 层都 ×16”按种子配对比较,4 个种子。负数是更好。黑线是 ±2 个标准误。

这个配置是局部最优:一次改一处,23 种改动没有一种明显更好

参照:宽 512 × 4 层,第 1 层短卷积、后 3 层全注意力,MLP 都 ×16,8 个注意力头(K/V 4 个),Muon 0.0035 / AdamW 0.0025,softcap 15。

Muon 学习率在 0.0025–0.003 之间打平,0.005 明显更差。第 1 层必须是短卷积:换成全注意力差最多。宽度 512 正好:换成 640 或 384,配什么 MLP 宽度都更差。XSA(最后一层的注意力输出去掉自身 value 的方向)也变差。

Muon 0.0025 -0.0001 Muon 0.003 +0.0003 K/V 卷积 4 → 2 +0.0015 K/V 卷积 4 → 8 +0.0023 rope 维数 16 → 32 +0.0023 softcap 15 → 12 +0.0024 AdamW 0.0015 +0.0026 AdamW 0.0035 +0.0037 4 头 / K/V 2 头 +0.0043 Muon 0.002 +0.0044 softcap 15 → 10 +0.0047 8 头 / K/V 2 头 +0.0055 加到 5 层 +0.0062 宽 640,MLP ×12 +0.0074 第 1 层换成 GDN +0.0088 最后一层用 XSA +0.0095 Muon 0.005 +0.011 宽 384,MLP ×24 +0.013 16 头 / K/V 4 头 +0.014 宽 640,MLP ×16 +0.014 宽 384,MLP ×16 +0.017 减到 3 层 +0.020 第 1 层换成全注意力 +0.022
橙色超过 3 个标准误,浅橙 1.5–3 个,灰色在噪声内。

再换 12 种机制也没有更好:value residual 开在噪声内,其余都更差

KDA 和 GLA 是和 GDN 同类的线性注意力。smear 把前一个 token 的表示按门控混进当前 token。value residual 让后面的注意力层复用第一层的 value。并行块让同一层的注意力和 MLP 读同一个输入、同时算。循环是让同一组层用同一套权重再跑 2 遍。

换 relu² 激活和加循环的模型每步更慢,10 分钟内的步数:MLP 激活换成 relu² 2010,第 4 层循环 3 遍 1892,MLP 激活换成 leaky relu² 2001,第 2–3 层循环 3 遍 1413,参照模型 2804。

value residual 开 +0.0003 smear 开 +0.0028 第 2 层注意力只看前 64 个 token +0.0060 第 2 层换成 KDA +0.0097 第 2 层换成 GLA +0.011 第 3 层换成 KDA +0.013 第 1 层换成 KDA +0.014 第 2 层起并行块 +0.027 MLP 激活换成 relu² +0.049 第 4 层循环 3 遍 +0.050 MLP 激活换成 leaky relu² +0.051 第 2–3 层循环 3 遍 +0.068
和参照模型按种子配对比较,4 个种子。

2 分钟时定下的开关,在宽 512 的 10 分钟模型上大多仍成立

参照模型:宽 512 × 4 层 C·A·G·A,MLP 首尾 ×24,Muon 0.0035 / AdamW 0.0025,loss 2.4517。每次只改一项,按种子配对比较。softcap 15、K/V 卷积和跳连门在 10 分钟时仍然有用;qk_gain 和 value residual 在噪声内;MLP 再加宽反而变差。唯一明显更好的改动是“各层 → C·A·A·A 24/12/12/24”(-0.0033),第 1 层用全注意力、最后一层用 GDN 最差。

各层 → C·A·A·A 24/12/12/24 -0.0033 各层 → C·A·G·A 16/16/16/16 +0.0010 value residual 关 → 开 +0.0018 qk_gain 0.75 → 0.5 +0.0020 qk_gain 0.75 → 1.5 +0.0023 softcap 15.0 → 20.0 +0.0024 跳连门 开 → 关 +0.0042 各层 → G·A·G·A 24/12/12/24 +0.0048 softcap 15.0 → 30.0 +0.0075 K/V 卷积宽度 4 → 0 +0.0077 各层 → C·A·G·A 24/24/24/24 +0.0091 各层 → C·A·G·A 32/12/12/32 +0.0095 各层 → C·A·G·A 32/16/16/32 +0.014 各层 → A·A·A·A 24/12/12/24 +0.017 各层 → A·G·A·G 24/12/12/24 +0.060
黑线是 ±2 个标准误;橙色超过 3 个标准误,浅橙 1.5–3 个,灰色在噪声内。负数是更好。

还没回答的问题

宽 512 以上不再变好,但更宽时只试了 3–4 层和少数 MLP 宽度,学习率也只扫了两档。

10 分钟时 4 层宽 256 的模型会把 2 亿 token 的数据看两遍多,宽模型步数少,重复得少;这对比较有多大影响没有单独测。