一个子系统里的全部科学:优化器比较

原型 · 2026-10-31 · 子系统:同数据、同模型、同损失、同批量、同预算 T 下的优化器比较 · 基准 523 对(187 题)· 实验室 7,901 对,数据集与基准不相交

定义:S_procedure.md · 报告:S_report.md · 数字全部由 scripts/sci_compute.py 算出;没有调用模型。唯一的新实验是初始化处的梯度测量(只做前向和反向,不训练)。

已定(2026-10-31,用户“按建议定”):按格子核验前提算“已核验”,逐对核验的结果另报;第三道检验从严,排除被预测关系的平局点,放宽的结果作敏感性分析另报;映射没有核验的 S 不计入覆盖率,单列;做初始化处逐坐标梯度 RMS 的测量(只做前向和反向),给 SGD 对自适应补一条可独立检验的桥。

结论

13 对 · 0 错基准上事先核验后作答的方向判定;单侧 95% 误差上界 20.6%
547 · 1.8%实验室上事先核验后作答(ε = 0.1);单侧 95% 上界 3.1%
523/523基准上有推导可达的对:同类 309 对靠时钟律,SGD 对自适应 214 对靠初始化处测得的桥
7.6%测得的梯度 RMS 给 SGD 对自适应 210 对排序的误差(不核验前提);K1001 用拟合常数错 10.1%
  1. 判定 S 可以写成程序。一条候选依次过七道检验:是不是子系统里的主张、前提是否写明、前提能否不经被预测关系检验、结论能否由前提推出、前提测过没有、在这一格成立没有、实际误差是否守住前提许诺的上界。每道检验都有可执行的实现,见下方流程图。
  2. 这个子系统里找到的科学,核心是一条“时钟律”。从 PyTorch 的更新规则推出每种优化器的进展时钟(Adam ηT,RMSprop 多出初期放大,Adagrad 约 2η√T,SGD 动量除以 1−m),结论是同一流类里时钟大者胜。两条前提(时钟相等则损失相等、同一配置训练更久更好)都在不含“同 T 比 lr”的实验上检验,与被预测关系独立。
  3. 证据是事先作答的成绩。基准上 13 对方向判定全对,单侧 95% 误差上界 20.6%(按定义稿的 1 − δ^(1/n);三分之一法则给 23.1%);实验室 547 对错 10 对,上界 3.1%。用基准自己的学习曲线逐对核验(要跑完整训练)时,285 对时钟不等的同类对里前提在 247 对上成立;前提成立时时钟大者必胜,这是按构造成立的一致性检查,不是证据。有信息的是失效归因:时钟大者输的 33 对,16 对是 A2 失效(训练更久不再更好),17 对是 A1 失效(噪声地板)。
  4. 事先能核验的部分很小。前提只能在实验室按(任务族、流类、时钟量级、lr 档)这样的粗格子核验,基准上事先核验后作答的只有 13 个方向判定和 5 个平局判定。同一推导不核验前提时答 285 对、错 11.6%,与 KB 的 L(K1001 错 10.5%)相当。
  5. 新实验给 SGD 对自适应补了前提,但还核验不了。在初始化处做前向和反向(532 组、每组 4 个种子),测得两种换算:下降速率桥 k 与位移桥 r。推导成立、前提可测;但实验室里能检验桥的跨类对只有 33 对、三个族,ε = 0.1 时事先作答 0 对。不核验前提时,测得的 r 给 210 对排序错 7.6%,好于 K1001(10.1%)、截断训练到同样代价(15.9%)和“自适应总胜”(18.2%);KB 的拟合常数在样本内错 5.9%。KB 拟合的 |g| 原来大致就是可测的梯度 RMS。
  6. “找全了”只能相对地说。相对于三条搜索路线和由更新规则出发的前提库,推导的闭包在全部对上逐一算过;覆盖率分层报告(可达、事后成立、事先核验),没有覆盖的部分逐类给出原因和补法。机制层面的捕获再捕获估计约 11.1 个,已找到 11 个;到 S 的机制估计约 9.0 个,已找到 9 个。

价值:三个坐标

同一批 523 对上,每条答案规则是三轴上的一个点:作答部分的误差 e、不作答的比例 u、代价 c(直接训练为 1)。按定义稿 §2.4,把不作答的对回退到直接训练,三轴就压成代价 c′ 与误差 e′ 两轴,可以和截断试探直接比:截断要花多少算力才达到同样误差,就是这条规则值多少算力(ρ*)。

三轴上的价值。左图:S 几乎全对,但几乎不作答(u ≈ 0.98);KB 的定律几乎都作答,误差约 10%。右图:补全后 S 的代价接近直接训练,省不下算力;覆盖面广的规则落在截断曲线左下方,省下的算力最多。
S(前提事先核验)同一推导,不核验前提KB 的定律(L,样本内)截断试探虚线:到截断曲线上同样误差处的距离,即这条规则省下的训练算力
补全前:每条规则在 (u, e) 上(c 都约为 0)0%5%10%15%0.000.250.500.751.00不作答的比例 u作答部分的误差 e直接训练(c = 1)S:时钟律(事先核验)时钟律(不核验)K1001(KB)位移族(KB)时钟律 + 测得的桥补全后:不作答的对回退到直接训练0%10%20%30%0.5%1%3%10%30%100%代价 c′(直接训练 = 1,对数轴)截断试探:每对都训练到 ρ,挑领先者S:时钟律(事先核验)(≈ 直接训练)时钟律(不核验)K1001(KB)位移族(KB)时钟律 + 测得的桥
答案规则作答euc补全后 e′补全后 c′截断达到 e′ 要的 ρ*ρ* − c′
S:时钟律,前提事先核验(ε=0.1)130.0%0.9750.0%0.0%97.5%100.0%+2 点
时钟律,不核验前提28511.6%0.4550.0%6.3%45.5%40.0%-6 点
时钟律 + 测得 r 的桥,都不核验前提4959.9%0.0541.4%9.4%6.7%20.0%+13 点
K1001(KB,样本内)48810.5%0.0670.0%9.8%6.7%20.0%+13 点
位移族全部成员(KB,样本内)4648.0%0.1130.0%7.1%11.3%35.5%+24 点

在这个子系统里,层次和价值是两回事(定义稿 §6 第 6 条):已核验的 S 准确但覆盖太小,补全后的价值约等于零;同一推导不核验前提时作答更多,但还没有截断试探省;加上初始化处测得的桥之后,覆盖到 95%,与 KB 的定律同样省下约 13 个点的训练算力,而它的数字不来自任何训练结果。KB 的数字是样本内的。

子系统与数据

一个条件是两份训练配置:数据集、模型、损失、批量和预算 T 都相同,只有优化器设置不同(类型、lr、动量、权重衰减、betas)。问题是谁的最终测试损失(10 个种子的平均)更低。选它的理由:边界清楚(只有一类设置在变),基准里有 523 对(481 对胜负超过 2 个标准误),实验室里另有 7,901 对同 T 的比较和大量只差 T、只差衰减的实验,可以用来独立检验前提。

同为自适应SGD 对自适应同为 SGD合计
基准(v1.5 主榜,同模型的候选对)28421425523
实验室(同 T 的同模型对)5,6901,6375747,901

实验室数据来自 kb_lab 与六个 kb_science_loop 运行的 lab_experiments(共 16,574 行,与基准同一训练管线、10 个种子),数据集与基准不相交(读取时逐行断言)。注意:这些实验有一部分是科学循环为找反例专门设计的,偏向失败区域,所以用它核验前提偏保守。

