注意力和 MLP 子层怎么排:A 打头、紧跟几个 M、M 收尾,每个子层翻倍到 24 子层照样最好

12 个子层的 4,096 种排法各训练 2 分钟,前列 161 种再训练 10 分钟、4 个种子,再在最好的几种附近做局部搜索。最好的 AMMMAMAMMAMM(2.4987)比 (A M M)×4 好 0.0063,换三种设置复测合计好 0.0068 ± 0.0015;严格交错差 0.010。把好排法每个子层翻倍放到 24 个子层,最好的 AMMMAMAMAMAM 翻倍 比之前 24 子层最好的 AAMM×6 好 0.012。8 个子层的 256 种排法全测(4 个种子):最好的 AMMAMAMM 同样 A 打头、M 收尾;拿它当真值,2 分钟单种子粗排后精测前 2 名就能找到它。

注意力的个数定大局:4–6 个 A 最好;同样个数里,最好的排法比中位数还好 0.04

A 是只有全注意力的子层,M 是只有 MLP(×12)的子层;12 个位置各放 A 或 M,一共 4,096 种排法,每种训练 2 分钟(种子 42)。每个点是一种排法,横轴是其中 A 的个数。

只看 A 的个数能解释 loss 方差的 39%,再加上每个位置放没放 A 能解释 66%。各个数最好的排法:2 个 A 2.810,3 个 A 2.785,4 个 A 2.771,5 个 A 2.769,6 个 A 2.771,7 个 A 2.781,8 个 A 2.795,9 个 A 2.809,10 个 A 2.833。2 分钟最好的是 AMMMAAMAMAMM(2.7693);参照排法的名次:(A M M)×4 第 89,严格交错 第 701,夹心 1 第 138。

10 分钟前 20 名(A M M)×4严格交错夹心 1
2.80 2.85 2.90 2.95 3.00 0 1 2 3 4 5 6 7 8 9 10 11 12 注意力子层(A)的个数 2 分钟 loss(超出的画在上边)
2 分钟、种子 42、学习率 0.0035。0、1、11、12 个 A 的排法大多在图外。

10 分钟精测:前列很平,26 种排法离最好不到 0.005,只凭 4 个种子分不清谁真的更好

精测的 161 种:2 分钟前 100 名、每个 A 个数(2–10)的前 5 名、夹心 1、30 种随机排法,加上已有的 (A M M)×4 和严格交错;每种训练 10 分钟、种子 42–45。图里是 10 分钟前 15 名和两个参照,都和 (A M M)×4 按种子配对。

和 (A M M)×4 相比,160 种里只有 1 种好过 2 个标准误;4 个种子估的标准误本身不准,纯靠运气,160 次比较里也会有约 11 次过线。更直接的检验:用两个种子挑出最好的几种,再看它们在另外两个种子上的表现(6 种分法平均)。前 1 名挑的时候好 0.0061,验的时候好 0.0015;前 5 名挑的时候好 0.0044,验的时候好 0.0013;前 10 名挑的时候好 0.0035,验的时候好 0.0006;前 20 名挑的时候好 0.0022,验的时候好 0.0009。挑选时的优势在新种子上大多消失,剩下的约 0.001 在噪声内。

A 的个数(10 分钟,每个个数取 2 分钟前 5 名):2 个 A 最好 2.5385,3 个 A 最好 2.5173,4 个 A 最好 2.5007,5 个 A 最好 2.5012,6 个 A 最好 2.5063,7 个 A 最好 2.5217,8 个 A 最好 2.5434,9 个 A 最好 2.5613,10 个 A 最好 2.5975。每多一个 A(少一个 M),10 分钟多跑约 54 步,所以 A 多的排法不是输在速度上。

AMMMAMMAMAMM(4 个 A) -0.0043 AMMAMAMAMAMM(5 个 A) -0.0038 AMMMAMAAMAMM(5 个 A) -0.0033 AMMMAMMAMMAM(4 个 A) -0.0031 AMMAMAMMAMMM(4 个 A) -0.0029 AMMAMAMAAMMM(5 个 A) -0.0027 AMMMAAMAMAMM(5 个 A) -0.0026 AAMMAMAMMAMM(5 个 A) -0.0018 AMMMMAMAMAMM(4 个 A) -0.0016 AMMMAAMMAAMM(5 个 A) -0.0016 AMMMAMAMAAMM(5 个 A) -0.0016 AAMMMAMAMAMM(5 个 A) -0.0013 AMMMAMAAMMAM(5 个 A) -0.0011 AMMMAMAMAMAM(5 个 A) -0.0011 AMMAAMMAMAMM(5 个 A) -0.0010 AAMAMAMAMAMM(夹心 1) +0.0049 AMAMAMAMAMAM(严格交错) +0.0099
600 秒,和 (A M M)×4(2.5050)按种子配对,4 个种子,负数是更好,黑线是 ±2 个标准误。最好的 AMMMAMMAMAMM 是 2.5007。
注意:训练程序只接受种子 42–45,没法加种子把前列内部排清楚;下一节换设置复测。

