训练预算从 15 秒到 10 分钟:最优模型大 13 倍,学习率降到约 1/4
同一类模型(第 1 层短卷积,其余全注意力)在每个预算下的最优:15 秒是宽 256 × 2 层、Muon 0.015,10 分钟是宽 512 × 4 层、Muon 0.0035。按 2 分钟选出的配置拿去训练 10 分钟会差 0.101,所以一道设计题必须写明训练预算。
- 训练 600 秒一次,读出第 15 / 30 / 60 / 120 / 600 秒
- 分数 最后 64 步训练 loss,越低越好
- 数据 FineWeb · 1024 词表 · 序列长 256
- 种子 42–45
- 模型 第 1 层短卷积 · softcap 15 · K/V 卷积 4
预算越长,最优模型越宽、越深:256 × 2 层 → 512 × 4 层
每个预算一张图,行是宽度(d_model),列是层数。每格取 3 种 MLP 宽度(×8、×16、×24)和 6 档学习率里最好的一组;颜色越深越接近这一预算下的最好,黑框是最好的一格。15 到 120 秒,最优都在宽 256 附近,只是层数从 2 层加到 4 层;到 10 分钟才跳到宽 512。
按短预算选出的配置,放到长预算会吃亏:按 2 分钟选的,训练 10 分钟差 0.101
行是在哪个预算下选出的最优配置,列是拿它训练多久。按 2 分钟选的配置训练 10 分钟时,在 447 个配置里排第 233。反过来,10 分钟的最优配置只训练 15 秒,差 2.210。相邻预算之间亏得少,跨度越大亏得越多。种子噪声约 0.005,大于 0.01 的格子都是真实差距。
最优参数量大约按预算的 0.7 次方增长,每个参数看到的 token 数在变少
橙点是每个预算下最好的配置,灰条是与它差距在 2 个标准误以内的配置的参数量范围。15 秒最好的模型有 2.8M 参数,10 分钟是 37.3M,预算 40 倍,参数 13 倍。每个参数看到的 token 数从 12 个降到 5 个:加预算时,多出来的算力更多地花在了更大的模型上,而不是更多的数据上。参数多 13 倍,每秒的训练步数只少 7 倍,说明小模型没有用满 GPU,换大模型的代价比参数量看起来小。
最好的学习率随预算下降:15 秒 Muon 0.015,10 分钟 0.0035
每条线是一个预算。每个学习率取所有结构里最好的一个,纵轴是比这一预算下最好的学习率差多少。学习率在训练中不变,所以短预算偏好大学习率(下降快),长预算偏好小学习率(噪声低)。网格两端补测到 0.0018 和 0.03 后,每个预算的最好学习率都在网格内部。
MLP 宽度和混合器的差别随预算缩小:15 秒最好的是 MLP ×8,10 分钟最好的是 MLP ×16
每条线是一族模型(所有宽度、层数、学习率里最好的一个)比这一预算下最好的一族差多少。把一半注意力换成 GDN,15 秒时差 0.073,2 分钟以后差距缩到 0.003–0.007。MLP 宽度的差别在 0.01 左右,短预算时窄 MLP(每步快)占优,长预算时 ×16 占优。
还没回答的问题
10 分钟以上的预算没有测:训练程序只允许 10、120、600 秒三种预算。
10 分钟时最好的模型约看 0.9 遍 2 亿 token 的数据,小模型会看到更多遍;数据重复对排名的影响没有单独测。