怎样判定一条知识是 S

SAI 定义稿 §3 给了三个条件:前提 (a) 显式写出,(b) 可以独立于所预测的关系检验,(c) 结论由前提推出、边界就是前提失效的地方。下面把它写成七道可执行的检验。每道检验不通过,就从右侧出口离开,出口给出这条候选的判定。

S 的判定流程。左列从上到下依次检验,右列是不通过时的判定。
0 是子系统里的主张吗?
有答案规则和声明域,预测的是同数据、同模型、同预算下的优化器比较
否不计入是a 前提写明了吗?
列出推出结论所需的每一条前提
否K 或 L(按依据是观察还是系统扩展)是b 每条前提都能不经被预测关系检验吗?
检验用另一种关系:只差 T、时钟相等、只差 λ、读代码;被预测关系本身、它的特殊点或拟合版都不算
否L:前提就是结论换了说法是c 结论能由前提推出吗?
恒等式 D = δ1 + δ2;时钟公式用合成梯度跑更新规则核对
否推导不成立:排除是m 前提在独立数据上测过吗?
实验室与基准的数据集不相交;每个格子至少 5 个实验
否S · 映射未检(不作答)是v 前提在这个格子里成立吗?
失败率不超过 ε,或两条前提的卷积给出 P ≥ 1 − ε
否S · 这一格不作答(域收窄)是e 实际误差守住 ε 了吗?
在实验室和基准上检查实际误差是否超过前提许诺的上界
否S · 映射失败,域收窄S · 已核验:只在前提通过的格子里作答

(b) 的执行方式:每条前提都有一个“检验关系”(它在哪类实验对上检验)。被预测的是同 T 下两份配置的比较;前提的检验关系必须是另一种关系,例如只差 T、lr 与 T 都不同但时钟相等、只差衰减,或者读代码。若一对配置本身就只差衰减,那么“衰减可忽略”的检验关系与这对的预测重合,这对的平局判定只算 L(定律的直接应用),不算 S。同理,同 T 下动量匹配的对是被预测关系的平局点,不能拿来检验“动量并入时钟”。

怎样找:三条路线

同一个子系统里的候选从三处来,三条路线互不参照,最后在机制层面比对重叠,用来估计还有多少没找到。

KB 路线

读了 kb_scratch 下全部 KB:各科学循环运行的 kb_live(含已退役条目)、qwen 的 kb_evolve 快照和种子 KB。按 KB 自己记录的依据定层次:K 213 条、L 39 条、S 0 条。

KB 路线的漏斗条数
KB 文件里的主张记录(28 个 KB)4,885
文本归一化后904
合并近似文本后876
提到优化器778
人工逐条读出:说的是这个子系统270
去掉已被后继合并的252
写成可执行规则42
写出推导的 40 条,为什么不是 S条数
(b) 前提不独立(Δ 规则这座桥,或拟合常数)23
(c) 推导有误或没有推导10
(b)(c) 未检验且推导不全6
(a) 前提没写出1
写出推导的 40 条 KB 主张,逐条检查
主张前提(a) 写明(b) 独立检验(c) 推导结论
_smoke_soa:K1001每个任务都欠训练:Δ 大者胜部分否:前提就是所预测的排序无推导不是 S
kb_evolve_archonly:K0001Adagrad 每参数近似尺度不变,位移 ≈2·lr·√T 与梯度尺度无关;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_archonly:K0112(无)否:稳态条件(梯度在 1/(1−m) 步内变化小)没有写出——不是 S:前提没有写出
kb_evolve_archonly:K0157RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_archonly:K0207偏差校正后每步位移 ≈lr,与 β₂ 无关(符号一致的梯度);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_archonly:K0247RMSprop 累计位移 ≈ lr·T/√(1−α)部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:1/√(1−α) 只在第 1 步成立,全程平均是 F(T)(T=256 时 1.47,不是 10)不是 S:推导本身有误
kb_evolve_archonly:K0364Adagrad 位移修正式 2·lr·√T/(1+0.005·T)是否:拟合出的修正被当作前提无推导不是 S
kb_evolve_puct20_arch:K0210各优化器的输出偏置位移:动量 SGD (lr/(1−m))·T·‖g‖,自适应 lr·T,SGD lr·T·‖g‖;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验部分:‖g‖ 未给定不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_puct20_mixed:K0298β₂=0.999 时二阶矩前 200 步低估约 5 倍,步长更大部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:Adam 有偏差校正,零初始化不会让 v̂ 系统性低估不是 S:推导本身有误
kb_evolve_puct20_mixed:K0307Adagrad 有效位移 ≈ lr·T/√(T+T_w),是 2·lr·√T 的 3–5 倍部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:给出的式子约等于 lr·√T,小于 2·lr·√T,却说是它的 3–5 倍,前后矛盾不是 S:推导本身有误
kb_evolve_puct20_mixed:K0310Adam 初期每步位移 lr/max(√v̂, ε),放大 10–100 倍部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:Adam 的偏差校正更新是 lr·m̂/(√v̂+ε),每坐标步长 ≲lr;文中漏掉 m̂不是 S:推导本身有误
kb_evolve_puct40_arch:K0012偏置对齐时间 ≈1/(2·lr/(1−m))部分未检验部分:缺 ‖h‖² 等因子不是 S
kb_evolve_puct40_arch:K0027RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_puct40_arch:K0069动量 SGD 的有效学习率与 Adagrad 衰减后的步长直接比较部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:把 SGD 的学习率直接和归一化步长比较,缺了 SGD 位移里的 |g|不是 S:推导本身有误
kb_evolve_puct40_arch:K0289RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验部分:忽略了初期放大(T=256 时 F=1.47)不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
kb_evolve_run3:K0297RMSprop 前约 10 步放大 1/(1−β₂)≈10 倍部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:α=0.99 时 1/(1−α)=100;按更新规则是 1/√(1−α)=10,且只在第 1 步不是 S:推导本身有误
kb_evolve_run3:K0305曲率不连续处动量有效学习率公式高估位移 ≥2 倍部分未检验否:断言,没有推导不是 S
kb_evolve_smoke:K0297RMSprop 前 20 步平均放大只有 2–3 倍部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:按更新规则前 20 步平均放大是 3.9 倍不是 S:推导本身有误
luna_main:K0156Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
qwen_6ep_40eval:K0012偏置对齐时间 ≈1/(2·lr/(1−m))部分未检验部分:缺 ‖h‖² 等因子不是 S
qwen_6ep_40eval:K0019Δ 相同则进展相同、Δ 大者胜(Δ 规则);三处门限:过拟合(epochs≥16 且 params/N≥15)、MSE 大梯度、大偏移是否:Δ 规则就是所预测的排序无推导不是 S:是定律
qwen_6ep_40eval:K0024稳态有效学习率 lr/(1−m);重球加速与噪声平滑使动量更好部分未检验否:“动量在等有效学习率时更好”没有由前提推出不是 S
qwen_6ep_40eval:K0307插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last)是门限只能用所预测的胜负来定部分:d* 有论证,门限是拟合不是 S
qwen_6ep_40eval:K0309插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last)是门限只能用所预测的胜负来定部分:d* 有论证,门限是拟合不是 S
qwen_6ep_40eval:K0310Adagrad 位移饱和:D≈2·lr/|g_rms|,与 T 无关部分未检验;需要梯度统计或参数位移的测量,现有数据只有终点否:与更新规则的尺度不变性矛盾:梯度整体乘 c 时 Adagrad 的步长不变,D 不可能反比于 |g|;同一批 KB 的 K0001 正写着与梯度尺度无关不是 S:推导本身有误
qwen_6ep_40eval:K0311RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:F(T) 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
qwen_6ep_40eval:K0314深层近似冻结(核区);读出层按 df≈−2·lr_eff·‖h‖²(f−y) 收缩是可独立检验,但现有数据测不到部分:比较结论没有推出不是 S:比较这一步没有推导
qwen_6ep_40eval:K0315插值门限:epochs≥16 且 params/N≥15 时测试损失随 D 呈 U 形;最优 D≈(2–5)·d*,d*=σ_y/(0.5√W_last)是门限只能用所预测的胜负来定部分:d* 有论证,门限是拟合不是 S
smoke_qwen:K0157RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_async_v1:K1001同模型、饱和以下:名义累计位移 Δ 越大,进展越多部分:Δ 公式写明,“饱和”没有判据否:唯一的前提就是所预测的排序无推导不是 S:KB 自己写明这只是进展启发式
soa_async_v1:K1002Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:Δ_Ada 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_async_v1:K1019SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是否:拟合出的常数被当作前提部分:形式是推导,常数不是不是 S:把拟合出的关系换个说法当作前提
soa_v1:K1001每个任务都欠训练:Δ 大者胜部分否:前提就是所预测的排序无推导不是 S
soa_v1:K1002Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:Δ_Ada 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_v1:K1019SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是否:拟合出的常数被当作前提部分:形式是推导,常数不是不是 S:把拟合出的关系换个说法当作前提
soa_v1:K1026动量速度从 0 开始(PyTorch 定义),梯度近似不变;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:位移亏欠由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则;这是 KB 里最接近 S 的一条:推导正确,还推出差距随 T 按 1/T 缩小
soa_v1:K1035RMSprop 零初始化、无偏差校正:第 t 步步长≈lr/√(1−α^t)(梯度量级平稳);Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:F(T) 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_v2:K1002Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:Δ_Ada 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_v3:K1042Adagrad 累加器按 t·g² 增长(梯度量级平稳),第 t 步步长≈lr/√t;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是:更新规则层面的前提写明了;Δ 规则作为桥被引用否:桥(Δ 规则)只能用所预测的排序检验是:Δ_Ada 由更新规则推出不是 S:换算是推导,排序要经过未独立检验的 Δ 规则
soa_v3:K1049SGD 的 Δ=lr·T·|g|/(1−m);|g| 按任务取 0.01 / 0.03 / 0.003;Δ 相同则进展相同、Δ 大者胜(Δ 规则)是否:拟合出的常数被当作前提部分:形式是推导,常数不是不是 S:把拟合出的关系换个说法当作前提

