PG 小模型结构研究 · 代理模型 side project

现在的 GBDT 搜索器不差,但它给的不确定性不能用;拟合最准的是 ExtraTrees

三份已有数据(grand_1024 8,225 个设置、考试 46,066 个、重点空间 945 个),六种拟合器,离线指标、主动搜索回放和种子噪声底线。全部是这台 Mac 上的 CPU 计算,没有向集群排作业。

结论

拟合器:数据上千以后 ExtraTrees / RandomForest 最准:考试数据全量训练时前 10% 内 Spearman 0.87,已经贴着噪声上限 0.86,GBDT×8 只有 0.56;它们的 90% 区间覆盖率也接近名义值(0.85–0.96),拟合速度快一个数量级以上。只有 64 个点时 GP 的前排排序最好(重点空间 0.60,GBDT 0.09)。MLP 和 Transformer 序列模型在三份数据上都没赢过树模型。

现在的 GBDT 逐成员 argmin:当搜索器用,它是最稳的一档。考试数据回放里 20 个种子全部在 256 次评估内找到全集最优,平均 31 次进入前 1%;随机搜索要 80 次,256 次后还差 0.010;GP-EI 只有 5/20、MLP 逐成员 argmin 14/20 在 256 次内找到最优。它的毛病在模型本身:bootstrap 成员几乎一致,90% 区间的实际覆盖率随数据量从 0.72 掉到 0.15,所以同一个模型改用“均值−σ”反而更慢;数据上千后它欠拟合。反过来,离线最准的 ExtraTrees 拿来逐成员 argmin,常卡在离最优约 0.004(≈1 个种子 σ)的地方(20 个种子里只有 7 个在 256 次内找到最优):树不会外推,8 组成员给出同一个答案。拟合准不等于搜得好。

种子噪声底线:同一设置换 seed,分数标准差的中位数是 0.0043(考试)和 0.0056(grand_1024)。grand_1024 的前 10% 只跨 0.006,完美模型对着单 seed 标签,前排 Spearman 也只能到约 0.24,所有拟合器都已到这个水平(0.2–0.4)。所以在 grand 前排继续比较拟合器没有意义,差距小于 0.005 的设置要靠多 seed 复测来分。

种子噪声底线同一设置换 seed 的差异

0.0043考试数据 种子标准差中位数(12,076 个多 seed 设置;均方根 0.0066)
0.0056grand_1024 种子标准差中位数(448 个多 seed 设置;均方根 0.0064)
0.67考试数据前 10% 内,seed A 与 seed B 的 Spearman
0.24grand_1024(seq 1024 大搜索):完美模型在前 10% 能拿到的 Spearman 上限(前 10% 跨度 0.006)
0.86自由度考试 phase 2:完美模型在前 10% 能拿到的 Spearman 上限(前 10% 跨度 0.034)
0.77重点空间基线(model/random/mcmc):完美模型在前 10% 能拿到的 Spearman 上限(前 10% 跨度 0.020)

上限的算法:把观测分数当真值,再加一份 N(0, σ²/k) 的种子噪声(k = 该标签平均的 seed 数),算两者在前 10% 内的 Spearman:完美模型对着这些单 seed 标签,大约也就能到这个数。grand_1024 的前 10% 只跨 0.006,约等于一个种子标准差,前排排序基本由噪声决定。

grand_1024(seq 1024 大搜索)8,225 个设置;每个点 = 5 次随机划分的均值 ± 标准误

2026-11-01T07:55:04.992026 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2 7 2 9 2 1 1 2 1 3 训练集大小 n 0.775 0.800 0.825 0.850 0.875 0.900 0.925 0.950 0.975 整体 Spearman GBDT×8(现状) RandomForest ExtraTrees MLP×5 GP(Matérn) Transformer×3 2 7 2 9 2 1 1 2 1 3 训练集大小 n 0.0 0.1 0.2 0.3 0.4 噪声上限 前 10% 内 Spearman 2 7 2 9 2 1 1 2 1 3 训练集大小 n 0.000 0.002 0.004 0.006 0.008 0.010 0.012 1 个种子 σ top-16 regret
拟合器(n = 256)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9480.3050.00040.611
RandomForest0.9480.2540.00020.940
ExtraTrees0.9440.2250.00030.873
MLP×50.9000.1190.00540.275
GP(Matérn)0.9240.2040.00440.910
Transformer×30.8980.1260.00030.469
拟合器(n = 6,580)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9620.1810.00030.287
RandomForest0.9810.3980.00010.909
ExtraTrees0.9810.3980.00010.850
MLP×50.9650.3350.00070.284
GP(Matérn)0.9590.2730.00030.914
Transformer×30.9570.2600.00120.425