换三种设置复测:AMMMAMAMMAMM、AMMMAMMAMAMM、AMMAMAMAMAMM、AMMMAMMAMMAM、AMMMAAMAMAMM、AMMMAMAMAMMM 每次都比 (A M M)×4 好,合计约 0.004

把 10 分钟前 8 名、精测之后局部搜索和补测找到的 AMMMAMAMMAMM、AMMMAMAMAMMM、AMMMAAMMAMMM、(A M M)×4 和严格交错放到三种新设置里,各跑 4 个种子:学习率 0.005、宽 384(学习率 0.0035)、24 个子层(每个子层翻倍,学习率 0.005)。新设置的结果没有参与挑选,所以没有挑选偏差。每种设置里都和同一设置下的 (A M M)×4 按种子配对,图里是三种设置合计。

AMMMAMAMMAMM:学习率 0.005 -0.0066,宽 384 -0.0085,24 子层(每个子层翻倍) -0.0054,合计 -0.0068 ± 0.0015;AMMMAMMAMAMM:学习率 0.005 -0.0041,宽 384 -0.0047,24 子层(每个子层翻倍) -0.0054,合计 -0.0047 ± 0.0015;AMMAMAMAMAMM:学习率 0.005 -0.0041,宽 384 -0.0040,24 子层(每个子层翻倍) -0.0042,合计 -0.0041 ± 0.0014。严格交错合计 +0.0078 ± 0.0018。原设置的差值和新设置合计的秩相关是 0.79。合计好过 2 个标准误的有 6 种(AMMMAMAMMAMM、AMMMAMMAMAMM、AMMAMAMAMAMM、AMMMAMMAMMAM、AMMMAAMAMAMM、AMMMAMAMAMMM);其余的在噪声内。AMMMAMAMMAMM 是精测之后从 AMMMAMMAMAMM 出发局部搜索(每步只翻转一位或交换相邻两位)1 步找到的,粗排只排第 243 名,不在精测的 161 种里;它比 AMMMAMMAMAMM 原设置好 0.0020 ± 0.0007,三种新设置合计好 0.0021 ± 0.0007。

AMMMAMAMMAMM -0.0068 AMMMAMMAMAMM -0.0047 AMMAMAMAMAMM -0.0041 AMMMAMAAMAMM -0.0019 AMMMAMMAMMAM -0.0027 AMMAMAMMAMMM -0.0012 AMMAMAMAAMMM -0.0009 AMMMAAMAMAMM -0.0041 AAMMAMAMMAMM +0.0009 AMMMAMAMAMMM -0.0043 AMMMAAMMAMMM -0.0031 AMAMAMAMAMAM(严格交错) +0.0078
三种新设置合计,每行 12 对(3 种设置 × 4 个种子),和同一设置下的 (A M M)×4 配对,负数是更好。

位置规则:第 1 位放 A 最值,最后一位放 A 最伤,两个预算一致

用“A 的个数 + 每个位置放没放 A”的加性模型拟合:柱子是把一个 A 从平均位置挪到这一位,loss 变多少。灰柱用全部 4,096 种排法的 2 分钟结果,橙柱用精测的 161 种的 10 分钟结果(只有前列,读数偏粗)。

第 1 位放 A:2 分钟 -0.032,10 分钟 -0.022;最后一位放 A:+0.025 / +0.022;第 3 位放 A:-0.0028 / +0.0069。10 分钟前 20 名里,第 1 位全是 A,第 3 位和第 12 位全是 M,第 2 位只有 15% 是 A;过半放 A 的是第 5、6、8、10 位。读法:注意力要尽早给后面的 MLP 提供混合过的信息,紧接着要有几层 MLP;最后一层留给 MLP。

2 分钟,4,096 种10 分钟,精测的 161 种
−0.02 0 +0.02 1 2 3 4 5 6 7 8 9 10 11 12 位置(1 = 最底层,紧接输入) 这一位放 A 而不是 M,loss 的变化
负数是这一位放 A 更好。加性模型在 10 分钟精测集上的 R² 是 0.86。

2 分钟粗排能筛不能排:接近最好的 8 种排法里有 4 种在粗排前 100 名之外,复测最好的 AMMMAMAMMAMM 排第 243 名

粗排第 101–600 名也各训练 10 分钟(种子 42),离最好排法不到 0.01 的都补齐 4 个种子;加上局部搜索测过的,这一段共 50 种有 4 个种子。“接近最好”指 4 个种子平均离最好不到 0.005。图里每个点是一种排法,纵轴是它种子 42 的 10 分钟 loss,减去最好排法在种子 42 上的期望值(最好排法的 4 个种子平均,加上种子 42 平均偏低的 0.0014)。