完整清单(252 条,含层次、依据和可执行规则的成绩)见 routes/kb_route.md。

文献路线

读了研究库的预训练、RL、可解释性三个目录和 claims 试点:条目 344 + 271 + 317,关键词命中 86 + 49 + 7,读后补入 5 篇,与优化器或训练进程有关的共 54 篇。其中 14 篇在子系统里给出预测(共 18 条:K 8、L 5、S 5),15 篇只提供前提,25 篇两样都不给。前提记录 29 条、检验项 46 个,其中 16 个能用我们的数据绕开被预测关系检验。

编号来源子系统里的预测层次映射
LIT-ADAM-1Adam: A Method for Stochastic Optimization
§6.4,图 4(VAE)
同学习率、同 β2 时 Adam ⪰ RMSprop(不会更差)K可检验
实验室 137 对,对 68.6%
LIT-ADAM-2Adam: A Method for Stochastic Optimization
§6.1–6.3,图 1–3
各自在调优学习率下:Adam ≻ Adagrad(训练代价);Adam ≈ SGD+NesterovK开放:要用没有的量
LIT-ADAMW-1Decoupled Weight Decay Regularization
§4.3,图 3;§4.2 图 2
同学习率:训练够长时 AdamW(解耦衰减)≻ Adam(L2);训练前半程两者相近K开放:要用没有的量
LIT-EOS-2Gradient Descent on Neural Networks Typically Occurs at the Edge of Stability
§1,§3.2–3.3,图 1
全批量 GD、同模型:不发散的前提下,较大 η 在固定迭代数时训练损失更低K开放:要用没有的量
LIT-EOS-3Gradient Descent on Neural Networks Typically Occurs at the Edge of Stability; literature/science_boundary_cases.md
EoS §2;资料库 science_boundary_cases.md 第一节
若较大学习率越过 2/λmax 而较小者未越过,较小学习率胜(较大者发散)S开放:要用没有的量
LIT-SAXE-1Exact solutions to the nonlinear dynamics of learning in deep linear neural networks
§1 式 (2)(τ≡1/λ)、§2 式 (11)–(12)
深线性网络、白化输入、小初值、全批量、λ 足够小:固定迭代数时较大 λ 训练误差更低(轨迹只依赖 λt)S前提在子系统里不成立
LIT-KAPLAN-1Scaling Laws for Neural Language Models
附录 D.6,图 22;§2.2
常学习率、固定 T:若较小学习率的累计学习率 ηT 未到饱和,较大者胜;两者都已饱和则近似持平(差异在 0.05 量级的噪声内)K可检验
实验室 1755 对,对 75.0%
LIT-CHIN-1Training Compute-Optimal Large Language Models
附录 G,图 A6–A7,脚注 8
同日程:训练够长时 AdamW ≻ Adam;较早阶段 Adam 领先或持平K开放:要用没有的量
LIT-PORIAN-1Resolving Discrepancies in Compute-Optimal Scaling of Language Models
§3.5,附录 G.3;pilot pretrain:2406.19146#C4
同学习率、小 batch:β2=0.999 ≻ β2=0.95L可检验
实验室 83 对,对 31.3%
LIT-WARM-1Why Warmup the Learning Rate? Underlying Mechanisms and Improvements
摘要、§1 贡献、§2(Twrm=1 即常学习率)、§3
常学习率:低于失败边界时较大学习率不差;越过边界后较大学习率变差或失败L开放:要用没有的量
LIT-PRELN-1On Layer Normalization in the Transformer Architecture
§3(warmup 实验与定理 1:初始化处的梯度尺度)、§4 实验
Post-LN Transformer、Adam 类、无 warmup:较大学习率可能不稳而落后K开放:要用没有的量
LIT-MOM-1On the importance of initialization and momentum in deep learning
§2 式 (1)–(2),表 1,表 5
各自在最佳学习率下:SGD 动量 0.9 ≻ 无动量L可检验
实验室 9 对,对 100.0%
LIT-WILSON-1The Marginal Value of Adaptive Gradient Methods in Machine Learning
§4 实验,图 1
训练到底并调好学习率与衰减时:SGD/动量 ≻ Adam、RMSprop、Adagrad(测试指标);短训练时自适应方法常领先K开放:要用没有的量
LIT-WILSON-2The Marginal Value of Adaptive Gradient Methods in Machine Learning
§3 引理 3.1 与构造
满足构造条件(X·sign(Xᵀy)=c·y 等)的数据上:SGD ≻ 自适应方法S前提在子系统里不成立
LIT-MANDT-1Stochastic Gradient Descent as Approximate Bayesian Inference
§3.2 假设 1–4 与式 (13);§4.1 定理 1 证明中的 Tr(AΣ)=(ε/2S)Tr(BBᵀ);§4.3 式 (25)
两者都已进入稳态、同一极小值附近、同 batch 的 SGD:有效学习率 ε/(1−m) 较小者稳态期望(训练)损失更低;ε/(1−m) 相等则稳态分布相同S开放:要用没有的量
LIT-3F-1Three Factors Influencing Minima in SGD
§2.2 假设 1–2,式 (9)
同 batch、同一极小值附近、均已稳态:较小 η 的期望训练损失更低S开放:要用没有的量
LIT-3F-2Three Factors Influencing Minima in SGD
摘要,§2.1,§3 实验
同 batch:较大学习率终点更宽,测试表现常更好L开放:要用没有的量
LIT-SMITH-1A Bayesian Perspective on Generalization and Stochastic Gradient Descent
摘要,§4–5
固定 batch 时测试表现对学习率非单调,存在最优 ε ∝ B/N;离最优点近者胜L开放:要用没有的量

