每层放什么4 条
第 1 层要用局部混合(短卷积),不要用全注意力
宽 512 最优:第 1 层换成全注意力 +0.0219 ± 0.0033,宽 512 最优:第 1 层换成 GDN +0.0074 ± 0.0018,8 层:前 4 层全用全注意力(2 分钟) +0.0575 ± 0.0018,8 层:前 4 层全用全注意力(10 分钟) +0.0392 ± 0.0044,A/M 宽 512:第一个子层用短卷积(CMAMAMAM 对 AMAMAMAM) −0.0213 ± 0.0019
后段要有全注意力,最后一层不要用 GDN
8 层:后 4 层全换 GDN(2 分钟) +0.0285 ± 0.0010,8 层:后 4 层全换 GDN(10 分钟) +0.0195 ± 0.0029;宽 512 × 4 层改成 A·G·A·G(第 1 层全注意力、最后一层 GDN)+0.0598 ± 0.0021
不要省掉注意力或 MLP、把时间挪给更宽的 MLP:注意力很便宜
从宽 256 × 4 层最好的模型出发,13 种“省掉一部分、把时间挪给别处”的做法里 12 种明显更差,代价 +0.012 到 +0.103;一层全注意力每步只要 7.0 ms(整步约 90 ms)
每步耗时可以按部件相加来估:MLP 宽度和层数是大头,注意力很便宜
全注意力 7.0 ms/层,GDN 8.4,短卷积 2.9;MLP 每 ×1 宽度 0.68 ms;每多一层固定 3.8 ms;按部件相加能解释 99.8% 的差异(26287 次运行)
注意力和 MLP 怎么排16 条
子层总数固定时,注意力占 1/4 到 1/2 都接近最优,约 1/3 最好;再少或再多都明显变差
12 子层 4:8 对 6:6 −0.0040 ± 0.0029;16 子层 4:12 对 8:8 −0.0053 ± 0.0014;24 子层 8:16 对 12:12 −0.0039 ± 0.0032。注意力太多:12 子层 8:4 +0.0267 ± 0.0027,16 子层 12:4 +0.0391 ± 0.0022;太少:12 子层 2:10 +0.0365 ± 0.0021,24 子层 2:22 +0.0604 ± 0.0018
12 个子层排成 (A M M)×4,比严格交错 (A M)×6 好,在 4 个学习率下方向一致
学习率 0.0025 −0.0111 ± 0.0037,学习率 0.0035 −0.0099 ± 0.0045,学习率 0.005 −0.0100 ± 0.0033,学习率 0.01 −0.0040 ± 0.0029
12 个子层最好的是 AMMMAMAMMAMM:A 打头、紧跟三个 M、中段 A 和 M 交错、最后两位放 M,共 4 个 A。它比 (A M M)×4 好约 0.007,换三种设置复测仍成立;它的 19 个邻居都不更好
AMMMAMAMMAMM 对 (A M M)×4:原设置 −0.0063 ± 0.0015,三种新设置合计 −0.0068 ± 0.0015(12 对)。它是从精测第一名 AMMMAMMAMAMM 出发局部搜索 1 步找到的,对 AMMMAMMAMAMM 三种新设置合计 −0.0021 ± 0.0007;粗排只排第 243 名。只凭原设置的 4 个种子挑会高估:两个种子挑、另两个种子验,前 5 名的优势从 0.0044 缩到 0.0013。夹心 1 +0.0049 ± 0.0047,严格交错 +0.0099 ± 0.0045,新设置合计 +0.0078 ± 0.0018
每个位置放 A 还是 M 影响不同:第 1 位放 A 最值,最后一位放 A 最伤;2 分钟和 10 分钟一致。位置的作用由相对深度决定:8 个子层的全部排法、18 和 24 个子层的随机排法,按相对深度对齐后都和 12 子层同向
12 子层,把一个 A 从平均位置挪到这一位,loss 的变化(2 分钟 / 10 分钟):第 1 位 −0.032 / −0.022,第 2 位 −0.021 / +0.000,第 3 位 −0.003 / +0.007,最后一位 +0.025 / +0.022。24 子层(同样 A 个数):AMM×8,第 1 位换成 M +0.0072 ± 0.0002,AMM×8,最后一位换成 A +0.0080 ± 0.0020,AAMMMM×4,第 1 位换成 M +0.0126 ± 0.0006,AAMMMM×4,最后两位换成 A +0.0118 ± 0.0028
子层数翻倍时,把好的排法每个子层写两遍(AMMM… → AAMMMMMM…),比整串重复两遍好,也比之前 24 子层最好的结构好
AMMMAMAMAMAM 翻倍(AAMMMMMMAAMMAAMMAAMMAAMM)对 AAMM×6 −0.0119 ± 0.0016,对严格交错 −0.0179 ± 0.0032;同一个 12 子层排法,翻倍比重复平均好 0.0024 ± 0.0007(10 种排法)。翻倍后,12 子层前 20 名内部的名次和 24 子层的名次无关(秩相关 -0.16)
子层数按 1.5 倍拉长(12 → 18)时,按相对深度映射的好排法仍在前列,但不如翻倍干净:哪些位置写两遍会改变局部形状,差别可达 0.007;周期排法 (A M M)×6 是很强的对照,随机排法里也有同样好的
AMMMAMMAMMAM 映射 a(AMMMMMAMMMAAMMMAMM)对 (A M M)×6 −0.0037 ± 0.0018,对严格交错 −0.0126 ± 0.0029;同一排法两种映射相差 -0.0031 到 +0.0069。随机第 2 名(AMMMMAAMMAMMAMAMMM)对 (A M M)×6 −0.0044 ± 0.0024(从 100 种随机排法里按种子 42 挑出,另 3 个种子补测)
8 个子层的全部 256 种排法都测了 4 个种子:最好的是 AMMAMAMM(3 个 A),A 打头、M 收尾、A 不相邻;每多一对相邻的 A,loss 多约 0.06
AMMAMAMM 对第二名 AMMAMMAM −0.0062 ± 0.0003,AMMAMAMM 对严格交错 (A M)×4 −0.0124 ± 0.0018;两个种子挑、另两个种子验,6 种分法里 6 种挑出它且验时第一。加性模型(个数 + 位置)R² 0.83,加上相邻 A 对数 0.91。学习率 0.0035(扫描里最好)复测前 20 名:最好的是 AMMAMAMM 2.5416,名次不变,比第二名 AMMAMMAM 好 0.0075 ± 0.0011;前 20 名两种学习率的秩相关 0.64,AMM 开头的比 AMA 开头的多得益 0.0064 ± 0.0015;全部 256 种(学习率 0.0035,种子 42)和学习率 0.01 真值的秩相关 0.99,AMMAMAMM 排第 1
8、12 子层的排法规律能外推到没测过的 10 子层:跑之前写下的猜测 AMMAMAMAMM(12 子层最好排法按相对深度缩到 10 位)在全部 1,024 种里排第一;A 打头、M 收尾、3–4 个 A 都成立,相邻两个 A 的代价介于 8 和 12 子层之间
AMMAMAMAMM 单种子排第 1(共 1,024 种),4 个种子排第 1;AMMAMAMAMM 对第二名 AMMMAMMAMM −0.0037 ± 0.0045,AMMAMAMAMM 对严格交错 (A M)×5 −0.0206 ± 0.0054。几个深度的加性模型平均后排第一的 AMAMAMAMAM,单种子只排第 33
M 的 MLP 从 ×12 换成 ×4、×2,排法规律不变:第 1 位放 A、最后一位放 M,按规则写出的排法仍然最好。A 的个数只在子层多时变:24 子层 MLP 越窄,A 少一些越好,(A M M)×8 从和严格交错差不多变成明显更好;8、10 子层 ×4 下 4 个种子最好的排法和 ×12 相同(AMMAMAMM、AMMAMAMAMM),A 的最优个数不变
MLP ×4:AMMMAMAMMAMM 翻倍(AAMMMMMMAAMMAAMMMMAAMMMM)对严格交错 −0.0272 ± 0.0021,从它走一步局部搜索,AMMMMMMMAAMMAAMMMMAAMMMM 又好 0.0057 ± 0.0005;(A M M)×8 对严格交错:×12 −0.0039 ± 0.0032,×4 −0.0166 ± 0.0007,×2 −0.0180 ± 0.0031。外部搜索给出的 M 打头排法,第 1 位换成 A 后三种宽度都好 0.011–0.019。同一批 300 种随机排法在 ×4 和 ×12 下的排名秩相关 0.92,没有一种比规则排法好。8 子层 ×4 全测(单种子)和 ×12 的秩相关 0.99,4 个种子最好的 AMMAMAMM(3 个 A)比第二名好 0.0058 ± 0.0015。10 子层 ×4 全测(单种子)和 ×12 的秩相关 0.98,4 个种子最好的 AMMAMAMAMM(4 个 A)比第二名好 0.0008 ± 0.0041。12 子层 ×12 前 100 名换成 ×4(种子 42):×12 最好的 AMMMAMAMAMMM 排第 2,各个数最好的差:3 个 A +0.0126,4 个 A +0.0000,5 个 A +0.0026,6 个 A +0.0179
8 子层的最好排法不随模型宽度和序列长度变:宽 384 和序列长 1024 下 4 个种子最好的仍是 AMMAMAMM,A 的最优个数仍是 3 个;单种子全表和宽 256、序列长 256 的秩相关 0.99 和 0.92
宽 384:AMMAMAMM 对第二名 AMAMAAMM −0.0068 ± 0.0016;序列长 1024:AMMAMAMM 对第二名 AMMAMMAM −0.0067 ± 0.0025;序列长 1024:M 打头最好的 MAMAMMAM 对 AMMAMAMM +0.0193 ± 0.0086(序列长 256 时 M 打头最好的差 0.016–0.018)
MLP 宁可串联、不要加宽:两个 MLP 串联,比并成一个同参数量的宽 MLP 好
(A M M)×4 对 (A M)×4、M ×24(学习率 0.005) −0.0224 ± 0.0035,(A M M)×4 对 (A M)×4、M ×24(学习率 0.01) −0.0124 ± 0.0017,MLP 总宽 72:3 个 M ×24 对 6 个 M ×12 +0.0240 ± 0.0006,MLP 总宽 72:9 个 M ×8 对 6 个 M ×12 +0.0034 ± 0.0034
注意力和 MLP 放进同一层(普通 Transformer 块)比拆成两个子层快,按墙钟更好;(A M M)×4 能追平
6 层普通 Transformer 对拆开的 (A M)×6(学习率 0.005) −0.0095 ± 0.0029(10 分钟 5333 步对 4504 步);6 层普通 Transformer 对拆开的 (A M)×6(学习率 0.01) −0.0062 ± 0.0032,宽 512:4 层不拆 C16·A16·A16·A16 对拆开的 AMAMAMAM −0.0483 ± 0.0021,(A M M)×4 对 6 层普通 Transformer(学习率 0.005) −0.0006 ± 0.0028,(A M M)×4 对 4 层普通 Transformer、MLP ×24(学习率 0.005) −0.0086 ± 0.0026
注意力在前、MLP 在后:M 开头更差;底部多放 A、顶部多放 M(夹心)越多越差
12 子层:M 开头 +0.0240 ± 0.0023,夹心 2 +0.0149 ± 0.0008,夹心 3 +0.0313 ± 0.0033,先 6 个 M 再 6 个 A +0.3261 ± 0.0034;夹心 1 在 10 组设置合计 +0.0020 ± 0.0008
子层多时,两三个一块(AAMM、AAAMMM)比严格交错好;6 个一块就明显变差
对严格交错:24 子层 AAMM×6 −0.0060 ± 0.0020,24 子层 AAAMMM×4 −0.0056 ± 0.0015,24 子层 A6M6×2 +0.0207 ± 0.0016,12 子层 AAMM×3 +0.0041 ± 0.0028,16 子层 AAMM×4 −0.0016 ± 0.0008
宽 256、10 分钟时,18 个子层和 12 个差不多,24 个不如 12 个
严格交错:24 子层对 12 子层 +0.0093 ± 0.0013(2225 步对 4504 步),各自较好的排法:AAMM×6 对 (A M M)×4 +0.0133 ± 0.0030(2226 步对 4399 步),各自最好的排法:AMMMAMAMAMAM 翻倍 对 AMMMAMAMMAMM(学习率 0.005) +0.0080 ± 0.0021(2195 步对 4404 步),18 子层最好的 AMMMMAAMMAMMAMAMMM 对 12 子层 AMMMAMAMMAMM(学习率 0.005) −0.0055 ± 0.0033(2910 步对 4404 步)
宽 256、10 分钟:8 个和 12 个子层的最优学习率是 0.0035,18 个子层也是 0.0035 更好;24 个子层用 0.005 比 0.0035 好
12 子层 交错:学习率 0.0025 对 0.0035 +0.0106 ± 0.0023,12 子层 交错:学习率 0.005 对 0.0035 +0.0060 ± 0.0023,12 子层 交错:学习率 0.01 对 0.0035 +0.0393 ± 0.0026,12 子层 (A M M)×4:学习率 0.0025 对 0.0035 +0.0093 ± 0.0016,12 子层 (A M M)×4:学习率 0.005 对 0.0035 +0.0059 ± 0.0006,12 子层 (A M M)×4:学习率 0.01 对 0.0035 +0.0452 ± 0.0021,24 子层交错:学习率 0.0035 对 0.005 +0.0076 ± 0.0017,18 子层 交错:学习率 0.0035 对 0.005 −0.0013 ± 0.0010,18 子层 (A M M)×6:学习率 0.0035 对 0.005 −0.0021 ± 0.0012,18 子层 AMMMAMMAMAMM 映射 a:学习率 0.0035 对 0.005 −0.0045 ± 0.0016,8 子层 AMMAMAMM:学习率 0.002 对 0.0035 +0.0122 ± 0.0022,8 子层 AMMAMAMM:学习率 0.005 对 0.0035 +0.0088 ± 0.0016,8 子层 AMMAMAMM:学习率 0.01 对 0.0035 +0.0434 ± 0.0019
小开关5 条
logit softcap 用 15:比 30 好,15–20 最好,10 以下过头
2 分钟:159 个模型里 157 个变好,平均 −0.0038 ± 0.0002;相对 30 的中位数:7.5 +0.0050,10 −0.0017,12 −0.0022,15 −0.0040,20 −0.0034;10 分钟(宽 512 最优):改成 10 +0.0033 ± 0.0005,改成 12 +0.0011 ± 0.0010
这些开关在噪声内,不值得再花算力
宽 512 最优上一次改一处(10 分钟):Muon 0.0025 −0.0015 ± 0.0016,value residual 开 −0.0010 ± 0.0009,Muon 0.003 −0.0010 ± 0.0006,K/V 卷积 4 → 2 +0.0001 ± 0.0013,K/V 卷积 4 → 8 +0.0009 ± 0.0014,rope 维数 16 → 32 +0.0010 ± 0.0012,softcap 15 → 12 +0.0011 ± 0.0010,AdamW 0.0015 +0.0012 ± 0.0016,smear 开 +0.0014 ± 0.0014
这些机制在这个规模上有害
宽 512 最优上加一种(10 分钟):第 2–3 层循环 3 遍 +0.0671 ± 0.0014,MLP 激活换成 leaky relu² +0.0492 ± 0.0020,第 4 层循环 3 遍 +0.0484 ± 0.0019,MLP 激活换成 relu² +0.0476 ± 0.0018,第 2 层起并行块 +0.0254 ± 0.0024,第 1 层换成 KDA +0.0129 ± 0.0009,第 3 层换成 KDA +0.0112 ± 0.0025,第 2 层换成 GLA +0.0095 ± 0.0014,第 2 层换成 KDA +0.0084 ± 0.0010,最后一层用 XSA +0.0081 ± 0.0013,第 2 层注意力只看前 64 个 token +0.0046 ± 0.0006
宽 512 时用 8 个注意力头、4 个 K/V 头(每个头 64 维)
宽 512 最优上只改头数(10 分钟):4 头 / K/V 2 头 +0.0030 ± 0.0014,8 头 / K/V 2 头 +0.0041 ± 0.0026,16 头 / K/V 4 头 +0.0129 ± 0.0015
K/V 短卷积(K、V 上宽 4 的因果卷积)和跳连门(层间带门控的跳连)在 10 分钟时仍然有用
宽 512 × 4 层 C24·A12·G12·A24 上去掉一项(10 分钟):K/V 卷积宽度 4 → 0 +0.0077 ± 0.0013,跳连门 开 → 关 +0.0042 ± 0.0017,softcap 15.0 → 30.0 +0.0075 ± 0.0004