按粗排名次每 100 名一组,离最好不到 0.005 的排法数(种子 42):第 1–100 名 16 种,第 101–200 名 3 种,第 201–300 名 2 种,第 301–400 名 1 种,第 401–500 名 1 种,第 501–600 名 0 种;组内平均 loss 从 2.5097 升到 2.5253。粗排名次和 10 分钟 loss 的秩相关:前 100 名内 0.49,第 101–600 名内 0.38,合起来 0.52。在精测的 161 种里,4 个种子的 2 分钟平均和 10 分钟的秩相关是 0.83,不比单种子的 0.86 高:差别来自预算本身,不是种子噪声。

原设置 4 个种子平均最好的 AMMMAMAMAMMM(2.4970)粗排第 481 名,是精测之后在前几名附近局部搜索找到的。它原设置比 AMMMAMAMMAMM 好 0.0017 ± 0.0023,换三种设置复测却差 0.0025 ± 0.0006:它是 AMMMAMAMMAMM 的 19 个邻居里原设置最好的一个,这点优势是挑出来的。12 子层的前列很平:接近最好的排法一直出现到粗排第 481 名。要不漏,粗排之后要留到前 481 名左右(12%)再用 10 分钟单种子筛一遍;只留前 100 名的话,精测之后必须在最好的几种附近做局部搜索。

4 个种子离最好不到 0.005其他
0 +0.01 +0.02 +0.03 +0.04 1 100 200 300 400 500 600 2 分钟粗排名次 10 分钟 loss(种子 42)减最好排法的期望值
600 秒,种子 42,学习率 0.0035。虚线是精测的截断(粗排前 100 名)。橙点只能来自补齐 4 个种子的排法:粗排前 100 名全部,第 101–600 名里纵轴不到 0.01 的。

24 个子层:把 12 子层的好排法每个子层翻倍最好,AMMMAMAMAMAM 翻倍 比 AAMM×6 好 0.012;首尾规则照样成立

宽 256、24 个子层、学习率 0.005,10 分钟、4 个种子。12 子层前 20 名每个子层翻倍(AMMM… → AAMMMMMM…),前 10 名整串重复两遍,再加上之前测过的 24 子层结构。图里和之前 24 子层最好的 AAMM×6 按种子配对。

最好的是 AMMMAMAMAMAM 翻倍(AAMMMMMMAAMMAAMMAAMMAAMM,2.5123),比 AAMM×6 -0.012 ± 0.0016,比严格交错 -0.018。同一个 12 子层排法,翻倍比重复两遍平均好 0.0024 ± 0.0007(10 种排法):要保持的是“A 打头、紧跟一段 M、M 收尾”的整体形状,不是短的重复单元。翻倍的前 20 名里,12 子层的名次和 24 子层的名次几乎无关(秩相关 -0.16),前列内部的次序不随深度保留,整体形状保留。

首尾规则在 24 子层照样成立(和各自的原排法配对):AMM×8,第 1 位换成 M +0.0072 ± 0.0002,AMM×8,最后一位换成 A +0.0080 ± 0.0020,AAMMMM×4,第 1 位换成 M +0.013 ± 0.0006,AAMMMM×4,最后两位换成 A +0.012 ± 0.0028。但 24 个子层整体仍不如 12 个:24 子层最好的比 12 子层的 AMMMAMMAMAMM(同为学习率 0.005)差 0.005 ± 0.0020,每步慢一倍,10 分钟只跑约 2195 步。

AMMMAMAMAMAM 翻倍 -0.012 AMMMAMAMAAMM 翻倍 -0.012 AMMMAAMAMMAM 翻倍 -0.011 AMMMAMAAMMAM 翻倍 -0.0099 AMMMMAMAMAMM 重复 -0.0098 AMMMAAMMAMAM 翻倍 -0.0096 AMMMAAMAMAMM 翻倍 -0.0096 AMMMAMMAMAMM 翻倍 -0.0094 AMMMAMMAMMAM 翻倍 -0.0092 AMMMAAMMAAMM 翻倍 -0.0091 AMMAMAMMAAMM 翻倍 -0.0088 AMMAMAMAMMAM 翻倍 -0.0084 AAAMMM×4 +0.0004 AMM×8 +0.0021 夹心 1 +0.0024 严格交错 (A M)×12 +0.0060 AMM×8,第 1 位换成 M +0.0093 AMM×8,最后一位换成 A +0.010 AAMMMM×4,第 1 位换成 M +0.0086 AAMMMM×4,最后两位换成 A +0.0078
600 秒,24 个子层,和 AAMM×6(2.5242)按种子配对,4 个种子,负数是更好。“翻倍”是每个子层写两遍,“重复”是整串写两遍。

24 子层的 300 种随机排法:位置的作用由相对深度决定,和 12 子层的相关 0.94;翻倍的最好排法比它们都好