逐篇的相关性判断、前提记录和排除理由见 routes/lit_route.md。

理论路线:从更新规则推出时钟

四种自适应优化器都把梯度除以自己估计的梯度 RMS。梯度统计平稳时,它们沿同一条归一化流走,区别只在每一步走多远;SGD 沿梯度流走。把每一步走的距离累加起来,得到每种优化器的时钟 τ:

Adam / AdamW τ = η·T (偏差校正后每步一个单位) RMSprop τ = η·Σ (1 − 0.99^t)^(−1/2) (v 从 0 起步、不校正,前约 100 步被放大) Adagrad τ = η·Σ t^(−1/2) ≈ 2η√T (累加器线性增长) SGD τ = η·Σ (1 − m^t)/(1 − m) (重球动量,梯度流单位)
推导时钟与 KB 名义值。KB 的 K1001 用 ηT、2η√T、ηT/(1−m);RMSprop 在 T = 256 时差 1.47 倍。
TAdam / AdamWRMSpropAdagradSGD(m = 0.9)
256256.0
KB 名义值 256.0(×1.00)
376.0
KB 名义值 256.0(×1.47)
30.6
KB 名义值 32.0(×0.96)
2,470.0
KB 名义值 2,560.0(×0.96)
512512.0
KB 名义值 512.0(×1.00)
635.6
KB 名义值 512.0(×1.24)
43.8
KB 名义值 45.3(×0.97)
5,030.0
KB 名义值 5,120.0(×0.98)
10241,024.0
KB 名义值 1,024.0(×1.00)
1,147.9
KB 名义值 1,024.0(×1.12)
62.6
KB 名义值 64.0(×0.98)
10,150.0
KB 名义值 10,240.0(×0.99)
20482,048.0
KB 名义值 2,048.0(×1.00)
2,171.9
KB 名义值 2,048.0(×1.06)
89.1
KB 名义值 90.5(×0.98)
20,390.0
KB 名义值 20,480.0(×1.00)

条件 (c) 的数学一半(推导在假设内是否正确)用合成梯度检验:不训练任何模型,只把 PyTorch 的更新规则作用在平稳的随机梯度序列上,量沿梯度方向走了多远。常数梯度下与公式逐位相同;有噪声时四种自适应优化器按同一比例变慢,所以它们之间的换算比不变。

时钟公式的模拟核对。
T类型公式模拟(常数梯度)模拟(噪声梯度,信噪比 1)噪声下与 Adam 之比
256Adam256.00256.00181.161.000(公式 1.000)
256RMSprop375.97375.97265.441.465(公式 1.469)
256Adagrad30.5730.5721.630.119(公式 0.119)
256SGD2,470.002,470.002,472.39—
2048Adam2,048.002,048.001,447.621.000(公式 1.000)
2048RMSprop2,171.862,171.861,532.451.059(公式 1.060)
2048Adagrad89.0689.0662.980.044(公式 0.043)
2048SGD20,390.0020,390.0020,382.59—

前提逐条检验

推导用到两条主前提和几条搬运前提。所有检验都在实验室数据上做,检验关系都不是“同 T 比较两份配置”。

A1 时钟充分:时钟相等,损失相等

取同一类型、lr 与 T 都不同、时钟相差不到 15% 的实验对。若时钟抓住了 lr 与 T 的换算,这些对的损失应当接近;作为对照,时钟相差 2 倍以上的对差得多。

A1 的检验。时钟相等的对大多几乎无差,对照组的差通常在 100% 量级。时钟相等时仍有差的对,几乎都是 lr 小的一方更好(噪声地板)。
时钟相等(lr 与 T 都不同)时钟相差 2 倍以上(对照)
0%20%40%60%0%20%40%60%80%100%120%140%160%180%200%两者损失的相对差(≥200% 并入最后一格)时钟相等:中位差 2.4%(457 对)时钟差 ≥2 倍:中位差 98.5%(2,747 对)

A1 失效有方向:显著的时钟相等对里,lr 小者更好的占 66.9%,单变量与螺旋为 100%,表格分类反过来。这就是噪声地板(候选 T12)。所以 A1 按 lr 档分格核验:地板随 lr 变大。

A2 沿时钟进展:同一配置训练更久更好

A2 的检验,按任务族、流类和时钟量级分格。蓝色格子里更久几乎总更好;红色格子里更久显著更差,是过拟合。
更久几乎总更好混合更久显著更差(过拟合)格内:更久更好的比例 · 实验对数
时钟 10^-3时钟 10^-2时钟 10^-1时钟 10^0时钟 10^1单变量回归 · 自适应100% · 492% · 12397% · 15591% · 173多变量回归 · SGD100% · 1100% · 3085% · 20多变量回归 · 自适应100% · 2100% · 475% · 2455% · 22表格分类 · 自适应100% · 1100% · 1967% · 3062% · 8XOR 分类 · SGD100% · 1292% · 25XOR 分类 · 自适应100% · 492% · 2683% · 23螺旋分类 · 自适应100% · 4100% · 9100% · 7595% · 97Bigram 语言模型 · SGD100% · 20100% · 24100% · 21100% · 4Bigram 语言模型 · 自适应100% · 5100% · 2465% · 490% · 24

搬运前提:其余设置能否忽略

一对配置若还差衰减、β2、动量或类型,必须有一条前提把这项差异搬走(并入时钟,或证明可忽略)。下图是每条搬运前提在“只差这一项”的实验对上的检验。

搬运前提的检验。解耦衰减(AdamW、SGD)从不显著;Adam 的耦合 L2 即使很小也有约四分之一显著,因为它在除以梯度 RMS 之前加入,梯度小时被放大;β2 有一半显著,平稳性前提不成立。
通过:可当作可忽略失败:这项设置不同的对没有推导实验不足 5 对:未检
0%25%50%75%100%恒等 Adam≡AdamW(wd=0)0% · n=50 · 通过A4 解耦衰减可忽略0% · n=102 · 通过A4c RMSprop 的 L2 ≤ 1e-4 可忽略0% · n=8 · 通过A4c Adagrad 的 L2 ≤ 1e-4 可忽略0% · n=8 · 通过A1m 动量并入时钟25% · n=4 · 实验不足A4c Adam 的 L2 ≤ 1e-4 可忽略24% · n=66 · 失败A4c Adam 的 L2 > 1e-4 可忽略45% · n=66 · 失败A6 β2 可忽略51% · n=83 · 失败A4c RMSprop 的 L2 > 1e-4 可忽略56% · n=9 · 失败A4c Adagrad 的 L2 > 1e-4 可忽略80% · n=5 · 失败ε = 10%

推导与误差传递

对同一流类、时钟 τ_大 > τ_小 的一对,把时钟大者训练到它的时钟等于 τ_小 的那一步 s*。则精确地有

D = L_小(T) − L_大(T) = [L_小(T) − L_大(s*)] + [L_大(s*) − L_大(T)] = δ1 + δ2