自由度考试 phase 246,066 个设置;每个点 = 5 次随机划分的均值 ± 标准误

2026-11-01T07:55:05.152051 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2 7 2 9 2 1 1 2 1 3 2 1 5 训练集大小 n 0.75 0.80 0.85 0.90 0.95 1.00 整体 Spearman GBDT×8(现状) RandomForest ExtraTrees MLP×5 GP(Matérn) Transformer×3 2 7 2 9 2 1 1 2 1 3 2 1 5 训练集大小 n 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 噪声上限 前 10% 内 Spearman 2 7 2 9 2 1 1 2 1 3 2 1 5 训练集大小 n 0.000 0.002 0.004 0.006 0.008 0.010 1 个种子 σ top-16 regret
拟合器(n = 256)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9100.5190.00130.646
RandomForest0.9030.5000.00070.946
ExtraTrees0.8940.5230.00150.903
MLP×50.8770.4190.00220.378
GP(Matérn)0.8480.3890.00290.933
Transformer×30.9040.4530.00060.451
拟合器(n = 42,066)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9630.5590.00010.154
RandomForest0.9880.8620.00010.956
ExtraTrees0.9890.8680.00010.920
MLP×50.9870.8010.00010.345
GP(Matérn)0.9380.4830.00770.924
Transformer×30.9820.7490.00010.416

重点空间基线(model/random/mcmc)1,002 个设置;每个点 = 5 次随机划分的均值 ± 标准误

2026-11-01T07:55:05.755660 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 2 6 2 7 2 8 2 9 训练集大小 n 0.75 0.80 0.85 0.90 0.95 整体 Spearman GBDT×8(现状) RandomForest ExtraTrees MLP×5 GP(Matérn) Transformer×3 2 6 2 7 2 8 2 9 训练集大小 n −0.2 0.0 0.2 0.4 0.6 0.8 噪声上限 前 10% 内 Spearman 2 6 2 7 2 8 2 9 训练集大小 n 0.000 0.001 0.002 0.003 0.004 0.005 0.006 1 个种子 σ top-16 regret
拟合器(n = 256)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9360.7080.00000.630
RandomForest0.9260.5980.00000.966
ExtraTrees0.9270.5340.00000.861
MLP×50.8950.6520.00000.321
GP(Matérn)0.8980.6790.00000.896
Transformer×30.9420.5330.00000.453
拟合器(n = 756)整体 Spearman前 10% 内 Spearmantop-16 regret90% 区间覆盖率
GBDT×8(现状)0.9540.6970.00000.496
RandomForest0.9470.5990.00000.966
ExtraTrees0.9480.6580.00000.853
MLP×50.9470.6420.00000.304
GP(Matérn)0.9330.6900.00000.913
Transformer×30.9560.5940.00000.377

离线主动搜索回放数据集当 oracle:只能挑已评估过的设置;16 个随机起点,每轮 16 个;曲线是各种子的平均,种子数见图例括号和表

grand_1024(seq 1024 大搜索)

2026-11-01T07:55:05.851805 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 0 50 100 150 200 250 300 350 400 已用评估数 1 0 − 3 1 0 − 2 1 0 − 1 目前最优 − 全集最优 1 个种子 σ 随机(20) GBDT 逐成员 argmin(现状)(20) GBDT 均值−σ(5) RF 均值−σ(5) MLP 均值−σ(5) Transformer 均值−σ(5) GP-EI(20) ExtraTrees 逐成员 argmin(20) RF 逐成员 argmin(5) MLP 逐成员 argmin(20)
方法种子64 次后 regret128 次后400 次后进入全集前 1%
随机200.00230.00160.001020/20,平均第 90 次
GBDT 逐成员 argmin(现状)200.00250.00100.000220/20,平均第 70 次
GBDT 均值−σ50.00230.00110.00055/5,平均第 65 次
RF 均值−σ50.00320.00190.00055/5,平均第 115 次
MLP 均值−σ50.00340.00220.00025/5,平均第 105 次
Transformer 均值−σ50.00170.00040.00035/5,平均第 46 次
GP-EI200.00410.00380.002111/20,平均第 257 次
ExtraTrees 逐成员 argmin200.00200.00100.000419/20,平均第 60 次
RF 逐成员 argmin50.00190.00120.00025/5,平均第 78 次
MLP 逐成员 argmin200.00410.00230.000320/20,平均第 134 次