每个位置独立地一半概率放 A,抽了 300 种,各训练 10 分钟(种子 42,学习率 0.005)。按 A 的个数(最好 / 中位数):7 个 A 2.5241 / 2.5453,8 个 A 2.5182 / 2.5322,9 个 A 2.5232 / 2.5430,10 个 A 2.5131 / 2.5354,11 个 A 2.5148 / 2.5361,12 个 A 2.5191 / 2.5409,13 个 A 2.5207 / 2.5426,14 个 A 2.5259 / 2.5446,15 个 A 2.5302 / 2.5479,16 个 A 2.5390 / 2.5684。随机排法里最好的是 AAMMMAMAAMAAMAMMMAMMAMMM(2.5131);前 10 名里 8 个以 A 开头,10 个以 M 结尾。翻倍的最好排法在种子 42 上是 2.5121,放进这 300 种里排第 1。

同样用“A 的个数 + 每个位置放没放 A”拟合(R² 0.74):第 1 位放 A -0.014,最后一位放 A +0.013,标准误约 0.001。把 24 个位置两两合并,和 12 子层 10 分钟的位置效应相关 0.94。每个位置的作用由它在网络里的相对深度决定,所以把排法按比例拉长(每个子层翻倍)能保住好排法;24 子层每个位置的效应约是 12 子层的一半,因为一个子层只占一半的深度。

12 子层(精测的 161 种,4 个种子)18 子层(100 种随机排法,种子 42)24 子层(300 种随机排法,种子 42)
−0.02 −0.01 0 +0.01 +0.02 0 0.25 0.5 0.75 1 相对深度(0 = 紧接输入,1 = 紧接输出) 这一位放 A 而不是 M,loss 的变化
10 分钟。横轴是位置在网络里的相对深度;负数是这一位放 A 更好。

局部搜索:24 子层最好的排法附近 42 个邻居,没有一个明显更好;第一段的形状最要紧

邻居指只改一处的排法:某一位 A、M 互换,或相邻两位交换,24 子层还交换相邻的两个子层块。每个邻居 4 个种子,和原排法按种子配对。

24 子层:42 个邻居里明显更好(超过 2 个标准误)的 1 个,最好的一个是 第 18 位 A → M -0.0015 ± 0.0010;明显更差的 27 个。代价最大的改动:交换第 1–2 和 3–4 位 +0.017,第 24 位 M → A +0.016,第 4 位 M → A +0.013,交换第 9–10 和 11–12 位 +0.013。在开头那段 M 里插一个 A、在最后两位放 A、把开头的 AA 后移,都差 0.01 以上;去掉后半段的一个 A 基本不影响。

12 子层:AMMMAMMAMAMM 的 19 个邻居里,明显更好的 1 个(AMMMAMAMMAMM -0.0020 ± 0.0007),明显更差的 12 个;AMMAMAMAMAMM 的 21 个邻居里,明显更好的 0 个,明显更差的 14 个;AMMMAMAMMAMM 的 19 个邻居里,明显更好的 0 个,明显更差的 16 个;AMMMAMAMAMMM 的 19 个邻居里,明显更好的 0 个,明显更差的 16 个。

这一位的 A 换成 M这一位的 M 换成 A
0 +0.01 +0.02 1 3 5 7 9 11 13 15 17 19 21 23 翻转的位置 loss 的变化(和原排法按种子配对)
24 子层最好的排法 AAMMMMMMAAMMAAMMAAMMAAMM,每次只翻转一位。10 分钟,4 个种子,黑线是 ±2 个标准误。

18 个子层(拉长 1.5 倍):好排法照样是 A 打头、M 收尾,最好的比 (A M M)×6 好 0.0044;按比例映射不如翻倍干净

宽 256、18 个子层、学习率 0.005,10 分钟、4 个种子。12 子层的排法按相对深度映射到 18 个位置:每 2 个 12 子层位置变成 3 个,其中一个写两遍。写两遍的可以是第奇数个(映射 a)或第偶数个(映射 b)。图里和 (A M M)×6 按种子配对。

最好的是 随机第 2 名(AMMMMAAMMAMMAMAMMM,2.4988),比 (A M M)×6 -0.0044 ± 0.0024,比严格交错 -0.013。映射来的排法里最好的是 AMMMAMMAMMAM 映射 a(AMMMMMAMMMAAMMMAMM),比 (A M M)×6 -0.0037 ± 0.0018。两者都是 A 打头、紧跟一段 M、M 收尾。映射 b 减映射 a:AMMMAMMAMAMM -0.0021,AMMAMAMAMAMM -0.0008,AMMMAMMAMMAM +0.0069,AMMMAAMAMAMM -0.0031,AMMAMMAMMAMM +0.0068。按 1.5 倍映射时,哪些位置写两遍会改变排法的局部形状,差别可达 0.007;翻倍没有这个问题。