δ1 由 A1 管(时钟相等处的差),δ2 由 A2 管(时钟大者自己的进展)。两条都成立(δ2 > 0 且 |δ1| < δ2)时 D > 0,时钟大者胜;时钟大者输,就一定是其中一条失效。这是数学的一半,按构造成立。基准的学习曲线可以把每一对的 δ1、δ2 直接量出来,这就是用户定的“逐对核验”,另报于此;它要跑完整训练,代价等于直接比较。

基准上的误差归因(逐对核验,要跑完整训练)。每个点是一对时钟不等的同类配置。浅蓝楔形是两条前提都成立的区域,里面的点全是蓝色:这是按构造成立的一致性检查,不是证据。有信息的是楔形外的橙点:A2 失效的在左侧,A1 失效的在虚线下方。
时钟大者胜(252 对)时钟大者输(33 对)事先核验并作答的对两条前提都成立的区域
-100%-100%-10%-10%-1%-1%001%1%10%10%100%100%1,000%1,000%10,000%10,000%δ1 + δ2 = 0:线的右上方时钟大者胜两条前提都成立的楔形:δ2 > 0 且 |δ1| < δ2δ2:时钟大者从 τ_小 训练到 τ_大 的进展(相对值,对称对数轴)δ1:时钟相等处,时钟小者减时钟大者的损失(相对值)

事先作答时还看不到这一对的曲线,只能用实验室格子里 δ1 与 δ2 的分布做卷积,得到 P(时钟大者胜),达到 1 − ε 才作答。卷积的校准:

前提给出的概率与实际比例。只有最高一档区分度高:P ≥ 0.9 时实验室 568 对里时钟大者胜 97.9%;中间几档都在 67%–71% 左右,说明粗格子的前提分布不够细。
实验室(点越大对越多)基准完全校准
0%25%50%75%100%0.00.20.40.60.81.0两条前提的卷积给出的 P(时钟大者胜)(按 0.1 分箱)实际比例

证据看事先作答。基准上方向判定 13 对全对,单侧 95% 误差上界 20.6%(三分之一法则给 23.1%);实验室 547 对错 10 对,上界 3.1%。

反转侧(前提说时钟小者胜)的经过值得记下:第一版 A1 不分 lr 档,实验室上给出 174 个反转判定,实际错 25.9%,超出了前提许诺的 10%;按定义稿的降级规则收窄声明域,并把 A1 改为按 lr 档核验后,反转侧不再有通过核验的格子。

新实验:初始化处的梯度测量

SGD 沿梯度流走,自适应优化器沿归一化流走,两类时钟要换算才能比较。用户同意做一个新实验来补这条前提:对每个含 SGD 对自适应的(数据集、模型、损失、批量)组,按训练时的方式设种子、建模型、抽批次,在第一次更新之前做一次全批量的反向(得到平均梯度 μ)和训练流的前 32 个小批量(得到二阶矩 ν),种子 0, 1, 2, 3。共 532 组(实验室 422、基准 110),出错 0 组,本机 CPU 半分钟,ArchitectureIQ 下没有写入任何文件。

B_k 下降速率桥:k = Σμ² / Σ(μ²/√ν) 初始化处 SGD(lr) 与归一化优化器(lr·k) 一阶下降一样快(事先定为主) B_r 位移桥: r = √(mean ν) SGD 每个坐标走 lr·|g|,归一化优化器走约 lr(KB 的 |g| 就是它)
测得的换算与 KB 的拟合常数。分类与 Bigram 族里测得的 r 与 KB 拟合的 g 同一量级。
任务族测量组k 中位数 [10%, 90%]r 中位数KB 拟合的 g4 个种子间 k 的最大/最小
单变量回归720.0689
[0.0185, 0.4674]
0.02770.01(MSE 带动量 0.03)×2.65
多变量回归1620.2282
[0.0317, 0.8666]
0.09080.01(MSE 带动量 0.03)×1.47
表格分类630.0172
[0.0057, 0.0407]
0.00870.01×1.57
XOR 分类510.0138
[0.0044, 0.0270]
0.00690.01×1.68
螺旋分类720.0216
[0.0022, 0.2027]
0.01350.01×1.66
Bigram 语言模型1120.0048
[0.0020, 0.0074]
0.00190.003×1.10

前提 B 像 A1 一样检验:取实验室里 T 也不同的 SGD 对自适应的对(949 对),换算后时钟相等的应当打平。这些对没有一对是“同 T 比较”的平局点,符合从严的 (b)。

前提 B 的检验。测得的 k、r 让匹配对的差明显小于不匹配对,不换算时匹配对反而差得更多。但匹配对很少,等值检验大多不过。
桥接时钟相等(相差 < 15%)的对桥接时钟相差 2 倍以上的对(对照)
0.1%1%10%100%损失相对差的中位数(对数轴)Bigram测得 k(下降速率)匹配 4 对 · 显著 100%测得 r(位移)匹配 1 对 · 显著 100%KB 拟合的 g没有匹配对不换算匹配 16 对 · 显著 100%多变量回归测得 k(下降速率)匹配 13 对 · 显著 85%测得 r(位移)匹配 9 对 · 显著 67%KB 拟合的 g匹配 8 对 · 显著 88%不换算匹配 4 对 · 显著 100%XOR 分类测得 k(下降速率)匹配 16 对 · 显著 44%测得 r(位移)匹配 9 对 · 显著 33%KB 拟合的 g匹配 12 对 · 显著 50%不换算匹配 4 对 · 显著 100%

七道检验

步检验桥 B(B_k 为主,B_r 并列)
0是子系统里的主张是:预测同 T 下 SGD 对自适应谁胜。
a前提写明是:B(初始化处测得的换算在整个训练中成立)与 A2(沿时钟进展)。
b前提不经被预测关系检验是:k、r 由初始化处的梯度测得,不看任何训练结果;B 在 T 也不同、桥接时钟相等的实验室跨类对上检验,没有一对是同 T 关系的平局点。
c结论由前提推出是:一阶展开给出换算(下降速率或位移相等),比较仍用恒等式 D = δ1 + δ2。
m前提测过部分:能检验 B 的实验室跨类对只在 Bigram、多变量回归、XOR 三个族里有;桥接时钟相等的对 B_k 33 对、B_r 19 对。
v前提在这一格成立ε = 0.1 时否:B_k 的 5 个格子里只有 3 个满 5 对,等值检验显著比例 29%–100%,卷积给出的 P 没有一对达到 0.9。
e实际误差守住 εε = 0.2 时 B_k 在实验室作答 29 对、错 27.6%,超出许诺的 20%;B_r 作答 17 对、错 5.9%。ε = 0.3 时两者基准上作答 2 对、4 对,全对。

事先作答随 ε 的前沿(只算 SGD 对自适应)

εB_k 实验室B_k 基准B_r 实验室B_r 基准
0.020 对0 对0 对0 对
0.050 对0 对0 对0 对
0.10 对0 对0 对0 对
0.229 对 · 错 27.6%1 对 · 错 0.0%17 对 · 错 5.9%0 对
0.356 对 · 错 17.9%2 对 · 错 0.0%87 对 · 错 18.4%4 对 · 错 0.0%
0.4199 对 · 错 18.6%6 对 · 错 0.0%117 对 · 错 15.4%4 对 · 错 0.0%

同一批 214 对上的比较