自由度考试 phase 2

2026-11-01T07:55:05.929846 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 0 50 100 150 200 250 300 350 400 已用评估数 1 0 − 4 1 0 − 3 1 0 − 2 1 0 − 1 目前最优 − 全集最优 1 个种子 σ 随机(20) GBDT 逐成员 argmin(现状)(20) GBDT 均值−σ(5) RF 均值−σ(5) MLP 均值−σ(5) Transformer 均值−σ(5) GP-EI(20) ExtraTrees 逐成员 argmin(20) RF 逐成员 argmin(5) MLP 逐成员 argmin(20)
方法种子64 次后 regret128 次后400 次后进入全集前 1%
随机200.01540.01170.008919/20,平均第 80 次
GBDT 逐成员 argmin(现状)200.00820.00260.000020/20,平均第 31 次
GBDT 均值−σ50.01250.00370.00085/5,平均第 57 次
RF 均值−σ50.01150.00710.00235/5,平均第 61 次
MLP 均值−σ50.01200.00230.00045/5,平均第 43 次
Transformer 均值−σ50.01460.00430.00005/5,平均第 65 次
GP-EI200.01190.00530.001420/20,平均第 42 次
ExtraTrees 逐成员 argmin200.00850.00610.003620/20,平均第 35 次
RF 逐成员 argmin50.00660.00620.00445/5,平均第 32 次
MLP 逐成员 argmin200.01030.00350.000720/20,平均第 40 次

重点空间基线(model/random/mcmc)

2026-11-01T07:55:06.017244 image/svg+xml Matplotlib v3.10.9, https://matplotlib.org/ 0 25 50 75 100 125 150 175 200 已用评估数 1 0 − 4 1 0 − 3 1 0 − 2 1 0 − 1 目前最优 − 全集最优 1 个种子 σ 随机(20) GBDT 逐成员 argmin(现状)(20) GBDT 均值−σ(5) RF 均值−σ(5) MLP 均值−σ(20) Transformer 均值−σ(5) GP-EI(20) ExtraTrees 逐成员 argmin(20) RF 逐成员 argmin(5) MLP 逐成员 argmin(20)
方法种子64 次后 regret128 次后192 次后进入全集前 1%
随机200.00260.00130.000916/20,平均第 57 次
GBDT 逐成员 argmin(现状)200.00110.00000.000020/20,平均第 33 次
GBDT 均值−σ50.00010.00000.00005/5,平均第 29 次
RF 均值−σ50.00010.00000.00005/5,平均第 31 次
MLP 均值−σ200.00420.00040.000020/20,平均第 46 次
Transformer 均值−σ50.00000.00000.00005/5,平均第 24 次
GP-EI200.00240.00030.000120/20,平均第 44 次
ExtraTrees 逐成员 argmin200.00120.00080.000020/20,平均第 37 次
RF 逐成员 argmin50.00020.00000.00005/5,平均第 26 次
MLP 逐成员 argmin200.00370.00090.000020/20,平均第 44 次

阶段 1–2(合成任务族 + in-context 元模型)的结果在 元模型页。

做法

特征:重点空间用 focus_search.features() 原样;grand 和考试数据用同一思路的扁平化(全局项:有序数值 / 类别 one-hot;每层槽位:mixer one-hot、MLP 类型、log(1+倍率)、repeat 标记;加层数与各类计数)。GP 用同一扁平特征标准化后的 Matérn-5/2 + 白噪声,训练点超过 1,500 时随机取 1,500。Transformer 把每个全局项当一个 (路径, 取值) token、每层当一个 token(mixer + MLP 类型 + 倍率 + 位置嵌入相加),2 层 d=64,均值池化回归。标签是该设置所有 run 的均值(多数只有 seed 42 一个)。覆盖率 = 真值落在 均值 ± 1.645σ 内的比例(名义 90%),σ 来自集成成员分歧或 GP 后验。重点空间的日志在跑的过程中还在增长:离线指标用的是当时 945 个设置的快照,回放全部用之后冻结的 1,002 个设置快照(cache_focus.pkl),所有方法看到同一个候选池。脚本 tools/meta_surrogate/bakeoff.py,数据和表在 outputs/meta_surrogate/bakeoff/。