学习率 0.0035 对 0.005(同一排法按种子配对):AMMMAMMAMAMM 映射 a -0.0045 ± 0.0016,AMMMAMMAMMAM 映射 a -0.0021 ± 0.0016,严格交错 (A M)×9 -0.0013 ± 0.0010,(A M M)×6 -0.0021 ± 0.0012,随机第 1 名 +0.0008 ± 0.0015,随机第 2 名 -0.0038 ± 0.0013。两种学习率里最好的是 AMMMMAAMMAMMAMAMMM(学习率 0.0035,2.4950),对 12 子层最好的 AMMMAMAMMAMM(2.4987)-0.0036 ± 0.0042:两者在噪声内。10 分钟时,宽 256 的深度在 12 到 18 个子层之间都行,24 个就太深了。

100 种随机排法(种子 42)的位置效应和 12 子层按相对深度插值后相关 0.78,第 1 位放 A -0.018,最后一位 +0.016。

随机第 2 名 -0.0044 AMMMAMMAMMAM 映射 a -0.0037 随机第 1 名 -0.0035 (A M M)×4 映射 a -0.0020 随机第 4 名 -0.0014 AMMAMAMAMAMM 映射 b -0.0008 AMMMAAMAMAMM 映射 b -0.0008 AMMMAMMAMAMM 映射 b -0.0004 AMMAMAMAMAMM 映射 a -0.0001 AMMMAMMAMAMM 映射 a +0.0017 随机第 3 名 +0.0022 AMMMAMAAMAMM 映射 a +0.0023 AMMMAAMAMAMM 映射 a +0.0024 AMMAMAMMAMMM 映射 a +0.0029 AMMAMAMAAMMM 映射 a +0.0029 AMMMAMMAMMAM 映射 b +0.0033 夹心 1 +0.0042 AAMMMM×3 +0.0045 (A M M)×4 映射 b +0.0048 AAMMAMAMMAMM 映射 a +0.0062 随机第 5 名 +0.0065 严格交错 (A M)×9 +0.0090
600 秒,18 个子层,学习率 0.005,和 (A M M)×6 按种子配对,4 个种子,负数是更好。“随机第 k 名”是种子 42 上前 5 名的随机排法补跑 3 个种子。

8 个子层全测 256 种排法:AMMAMAMM 稳居第一,前 20 名全以 A 打头;位置效应和 12、18 子层按相对深度相关约 0.8

8 个位置各放 A 或 M,一共 256 种排法,全部训练 10 分钟、种子 42–45(宽 256,学习率 0.01)。图里每个点是一种排法的 4 个种子平均。

最好的 AMMAMAMM(2.5850)比第二名 AMMAMMAM 好 0.0062 ± 0.0003。只用两个种子挑最好的,6 种分法都挑出 AMMAMAMM,它在另外两个种子上也都排第一。各 A 个数的最好 / 中位数:1 个 A 2.7638 / 2.8145,2 个 A 2.6095 / 2.6971,3 个 A 2.5850 / 2.6386,4 个 A 2.5972 / 2.6356,5 个 A 2.6138 / 2.6402,6 个 A 2.6522 / 2.6692,7 个 A 2.7205 / 2.7351。前 20 名里 20 个以 A 开头,17 个以 M 结尾。

加性模型(A 的个数 + 每个位置放没放 A)解释 83% 的方差;再加一项“相邻两位都是 A 的对数”,解释 91%,每对相邻的 A 多 0.060。第 1 位放 A -0.062,最后一位 +0.047,中间从下到上逐位变差。按相对深度插值后,和其他深度的位置效应相关:12 子层 0.80、18 子层 0.82、24 子层 0.45。首尾的规则各深度都一样。12 子层最好的 AMMMAMAMMAMM 按相对深度缩到 8 位有两种取法:AMMAAMAM 排第 5,AMMMAMAM 排第 11。

学习率扫描(4 个种子平均):AMMAMAMM 0.002 2.5538,0.0035 2.5416,0.005 2.5504,0.007 2.5639,0.01 2.5850;AMMAMMAM 0.002 2.5696,0.0035 2.5491,0.005 2.5547,0.007 2.5695,0.01 2.5912。0.01 偏大,0.0035 最好。用 0.0035 复测前 20 名(4 个种子):最好的是 AMMAMAMM(2.5416),仍是学习率 0.01 的第一名,比第二名 AMMAMMAM 好 0.0075 ± 0.0011。前 20 名平均好 0.041,但次序变了,两种学习率的秩相关 0.64:以 AMM 开头的 10 种平均好 0.0436,以 AMA 开头的 8 种平均好 0.0371(差 0.0064 ± 0.0015)。AMMMAAMM 从第 17 名升到第 7 名,AMAMAMMA 从第 12 名降到第 20 名。12 子层方向相同:(A M M)×4 从 0.01 降到 0.0035 好 0.045 ± 0.0021,严格交错 从 0.01 降到 0.0035 好 0.040 ± 0.0028。学习率小时,第一个 A 后面紧跟两个 M 更值。全部 256 种在学习率 0.0035、种子 42 下和学习率 0.01 的真值秩相关 0.99,AMMAMAMM 排第 1:学习率差 3 倍只改前列内部的次序,整体排序和最好的排法都不变;比较前几名时要用同一个学习率。