SGD 对自适应的基准对上各规则的误差。测量一对的代价中位是直接训练这一对的 3.2%(0.5%–7.5%);同样代价下截断训练错 15.9%。
测量值,不看任何结果(样本外)KB 的规则与拟合常数(见过 498/500 题,样本内)基线
0%5%10%15%20%S:桥 B_k,事先核验(ε = 0.1)不作答(0 对)桥接时钟,测得 r,不核验前提7.6% · 210 对桥接时钟,测得 k,不核验前提12.4% · 210 对截断训练到同样代价(中位 3.2%)15.9% · 214 对自适应总胜18.2% · 214 对K1001(KB,样本内)10.1% · 208 对位移族全部成员(KB,样本内)6.1% · 198 对桥接时钟,KB 拟合的 g(样本内)5.9% · 204 对

逐对核验(用基准曲线,要跑完整训练):桥接时钟不等的 210 对里,B_k 下两条前提都成立的有 163 对,B_r 下 177 对;这些对里桥接时钟大者必胜,同样只是一致性检查。

判定结果

全部机制的判定

三条路线的候选对齐到机制之后,逐个给出判定:找到的 S、前提没有核验或核验失败的 S,以及排除的候选和理由。

机制判定依据
M1时钟与时间重标(lr·T 换算,进展侧)S,已核验时钟律的进展侧。A1、A2 在实验室按格子核验;实验室作答 547 对、错 1.8%,基准 13 对全对。KB 有同一机制,但从位移到胜负这座桥只用胜负计数检验(L);文献唯一的 S(Saxe)要求深线性网络。
M7权重衰减:解耦与耦合S,已核验解耦衰减(AdamW、SGD)可忽略:102 对里 0 对显著。反面也由更新规则推出并核验:耦合 L2 在除以梯度 RMS 前加入,Adam 即使 λ≤1e-4 也有 24.2% 显著。
M10λ=0 时 Adam 与 AdamW 恒等S,已核验λ=0 时 Adam 与 AdamW 是同一个更新规则,读代码即可检验;实验室 50 对差异全为 0。
M3稳态的噪声地板(有效 lr 小者胜)S,前提只在部分族成立噪声地板:时钟相等时 lr 小者更好。推导来自稳态 SDE(文献 Mandt、Three Factors)。显著的时钟相等对里 lr 小者更好占 66.9%,单变量与螺旋为 100%,表格分类相反。它是 M1 的 A1 失效的系统部分。
M4自适应优化器之间的换算(Adagrad √t、RMSprop 初期放大、归一化步长)S,映射证据薄或未检RMSprop 的初期放大(T=256 时 ×1.47)与 Adagrad 的 1/√t 时钟由更新规则推出,模拟核对逐位一致;能独立检验的时钟相等对分别只有 13 对和 3 对。KB 的同类推导正确,但桥不独立。
M5动量即有效学习率S,映射未独立检验动量并入时钟。T 也不同的匹配对只有 4 对;同 T 的匹配对是被预测关系的平局点,不算。KB 的三条主张互相矛盾,数据支持“打平”。
M9稳定阈值(edge of stability、warmup)S,映射未检稳定阈值 2/λ_max 要用曲率,数据里没有。KB 只有 2 条 K 级观察,文献的 EoS 给出前提。
M6SGD 与自适应之间的桥(梯度尺度)S,映射证据不足(ε=0.1 时 0 对)SGD 对自适应:初始化处测得换算(B_k 下降速率、B_r 位移),推导成立、前提可测。实验室能检验桥的跨类对只有 33 对、三个族,事先作答在 ε=0.1 时为 0。不核验前提时,测得的 r 在基准上错 7.6%(210 对),K1001 错 10.1%,KB 的拟合 g 错 5.9%(样本内)。
M2边界:何时更大位移反而输(饱和、过拟合、过冲)S,映射失败,域收窄为空反转侧:前提说时钟小者胜。第一版在实验室给出 174 个判定、错 25.9%,超出许诺的 10%;改为按 lr 档核验后没有通过的格子。KB 的饱和门限是拟合出来的(L)。
M8β2 与梯度统计的平稳性排除:前提被证伪β2 可忽略要求梯度统计平稳;只差 β2 的对 50.6% 显著。短训练里 0.95 多胜,与文献 Porian 的“0.999 ≻ 0.95”相反(实验室 83 对里该规则只对 31.3%)。
M11单步最优步长(要用梯度噪声与曲率)不计入单步最优步长要梯度噪声与曲率,数据里没有,也不在子系统里作预测。

理论路线的全部候选

理论路线按“每种设置差异能否被搬运”系统地列出候选,共 13 条。