前 20 名AMMAMAMM
2.60 2.65 2.70 2.75 0 1 2 3 4 5 6 7 8 注意力子层(A)的个数 10 分钟 loss(4 个种子平均,超出的画在上边)
600 秒,宽 256,MLP ×12,学习率 0.01。0 个 A(4.25)和大部分 1、7、8 个 A 的排法在图外。

拿 8 子层全测当真值检验“粗排再精测”:2 分钟单种子粗排把最好的排在第 1–2 名,精测前 2 名就能找到它,训练时间是全测的 6%

真值是每种排法 4 个种子 10 分钟的平均。模拟“粗排再精测”:256 种排法都用一个种子训练 t 秒,取前 k 名用 4 个种子训练 10 分钟,挑精测最好的。纵轴是挑出的排法比真正最好的差多少(4 个粗排种子平均),横轴是两步合计的训练时间;每条线上的点从左到右是 k = 1、2、5、10、20、40、80。

粗排和真值的秩相关:15 秒 0.63,30 秒 0.90,60 秒 0.97,120 秒 0.99。最好的排法在 4 个粗排种子上的名次:15 秒 60、77、91、92;30 秒 8、1、21、1;60 秒 3、7、5、1;120 秒 2、2、1、1。15 秒粗排精测前 80 名仍平均差 0.0034;30 秒粗排要精测前 40 名才一定找到它(合计 29 GPU 小时);60 秒粗排要精测前 10 名才一定找到它(合计 11 GPU 小时);120 秒粗排要精测前 2 名才一定找到它(合计 10 GPU 小时)。全测要 171 GPU 小时。

对照:不粗排,随机抽 n 种直接精测,抽 10 种平均差 0.0214,抽 80 种(53 GPU 小时)差 0.0060;只在“A 打头、M 收尾”的 64 种里抽,10 种差 0.0099,40 种差 0.0025。结构先验能把随机抽样的差距减半,但不如 2 分钟粗排。

12 子层的粗排把最后最好的 AMMMAMAMMAMM 排在第 243 名,因为 12 子层前列很平(26 种离最好不到 0.005)。8 子层前列拉得开:第 2、5、10 名比最好的差 0.0062、0.0122、0.0133,单个种子的标准差约 0.0039。粗排能不能排准前列,看前列的间隔和种子噪声之比;前列平的时候排不准,但挑错的代价也小。

15 秒粗排30 秒粗排120 秒粗排随机抽 n 种(n = 5–160)只在 A 打头、M 收尾里随机抽
0 0.01 0.02 0.03 0.04 1 2 5 10 20 50 100 200 粗排加精测的训练时间(GPU 小时,对数刻度) 挑出的排法比真正最好的差多少
训练时间只算训练秒数,不含编译和启动。粗排读数取自 10 分钟运行的检查点:学习率不变,检查点等于更短的运行。

10 个子层全测 1,024 种:跑之前写下的猜测 AMMAMAMAMM 就是最好的,比第二名 AMMMAMMAMM 好 0.0037

8 和 12 子层的规律都没有用过 10 子层的数据。跑之前先写下预测(KB 待答问题,提交 f11ed40):最好的排法 A 打头、M 收尾、没有相邻的 A、有 3–4 个 A;单个猜测是 AMMAMAMAMM,即 12 子层最好的排法按相对深度缩到 10 位。然后 1,024 种排法各跑 10 分钟(种子 42),单种子前 100 名和预测点名的排法补到 4 个种子,共 107 种。

AMMAMAMAMM 单种子排第 1,4 个种子排第 1。4 个种子最好的是 AMMAMAMAMM(2.5154),比第二名 AMMMAMMAMM 好 0.0037 ± 0.0045。四条规律(A 打头、M 收尾、没有相邻的 A、3–4 个 A)在它身上都成立。单种子前 25 名里,A 打头 24 种、M 收尾 23 种、没有相邻的 A 10 种、3–4 个 A 20 种:相邻两个 A 的代价是 0.039,在 8 子层(约 0.06)和 12 子层(约 0.01)之间,10 子层上它不再是硬规则。两种深度的加性模型平均后给出的第一名是严格交错 AMAMAMAMAM,单种子只排第 33:8 子层的模型把相邻 A 的代价和 A 的个数混在一起,高估了交错。

按相对深度对齐,10 子层各位置放 A 的作用和 8 子层的相关 0.94,和 12 子层的相关 0.78;加性模型(个数 + 位置 + 相邻 A 对数)R² 0.83。不用规律、随机抽 100 种直接测,挑出的平均比最好的差 0.0078;只在符合四条规律的 25 种里随机抽 5 种,差 0.0068。