编号候选前提(b) 独立检验(c) 推导映射(核验)判定
T1时钟律(进展侧)
同一流类、同一 T:由更新规则算出的时钟 τ 大者胜。
A1 时钟充分:同型、时钟相等则损失相等
A2 沿时钟进展:同一配置训练更久,损失更低
A5 同一归一化流(跨型时用)
是:A1 用 lr 与 T 都不同、时钟相等的对;A2 用只差 T 的对;都不含“同 T 比 lr”这一被预测关系恒等式 D = δ1 + δ2:A1 管 δ1,A2 管 δ2,两者都成立则时钟大者胜;时钟公式经合成梯度模拟核对实验室按格子核验:ε=0.1 时实验室 547 对、错 1.8%;基准 13 对、错 0.0%S已核验(域 = 前提通过的格子)
T2时钟律(反转侧)
A2 显示“越训越差”(过拟合)或噪声地板主导时,时钟小者胜。
A1
A2 的反向(更久更差)
是,同 T1同 T1 的恒等式,取相反符号第一版(A1 不分 lr 档)在实验室给出 174 个反转判定,实际错 25.9%(全在 bigram),超出 ε 承诺的 10%;A1 按 lr 分档后,反转侧在任何 ε≤0.4 下都没有通过核验的格子(0 对)S推导成立,映射失败,域收窄为空
T3动量并入时钟(SGD)
SGD(η, m) 与 SGD(η/(1−m), 0) 等价;比较时用 η/(1−m)。
重球稳态:梯度在 1/(1−m) 步内变化慢只有 4 对 T 也不同的匹配对可作独立检验;同 T 的 127 对匹配对是被预测关系的平局点,不算稳态 v = g/(1−m);模拟核对(m=0.9)独立证据不足S映射未独立检验
T4解耦衰减可忽略(AdamW、SGD)
AdamW 与 SGD 的权重衰减(λ ≤ 1e-3)不改变胜负。
衰减因子 exp(−ηλT) ≥ 0.994(η ≤ 3e-3,T ≤ 2048)对“lr 与 λ 都不同”的对是独立的;对只差 λ 的对,检验关系就是被预测关系,那是定律本身算术只差 λ 的实验室对 102 对,显著 0.0%S已核验(作为搬运前提)
T5耦合 L2 被归一化放大(Adam、RMSprop、Adagrad)
耦合 L2 在除以梯度 RMS 之前加入,梯度小时衰减项被放大,所以不能当作可忽略。
L2 项 λθ 与梯度 g 一起除以 √v是:只差 λ 的对更新规则直接给出;方向(变好或变差)推不出Adam λ≤1e-4 显著 24.2%;RMSprop、Adagrad λ≤1e-4 为 0/16;λ>1e-4 显著 45.5%–80.0%S“不可忽略”已核验;只有 RMSprop、Adagrad 的小 λ 可当作可忽略
T6β2 可忽略(梯度统计平稳)
平稳时 β2 只改变二阶矩的平均窗口,不改变流,所以 β2 不同不改变胜负。
梯度 RMS 在训练中平稳是:只差 β2 的对平稳性下两种窗口估计同一个 E[g²]只差 β2 的对 83 对,显著 50.6%:平稳性前提失败S前提被证伪,排除;β2=0.95 在进展区多胜,只是观察(L 候选)
T7Adam 与 AdamW 在 λ=0 时恒等
λ=0 时两者是同一个更新规则,结果相同。
两个实现在 λ=0 时计算同一更新(读 torch.optim 的定义即可核对)是:前提靠读代码检验,不看训练结果恒等实验室 50 对,差异全为 0S已核验
T8RMSprop 的初期放大(无偏差校正)
RMSprop 的 v 从 0 起步、不做偏差校正,前约 100 步步长被放大;T=256 时时钟是 ηT 的 1.47 倍。
梯度统计平稳是:时钟相等的 RMSprop 对(lr 与 T 都不同)Σ(1−0.99^t)^(−1/2);模拟核对推导时钟下匹配 13 对,中位偏差 8.6%;朴素时钟下 4 对,62.8%S支持推导时钟,但证据薄
T9Adagrad 的 1/√t 时钟
Adagrad 的累加器线性增长,第 t 步的步长是 η/√t,时钟约 2η√T。
梯度统计平稳是:时钟相等的 Adagrad 对Σt^(−1/2);模拟核对只有 3 对匹配对S映射未检
T10SGD 对自适应:下降速率桥 B_k(主)
初始化处一阶下降速率相等时,SGD 的 lr 相当于归一化优化器的 lr·k;k = Σμ²/Σ(μ²/√ν) 在初始化处测得(只做前向和反向)。SGD 的时钟乘以 k 后与自适应的时钟比较,大者胜。
B_k:初始化处测得的换算在整个训练中成立
A2 沿时钟进展
是:k 由初始化处的梯度测得,不看任何训练结果;B_k 在 T 也不同、桥接时钟相等的实验室跨类对上检验,这些对没有一对是同 T 关系的平局点一阶展开:两者下降速率相等;比较仍用恒等式 D = δ1 + δ2桥接时钟相等的实验室对 33 对,只在三个族里有;匹配对的差远小于不匹配对,但等值检验大多不过。ε=0.1 时事先作答 0 对。不核验前提时基准 210 对错 12.4%S推导成立,前提可测;映射证据不足以在 ε=0.1 下作答
T13SGD 对自适应:位移桥 B_r
SGD 每步把每个坐标移动 lr·|g|,归一化优化器移动约 lr;位移范数相等要求 lr·r,r 是初始化处测得的逐坐标梯度 RMS(KB 写作 |g|,K1019 用拟合值)。
B_r:位移相等则进展相等,且 r 在整个训练中成立
A2 沿时钟进展
是:r 是测量值,不再从被预测关系里拟合;检验方式同 B_k位移范数相等;比较用同一恒等式桥接时钟相等的实验室对 19 对;ε=0.1 时事先作答 0 对。不核验前提时基准 210 对错 7.6%,KB 的拟合 g 在同样规则下错 5.9%(样本内)S推导成立,前提可测;映射证据不足以在 ε=0.1 下作答
T11稳定性边界
lr 超过曲率决定的稳定阈值时训练发散,必输。
最大曲率 λ_max(未测)是,但数据里没有曲率GD 在 η > 2/λ_max 时发散(edge of stability)未检S映射未检
T12噪声地板:时钟相等时 lr 小者更好
接近收敛时,随机梯度的稳态波动随 lr 增大,所以时钟相等时 lr 小者损失更低。
接近收敛
稳态方差随 η 增大(SDE)
是:时钟相等、lr 与 T 都不同的对SDE 稳态方差 ∝ η显著的匹配对里 lr 小者更好占 66.9%;单变量、螺旋为 100%,表格分类反过来S推导成立,前提只在部分族成立;它就是 T1 的 A1 失效的系统部分

基准上事先核验后作答的对

ε = 0.1 时,方向判定 13 对、平局判定 5 对、恒等 1 对(另有 9 对只差衰减的平局判定,算 L)。

对任务族候选 a候选 b判定P(时钟大者胜)实际
q_fd4fbc:AB表格分类AdamW lr=0.0003Adagrad lr=0.001 λ=1e-05a 胜0.91a 胜
q_fd4fbc:AC表格分类AdamW lr=0.0003RMSprop lr=3e-05 λ=0.0001a 胜0.91a 胜
q_fd4fbc:BC表格分类Adagrad lr=0.001 λ=1e-05RMSprop lr=3e-05 λ=0.0001a 胜0.96a 胜
q_ea5717:BC表格分类Adagrad lr=0.0003Adam lr=0.0001 β2=0.95b 胜0.96b 胜
q_49d499:AB表格分类Adam lr=0.0001 λ=1e-05 β2=0.95Adam lr=0.0003 λ=1e-05 β2=0.95b 胜0.91b 胜
q_f18ec5:AB表格分类Adagrad lr=3e-05 λ=1e-05AdamW lr=0.0003 λ=0.0001 β2=0.95b 胜0.91b 胜
q_f18ec5:BC表格分类AdamW lr=0.0003 λ=0.0001 β2=0.95Adagrad lr=0.0001 λ=1e-05a 胜0.91a 胜
q_4e8c54:BC表格分类Adagrad lr=0.0001 λ=0.001Adagrad lr=0.0003 λ=0.001b 胜0.91b 胜
q_84392b:BCBigram 语言模型AdamW lr=0.0003 λ=0.0001 β2=0.95Adagrad lr=0.0003a 胜0.99a 胜
q_14d21e:ACBigram 语言模型Adagrad lr=0.0003 λ=0.0001Adam lr=0.0001b 胜1.00b 胜
q_ac1991:ABBigram 语言模型AdamW lr=0.0001 λ=0.001 β2=0.95Adagrad lr=3e-05 λ=1e-05a 胜1.00a 胜
q_9a8f36:ABBigram 语言模型Adam lr=0.0001 β2=0.95Adam lr=3e-05 β2=0.95a 胜1.00a 胜
q_17797d:BCBigram 语言模型AdamW lr=0.0003 β2=0.95AdamW lr=0.0003 β2=0.95平局—a 胜(不显著)
q_2866a0:ACBigram 语言模型RMSprop lr=3e-05RMSprop lr=0.0001 λ=0.0001b 胜1.00b 胜
q_3b8efc:ABBigram 语言模型RMSprop lr=0.0003RMSprop lr=0.0003平局—a 胜 ✗
q_ad98b9:BCBigram 语言模型AdamW lr=3e-05Adam lr=3e-05平局—b 胜(不显著)
q_a74038:ABBigram 语言模型Adagrad lr=0.0001 λ=0.001Adagrad lr=0.0001 λ=0.001平局—a 胜(不显著)
q_a12ca6:ABBigram 语言模型SGD lr=0.001 λ=1e-05SGD lr=0.001 λ=1e-05平局—a 胜(不显著)

与 KB 的定律在同一批对上比较

作答数对误差。绿色是 S 随 ε 的前沿;灰、橙、蓝是同一推导不核验前提、K1001 和位移族全部成员。S 的误差在每个 ε 下都低于 ε 本身。
S:时钟律,前提事先核验(ε 从 0.02 到 0.4)同一推导,不核验前提K1001(KB,L)位移族全部成员(KB,L)
基准(523 对)0%4%8%12%16%0100200300400500ε=0.1ε=0.4不核验前提K1001位移族作答的对数(方向判定)实验室(7,901 对)0%8%16%24%32%02,0004,0006,0008,000ε=0.1ε=0.4作答的对数(方向判定)误差
答案规则全部 523 对同一流类 309 对SGD 对自适应 214 对
S:时钟律(前提已核验,ε=0.1)13 对 · 错 0.0%13 对 · 错 0.0%不作答
同一推导,不核验前提285 对 · 错 11.6%285 对 · 错 11.6%不作答
桥接时钟(测得 k),不核验前提210 对 · 错 12.4%不作答210 对 · 错 12.4%
桥接时钟(测得 r),不核验前提210 对 · 错 7.6%不作答210 对 · 错 7.6%
桥接时钟(KB 拟合的 g,样本内)204 对 · 错 5.9%不作答204 对 · 错 5.9%
自适应总胜214 对 · 错 18.2%不作答214 对 · 错 18.2%
K1001(KB,L)488 对 · 错 10.5%280 对 · 错 10.7%208 对 · 错 10.1%
位移族全部成员(KB,L)464 对 · 错 8.0%266 对 · 错 9.4%198 对 · 错 6.1%

“找全了”是什么意思

“全部科学”只能相对于三样东西说:搜索路线、前提库(这里是从更新规则出发的时钟与搬运前提)、推导规则(时钟比较与搬运的组合)。在这个意义上可以检验三件事。

1. 闭包:每一对都算过

推导引擎对基准的 523 对和实验室的 7,901 对逐一判定:要么给出判定和所用前提,要么给出不作答的原因。没有遗漏,闭包是完全的;剩下的问题是前提库够不够。

基准上的分层覆盖:同一流类。从“理论可达”到“事先核验”,每一层的损失都有归因。
全部同模型的对523 对(100%)理论可达:同一流类309 对(59%)−214:SGD 对自适应,没有推导其中时钟不相等285 对(54%)−24:时钟相等,只能判平局事后看两条前提都成立247 对(47%)−38:前提在这一对上失效事先核验并作答19 对(4%)方向 13 对、平局 5 对、恒等 1 对
基准上的分层覆盖:SGD 对自适应。有了初始化处的测量,这 214 对都有推导可达;卡在实验室里对桥 B 的核验。
SGD 对自适应的对214 对测得换算(初始化处)214 对每组 4 个种子,只做前向和反向其中桥接时钟不相等210 对事后看两条前提都成立163 对逐对核验,要跑完整训练事先核验并作答(ε = 0.1)0 对桥 B 在实验室的格子太薄

2. 没覆盖的地方,原因逐类可查

基准上没有作答的原因(ε = 0.1)。“前提不定”64 对没有列入:它们的前提都测过,但卷积给出的概率不够高。
无推导:缺一个可测前提前提失败:这项设置不可忽略前提未测:实验室这一格实验不足
前提未测 · 桥 B 的匹配实验不足(跨类)92 对前提未测 · A2 时钟格子实验不足82 对前提未测 · A1 时钟匹配实验不足70 对前提失败 · Adagrad 的 L2(λ=0.001)55 对前提失败 · Adam 的 L2(λ=1e-05)29 对前提失败 · RMSprop 的 L2(λ=0.001)26 对前提失败 · Adam 的 L2(λ=0.0001)22 对前提失败 · β2 不同20 对前提失败 · Adam 的 L2(λ=0.001)20 对前提未测 · 动量不同11 对

3. 残差里还有没有规律

如果没覆盖的对里结果本来就不可预测,那么没有科学可找;如果有定律能预测它们,那里就有可以晋升的东西。SGD 对自适应的 214 对:KB 的位移族答 198 对、错 6.1%(样本内);新测的梯度 RMS 不看结果就排对到错 7.6%。规律存在,前提也已经可测,缺的是实验室里足够多的“T 也不同、桥接时钟相等”的跨类实验来核验桥 B。

敏感性分析:放宽 (b)

放宽 (b):允许用同 T 下动量匹配的对(被预测关系的平局点)检验“动量并入时钟”。严格时这条前提只有 4 对可用(显著 25%,实验不足);放宽后 131 对、显著 2.3%,通过。

严格(主结果)方向判定放宽后方向判定平局判定(严格 / 放宽)
基准13 对 · 错 0.0%13 对 · 错 0.0%5 / 5
实验室547 对 · 错 1.8%554 对 · 错 1.8%58 / 58

4. 路线之间的重叠:捕获再捕获

三条路线各自独立地找,最后对齐到 11 个机制上。格子里是该路线在这个机制上达到的最高层次和条数。

机制理论路线KB 路线文献路线合并判定
M1时钟与时间重标(lr·T 换算,进展侧)S1 条L44 条S12 条S,已核验
M2边界:何时更大位移反而输(饱和、过拟合、过冲)S1 条L76 条L1 条S,映射失败,域收窄为空
M3稳态的噪声地板(有效 lr 小者胜)S1 条—S2 条S,前提只在部分族成立
M4自适应优化器之间的换算(Adagrad √t、RMSprop 初期放大、归一化步长)S2 条L68 条K9 条S,映射证据薄或未检
M5动量即有效学习率S1 条L22 条L1 条S,映射未独立检验
M6SGD 与自适应之间的桥(梯度尺度)S2 条L61 条S2 条S,映射证据不足(ε=0.1 时 0 对)
M7权重衰减:解耦与耦合S2 条L27 条K3 条S,已核验
M8β2 与梯度统计的平稳性S 被证伪1 条K15 条L1 条排除:前提被证伪
M9稳定阈值(edge of stability、warmup)S1 条K2 条S6 条S,映射未检
M10λ=0 时 Adam 与 AdamW 恒等S1 条——S,已核验
M11单步最优步长(要用梯度噪声与曲率)——前提1 条不计入

捕获再捕获假设两条路线独立。三条路线都从同一套优化器常识出发,正相关会让估计偏低,所以这些数只是下限的量级。

定义在哪里不够用

  1. “检验前提比跑出结果便宜”只对一部分前提成立。在这一对上核验 A1、A2 需要把两份配置都跑到 T,代价约等于直接比较;桥 B 的前提量(k、r)倒是便宜,测一对的代价中位是直接训练的 3.2%。难的是核验“换算在整个训练中成立”本身,这又回到实验室里按格子摊销的实验。
  2. 前提的“格子”是建模选择。(任务族、流类、时钟量级、lr 档)是按理论选的,换一种分格,核验结果和覆盖率都会变,ε 和最少实验数 5 也是参数;S 本身因此也是一个族,要报前沿。
  3. 独立数据有选择偏差。实验室实验有一部分是为找反例设计的,偏向失败区域,所以核验偏保守:事后前提在 247/285 对上成立,事先只核验出很小一部分。
  4. “找全了”只相对于路线和前提库。完全的闭包只说明前提库推得出的都推了;前提库之外的科学只能通过残差里的规律去发现。梯度测量就是这样补进来的:残差里有规律(KB 的定律能预测),才去找能测的前提。
  5. 平局判定依赖噪声口径。训练对种子是确定的(λ=0 时 Adam 与 AdamW 结果逐位相同),所以“显著”很容易达到;时钟相差 15% 的两份配置在 10 个种子下常常显著不同,平局判定只在 A1 的等值检验通过的格子里作出。

复现

python3 kb_price/science/scripts/sci_grad.py python3 kb_price/science/scripts/sci_compute.py python3 kb_price/science/scripts/sci_page.py

sci_grad.py 是唯一碰模型的一步:初始化处的前向和反向,不训练,约半分钟。其余只读已有数据,不调用模型。KB 与文献路线的结果由 scripts/sci_kb_route.py、scripts/sci_lit_route.py 生成。