同一次运行的检查点当粗排:2 分钟和 10 分钟的秩相关 0.97(单种子前 100 名内部 0.57),最好的排在第 5 名;1 分钟 0.81,第 13 名;30 秒 0.46;15 秒 −0.44,方向反了,前 15 秒学得快的排法 10 分钟时反而差。12 子层 665 种排法里,单独跑的 2 分钟运行和 10 分钟运行的 2 分钟检查点排名几乎一样(秩相关 0.98),所以粗排可以直接读长运行的检查点。

换三种设置(学习率 0.005、宽 384、每个子层翻倍成 20 子层)复测单种子前 4 名和严格交错,AMMAMAMAMM 对它们(三种设置合计 12 对):AMMAMAMMAM −0.0025 ± 0.0015,AMMAAMMAMM −0.0044 ± 0.0012,AMMMAMAMAM −0.0059 ± 0.0017,AMAMAMAMAM −0.0106 ± 0.0032(负数是猜测更好)。

AMMMAMMAMM(单种子第 23) +0.0037 AMMAMAAMMM(单种子第 10) +0.0046 AMMAMMAAMM(单种子第 5) +0.0051 AMMMAMAMMM(单种子第 40) +0.0052 AMMAAMMAMM(单种子第 3) +0.0054 AMMAMAMMAM(单种子第 2) +0.0059 AMMAAMAMMM(单种子第 7) +0.0060 AMMMAAMAMM(单种子第 18) +0.0062 AMAMAMAMAM(严格交错,平均模型的第一,单种子第 33) +0.021
600 秒,宽 256,学习率 0.0035,和 AMMAMAMAMM 按种子配对,4 个种子,正数是更差;括号里是单种子名次。

MLP 变窄到 ×4、×2,排法规律不变:第 1 位放 A 好 0.011–0.019;按规则写出的排法比外部搜索最好的排法好 0.023–0.035

我们的 M 是 MLP ×12,一个 M 的参数是一个 A 的 8 倍。另一组在 GPT-2 small 规模(24 子层、MLP ×4、固定 100k 步)上用超网搜索排 A 和 M,结论和这里不同。为了看规律是否依赖 MLP 宽度,把 M 换成 ×4(参数和 GPT-2 的 MLP 一样)和 ×2,其余照旧(24 子层、宽 256、学习率 0.005、10 分钟、4 个种子),重测我们的规则排法和那组搜索给出的排法。

那组搜索的排法都以 M 打头。原样测,和严格交错 (A M)×12 比:MLP ×12 外部搜索 1(按输出 RMS 剪枝) +0.0091,外部搜索 2(同一位置试 A、M,按适应后的 loss 选) +0.0126,外部搜索 3(双位置剪枝) +0.0241;MLP ×4 外部搜索 1(按输出 RMS 剪枝) +0.0042,外部搜索 2(同一位置试 A、M,按适应后的 loss 选) +0.0078;MLP ×2 外部搜索 1(按输出 RMS 剪枝) +0.0002,外部搜索 2(同一位置试 A、M,按适应后的 loss 选) +0.0053。只把第 1 位换成 A(首位改 A,或前两位对调),三种宽度都好:MLP ×12 −0.0192 ± 0.0020,−0.0156 ± 0.0022;MLP ×4 −0.0164 ± 0.0019,−0.0138 ± 0.0015;MLP ×2 −0.0112 ± 0.0015,−0.0111 ± 0.0015。

不经搜索、按规则写出的排法更好:MLP ×4 下最好的是 AMMMAMAMMAMM 翻倍(AAMMMMMMAAMMAAMMMMAAMMMM),比严格交错好 0.0272 ± 0.0021;MLP ×12 下最好的是 AMMMAMAMAMAM 翻倍。(A M M)×8 在 ×12 下只好 0.0039,在 ×4 下好 0.0166。MLP 窄时 M 算得快,A 少的排法 10 分钟里多走几步:×4 下 (A M M)×8 走 3210 步,严格交错 2995 步;按固定步数比较,A 少的优势会小一些。

同一批 300 种随机排法(种子 42)在 ×4 和 ×12 下的排名秩相关 0.92;第 1 位放 A 的作用 −0.0139(×12 −0.0129),最后一位放 A +0.0114(×12 +0.0143)。随机排法没有一种比最好的规则排法好(两种宽度都是)。

M 打头的排法前期快、后期慢:×4 下外部搜索 1、2 的排法在第 15 秒比严格交错低 0.124、0.092,第 60 秒 +0.0449、+0.0139,10 分钟 +0.0042、+0.0078。用很短的训练(或适应)挑模块,会系统性地把 M 放在开头;10 子层全测里 15 秒的排名也和 10 分钟反相关。

×4 下换学习率,规则排法对严格交错的优势不变:学习率 0.0035 (A M M)×8 −0.0189 ± 0.0026,AMMMAMAMAMAM 翻倍 −0.0223 ± 0.0013;学习率 0.007 (A M M)×8 −0.0163 ± 0.0014,AMMMAMAMAMAM 翻倍 −0.0165 ± 0.0011。

A 的个数(同一类排法:12 子层各个数最好的排法,每个子层翻倍),和严格交错比:MLP ×4 4 个 A +0.0053,6 个 A −0.0148,8 个 A −0.0272,10 个 A −0.0178,12 个 A −0.0054;MLP ×12 4 个 A +0.0357,6 个 A +0.0080,8 个 A −0.0154,10 个 A −0.0179,12 个 A −0.0048。

×4 下从 AAMMMMMMAAMMAAMMMMAAMMMM 出发走一步局部搜索(31 个邻居,种子 42):12 个单种子更好,但这个排法自己的种子 42 偏高;单种子最好的几个补到 4 个种子后,对它:AMMMMMMMAAMMAAMMMMAAMMMM −0.0057 ± 0.0005,AAMMMMMMAAMMMAMMMMAAMMMM −0.0013 ± 0.0009,AAMMMMMMAAMMAMMMMMAAMMMM −0.0011 ± 0.0007,AAMMMMMMAAMAMAMMMMAAMMMM −0.0008 ± 0.0006,AAMMMMMMAAMMAAMMMMMAMMMM −0.0004 ± 0.0009,AAMMMMMMAAMMAAMMMMAMAMMM −0.0000 ± 0.0013,MAMMMMMMAAMMAAMMMMAAMMMM +0.0030 ± 0.0035,AMAMMMMMAAMMAAMMMMAAMMMM +0.0034 ± 0.0009。

再从 AMMMMMMMAAMMAAMMMMAAMMMM(对严格交错 −0.0328 ± 0.0023)走一步,31 个邻居都跑 4 个种子:1 个好过 2 个标准误(AMMMMMMMAAMMAMMMMMAAMMMM,第 14 位 A → M,−0.0014 ± 0.0006),21 个明显更差;最差的三个:第 4 位 M → A +0.0103,第 24 位 M → A +0.0168,第 1 位 A → M +0.0617。在学习率 0.0035 和宽 384 下复核这个邻居,合计 −0.0011 ± 0.0006(8 对):方向一致,但只有约 0.001,局部搜索在这里收敛。

AMMMAMAMMAMM 翻倍 -0.027 AAMMMM×4 -0.020 AMMMAMAMAMAM 翻倍 -0.018 (A M M)×8 -0.017 外部搜索 1,首位改成 A -0.012 外部搜索 2,前两位对调 -0.0059 AAMM×6 -0.0036 外部搜索 1(按输出 RMS 剪枝) +0.0042 外部搜索 2(同一位置试 A、M,按适应后的 loss 选) +0.0078
MLP ×4,24 个子层,600 秒,学习率 0.005,和严格交错 (A M)×12 按种子配对,4 个种子,负数是更好。

代理模型挑不出更好的 24 子层排法:最好的一个也差 0.003,预测比实测低 0.016–0.045

用已有的 358 次 24 子层运行(随机排法加上测过的结构,都取种子 42)拟合三种岭回归代理模型,再用模拟退火找每个模型在固定 A 个数下的最好排法,拿去实测 4 个种子。交叉验证的 R²:只看位置 0.40,加 AA / MM 相邻个数 0.45,加 23 个相邻对 0.44。

只看位置,8 个 A:AAMMMAMAAAAAMMMMMMMMMMMM,预测 2.4992,实测 2.5417;只看位置,10 个 A:AAMMMAAAAAAAMAMMMMMMMMMM,预测 2.4970,实测 2.5424;加 AA / MM 相邻个数,9 个 A:AAMMMAMAMAMAMAMMAMMAMMMM,预测 2.5000,实测 2.5161;加 AA / MM 相邻个数,10 个 A:AAMMMAMAMAMAMAMMAMAMAMMM,预测 2.4989,实测 2.5153;加 23 个相邻对,9 个 A:AMAMMAMMAMAMMAMMAMMAMMAM,预测 2.4956,实测 2.5221;加 23 个相邻对,10 个 A:AMAMAMAMAMAMMAMMAMMAMMAM,预测 2.4950,实测 2.5292。只看位置的模型挑出了中间一长段 A,这正是成块堆注意力的坏排法;它看不到连续段。加上相邻个数的模型挑到了前列附近,但仍不如直接把 12 子层的最好排法翻倍。在这个规模(2^24 种排法、几百个单种子样本)下,结构先验比代理模型省实验。

只看位置,8 个 A +0.029 只看位置,10 个 A +0.030 加 AA / MM 相邻个数,9 个 A +0.0038 加 AA / MM 相邻个数,10 个 A +0.0030 加 23 个相邻对,9 个 A +0.0098 加 23 个相邻对,10 个 A +0.017
600 秒,24 个子层,和 AMMMAMAMAMAM 翻倍(2.5123)按种子配对,4 个种子,负数是更好。

还没回答的问题

12 子层前列内部:复测过 2 个标准误的几种排法之间,差别还在噪声内。