实验注册表 · ngram-gap-lab

历史快照 · 保存于 2026-08-27 v5 清理前;此页冻结当时的登记行与图源,不代表当前权威展示。当前版本见 experiment-registry.html

① 命名法 Jargon(先读这个)

v50 / v10 / v2 / v3 / v4 / v5 / M / L / N / S / _fixed 是什么意思?(点击展开/收起)

仓库里存在 三套独立的命名系统,叠在一起就容易懵:

记号含义说明
v50评估节奏:val + freq-bin 每 50 步评估一次最早期的注入点实验(M1)用;2000 步只有 40 个点,曲线粗。
v10评估节奏:val + freq-bin 每 10 步评估一次后来定的标准(VAL_LOSS_INTERVAL_STEPS = 10);2000 步 200 个点,能看到 epoch replay 台阶细节。这就是 M2 的"v10"。
v2 波次重刷波次 2:优化器新标准 β₂=0.99(无动量)+ 表 LR ×22026-08-24 用户拍板;run 后缀 _v2_fixed。模型本身没变,变的是优化器口径。
v3 波次重刷波次 3:freq-bin train 侧改用当前训练 batch(online)2026-08-25 用户拍板;run 后缀 _v3_fixed。之前是 4-batch 诊断窗口,判为不一致做法。
v4 波次重刷波次 4:constant schedule 诊断历史探索;零 warmup 的 constant 不作为当前主线。
v5 波次当前唯一主线:clean 双表、current-batch online loss、短 warmup 后恒定 LRrun ID 使用 v5 家族名,权威输出目录统一以 _fixed 结尾。step 1–100 从 0.25×LR 升至 6e-4,其后恒定;bf16、不 compile。
M1–M7主线 nanoGPT 实验线编号M2=注入点消融、M3/M4=表优化器、M5/M6=shard 剂量、M7=短 epoch×β₂。
L1–L5toy 理论任务线(独立小实验)L1 查表记忆、L2 Markov 闭式解、L3 采样律、L4 幂律、L5 优化器伪影。
N1–N4自然语言 5gram 实验order=5 表在真实语料上的 gap。
S1三轴 scaling(epoch / table / frequency)极简 setting 下的 scaling 实验线,结果在 data/runs_scaling/
_fixed修复 bug 后的权威数据标记主线结果在 runs_fixed,scaling 结果在 runs_scaling;当前主线为 _v5_fixed
current-batch / onlinetrain loss 取"当前训练 batch"v3 起的标准;与 online train_loss 同一 forward,零额外计算。
v5 settingRMSProp (0,0.99) · 表 LR ×2(实际 0.0012)· backbone LR 0.0006 · warmup_constant(100)所有 v5 launcher 显式传 --table_betas 0.0,0.99 --table_lr_scale 2.0 --lr 0.0006 --lr_schedule warmup_constant --warmup_steps 100

一句话:v50/v10 是“评估多密”,v2–v4 是历史重刷口径,v5 是当前唯一主线,M/L/N/S 是“哪条实验线”,_fixed 是“修复后、可追溯的数据标记”。

② 实验总表(行内嵌图;comments 列可手填)

合并单元格 = 同大类/同 setting 共享;图片缩略图已放在对应实验行的第四列,点击图片可查看原图;comments 列白框可直接点入填写(本地打开时输入内容不会保存,仅供浏览标注)。

打开独立《Gap 的数学理论与实验证据》:理论报告只引用本表中的稳定锚点,不把解析 toy、历史 compile 和当前标准 run 混为同一证据等级。

实验大类实验名称实验 setting统计处理 / 画的图(图已内嵌)状态comments(手填)
主线
注入点
M2 注入点消融 v10
(历史口径,被 v2 取代)
input/y/v/nogram 四臂;2000 步;val 每 10 步;v10 时代口径(β₂=0.999·×1) 注入点 loss/gap 曲线;频率 bin 双轴图;gap-vs-frequency 图;loss-gap-table-RMS 对齐
注入点 gap 曲线
gap 曲线
注入点 loss 曲线
loss 曲线
bigram 频率 bin
bigram 分桶
trigram 频率 bin
trigram 分桶
gap versus frequency 双对数
gap–频率双对数
loss gap table RMS
loss/RMS
✅ 完成
M2-v2 注入点消融
(历史 bf16+compile 波次)
同四臂;2000 步;β₂=0.99、表 LR ×2;频率 train 侧不是 current-batch 注入点 gap/loss 曲线(原始点 + 3 点平滑线 + epoch 边界虚线);final gap 对比;频率 bin 双轴图(23 桶)
v2 注入点曲线
注入点曲线
v2 bigram 分桶
bigram 分桶
v2 trigram 分桶
trigram 分桶
⚠️ 历史口径
M2-v3 注入点消融
(current-batch 口径,含 warmdown)
同四臂;freq-bin train 侧 = 当前训练 batch per-token loss(零额外 forward) 同上 + freq-bin 的 train 侧与 online train_loss 完全同 batch 校验;v3 独立图片待数据完成后重绘,不复用 v2 图片。 ⚠️ 历史波次,已被 v5 current-batch 重刷取代
M2-v5 注入点消融
(当前唯一主线)
input / y / v / nogram;2000 步;clean R=2²⁰;lr=6e-4warmup_constant(100);bf16、不 compile;train loss=当前 batch online loss;seed 42/43/44 正式 current-batch refresh 的原始 online loss/gap 点(只以 3 点均值连线)。
v5 注入点 online gap 与 loss
seed 42 四臂:gap / loss
图源已切换为 nglab1x_input_v5_freq10_r1_fixednglab1x_{y,v,nogram}_v5_freq10_fixed/train_log.jsonl;点为原始 online 记录,线为 3 点均值。频率统计见下一行;三个 seed 的独立 endpoint 仍保留在历史主线复现记录中。
✅ 当前正式 frequency-refresh seed 42 四臂完成;input/y/v/nogram=5.755/3.465/2.011/0.248 @2000;多 seed endpoint 仍作为独立复现证据保留
M2-v5 current-batch frequency refresh input / y / v / nogram;seed 42、2000 步;clean R=2²⁰;lr=6e-4warmup_constant(100);bf16、不 compile;val / frequency / exact-frequency / table RMS 每 10 步 每个 branch 画 input train / fixed-val token fraction 双柱,以及 final per-bin gap 原始点与细 3 点视觉连线。
v5 current-batch bigram frequency bins
bigram · fraction / gap
v5 current-batch trigram frequency bins
trigram · fraction / gap
图源严格限定为 nglab1x_input_v5_freq10_r1_fixednglab1x_{y,v,nogram}_v5_freq10_fixed/freq_bin_loss.jsonl 的 step 2000;原 input ID 已被 100-step smoke 占用,完整证据新起 r1。train 侧直接复用该 step 当前训练 batch 的 pre-update per-token loss,不另取诊断 batch。novel 没有 train loss,故不定义 gap。
✅ 4/4 完成;step-2000 input/y/v/nogram gap=5.755/3.465/2.011/0.248
剂量
扫描
M5-v5 fixed-step 剂量扫描 0.25x、0.5x、0.75x、1.5x、2x、2.5x、3x、4x、5x、6x、8x;input;2000 步;v5 SSOT 原始 online gap vs dose(x 为对数)、gap@2000 与 epoch 分界标注,以及已完成批次的完整 loss/gap 轨迹。该行保留为早期 fixed-step 摘要;当前带 frequency 的正式证据见下方 M5-v5 frequency refresh。
v5 fixed-step 剂量扫描
step 2000 · dose–gap
v5 剂量完整曲线
正式 v5:loss/gap 轨迹
图源已切换为 12 个正式 v5 frequency-refresh run 的 summary 与 train_log;点为原始 online 记录,细线为 3 点视觉连接。完整频率统计见下方 M5-v5 frequency refresh,旧 fixed-step/precursor 数值不作为当前频率证据。
✅ 12/12 正式 frequency-refresh 端点;gap 11.535647(0.25×)→−0.075474(8×)
M6-v5 epoch 对齐批 历史 5-epoch 对齐批;当前正式 epoch-length 阵列见 S1 v5 三 epoch 行。 ⚠️ 历史口径;由 S1 v5 三 epoch 阵列取代
M5-v5 frequency refresh
(新批,专供剂量×频率证据)
11 个非 1x shard dose、input、2000 步;每 10 步 fixed val + current-batch freq-bin;每个 dose 强制绑定对应 train-set frequency index;1x 由 M2 四臂 frequency-refresh 单列重跑;其余 v5 SSOT 11/11 个非 1x dose(0.25×–8×)均已验收,绘制 bigram/trigram final raw freq-bin gap heatmap 与完整 loss/gap 轨迹;不以旧批补位。
v5 dose refresh trajectories
12/12 含 1× · loss / gap
v5 dose frequency gap heatmap
12/12 含 1× · raw frequency-bin gap
图源限定为各自 nglab*_input_v5_freq10_fixed 的 step-2000 summary、online train / fixed-val 曲线与 current-batch frequency bins;novel 没有 train loss,不定义 gap。
✅ 11/11 非 1x 完成;含 M2 的 1× 后共 12/12 frequency-refresh 证据
M6 epoch 对齐批(e6,实际 5 epoch) 对齐 epoch 数(5 epoch);0.25x–3x;无 LR schedule(勘误见 log §12) epoch 对齐 gap 曲线;nogram 对照
epoch 对齐
epoch 对齐
nogram 对照
nogram 对照
⚠️ 历史且不完整;由 S1 v5 三 epoch 阵列取代

优化器
M3 Table 优化器 · 1x epoch RMSProp/AdamW/SGD;LR 剂量(×1/×2/×4);β₂(0.98/0.99);1x / 2x epoch 优化器对比 loss/gap;LR 剂量曲线;β₂ 曲线;1x vs 2x 对比
表优化器对比
优化器对比
表 LR 曲线
LR 曲线
beta2 曲线
β₂ 曲线
⚠️ β₂ 结论待修正
M4 Table 优化器 · 2x epoch 同上(b2_099 0.64→2.00,+210%)
2x epoch
2x epoch
1x vs 2x
1x vs 2x
⚠️ 同上
M3b-v5 表学习率 × β₂ gate clean 双表、input、1000 步;RMSProp/AdamW/SGD;scale 0.5–4;β₂ 0.95–0.999;2000 步 seed 43/44 gate 11 臂 clean grid 的完整 1000-step online train / fixed val / online gap 曲线,以及 table-LR 相邻健康点的末步频率诊断。点为原始记录,细线仅为 3 点视觉连接。
v5 表优化器完整曲线
11 臂:train / val / gap
v5 table LR 频率诊断
scale 1 / 2 / 3:末步频率 gap
图源严格限定为 11 个 optv5c_*_fixed run 的 step-1000 train_log.jsonlfreq_bin_loss.jsonltable_norm.jsonl;每类日志均 100 条,无 NaN/Inf。频率图只比较 scale 1 / 2 / 3,novel 没有 train loss,故不定义 gap。旧 optv5_rms_* precursor 保留作历史质量参照,但不替代本图。
✅ 11/11 完成(seed 42、step 1000):scale 0.5/1/2/3/4=0.465/0.858/1.551/1.886/2.072;β₂ .95/.98/.995/.999=1.239/1.460/1.594/1.669;AdamW=1.502,SGD=0.078。高 scale gate 与多 seed 复现见下方扩展验证。
M7 短 epoch × β₂ 0.25x/0.5x 短 epoch;β₂=0.99 per-epoch 台阶清晰度曲线
短 epoch beta2
短 epoch×β₂
⚠️ 图未按 _fixed 重生成
M3c-v5 高 table-LR × β₂ 收敛批
(optv5f;1000/2000 步)
table LR scale 8/16/32/64/128 × RMSProp β₂ .99/.999;input;seed 42;1000 或 2000 步;其余 v5 SSOT(backbone 6e-4、warmup_constant(100)、bf16、不 compile、val/freq 每 10 步) 可读分面图:每个小面板固定一个 table LR scale,面板内只比较 β₂=.99 与 .999;低 scale(0.5/1/2/3/4×)与高 scale(8/16/32/64/128×)同一总览图展示。β₂=.99 使用深蓝实线圆点,β₂=.999 使用橙色虚线方点;1000 步与 2000 步使用不同图形;2000 步图另列 train / fixed val / gap 和 Δgap=(.999−.99),epoch boundary 用竖线标出。点为原始 online 记录,细线为 3 点视觉连接;2000 步臂完成后重新生成替换中途版。
beta2 0.99 的 step 1000 gap 与 table LR scale
主图:仅 β₂=.99;step 1000 的 gap 随 table LR scale 变化(低 scale + 高 scale)
V5 table LR scale 的 final gap
终值对照:1000 / 2000 步与 β₂
V5 高 table LR 下 beta2 对照
β₂=.99 与 .999 的高 scale 终值
V5 table LR scale 可读终值总览
可读总览:低 scale + 高 scale
按 table LR scale 分面的全部 gap 曲线
补充图:每个 scale 独立面板;navy 实线圆点=.99,orange 虚线方点=.999
按 table LR scale 分面的 2000 步曲线
诊断图:高 scale 的 train / fixed val / gap / Δgap,并标出 epoch boundary
v5 高 table-LR 收敛曲线
完整收敛曲线:scale × β₂
图源:optv5c_*_fixed/train_log.jsonloptv5e_*_fixed/{train_log.jsonl,summary.json}optv5f_*_fixed/{train_log.jsonl,summary.json};2000 步臂及 scale=16 β₂ gate 已完成,点为原始 online 记录,细线为 3 点视觉连接。低 scale 目前只有 β₂=.99 的 1000 步对照;高 scale 的同 scale β₂比较见分面图。360-1 GPU7 因不可纠正 ECC 弃用,未完成臂迁 360-2 重跑。
✅ scale=8/16 的 β₂ gate 与 1000/2000 步收敛臂均完成;scale=16 的 β₂=.95/.99/.995 final gap=2.489653/2.599353/2.598872,spread=4.22%;另有 256/512/1024× β₂=.99 的 2000-step final gap=5.543/5.474/5.335。256×–1024× 未继续单调增大,暂不支持“学习率仍不足”的判断。
LR schedule 诊断
(历史混合 setting,非 v5 证据)
no-gram 纯 backbone;warmdown / warmup-constant / warmup-cosine / constant;不同 base LR;1000 或 2000 步 检查不同 schedule 是否造成纯 backbone 的训练、验证与 gap 形态变化;不与 v5 主线数值混画。
nogram 学习率诊断训练损失
online train loss
nogram 学习率诊断验证损失
fixed validation loss
nogram 学习率诊断 gap
online gap
nogram 学习率乘数轨迹
LR multiplier
nogram 训练损失双对数
train loss log–log
图源:docs/plot_scripts/plot_lrdiag_nogram.py;仅作为 schedule 诊断档案,不能推导 v5 主线比较或结论。
⚠️ 已登记为历史诊断,不纳入当前 setting
扩展
验证
X1 optimizer × seed 复现 RMSProp / AdamW / SGD(m=0);table LR scale=2;seed 42/43/44;1000 步;其余 v5 SSOT 三种 table optimizer 的 step-1000 final gap 散点、seed 离散度与 seed-43 gap trajectory
X1 optimizer seed 复现
X1:optimizer × seed
图源为 optv5c_*_fixed;seed 42 复用 §24b,新增 seed 43/44 各 6 个完整 JSONL 产物。点是原始 final gap,误差线是两点 seed 43/44 的半距;表内均值/SD 见 experiment-log.md §27。
✅ 完成;三臂 × 三 seed:RMSProp 1.530459±0.025256;AdamW 1.520992±0.016406;SGD 0.053736±0.024813
X2 clean 表行宽扫描 bigram/trigram 同步 row width d∈{768,192,48,12};input;seed 42;1000 步;table LR scale=2;其余 v5 SSOT step-1000 final gap 随 clean-table row width 的容量曲线
X2 clean table row width
X2:row width d
图源为 ctbl_dim192_input_v5_fixedctbl_dim48_input_v5_fixedctbl_dim12_input_v5_fixed 与 d=768 的 v5 baseline。三档新增 run 均有 100 条 step-10 train/val/freq/exact/RMS 日志,无 NaN/Inf。
✅ 完成;d=768/192/48/12 的 gap=5.741356/0.803015/0.363563/0.157422
因果
干预
Causal interventions(v5) input、1000 步、val/frequency=10。已完成 precursor:reset-table e1/e2、mask-readout e1、freeze-table e1、freeze-backbone e1。新 causal-refresh 另加 no-intervention、hash-reseed e1、mask-low-f≤200 e1、mask-high-f>200 e1;其余 v5 SSOT 九臂完整 online train / fixed val / gap 曲线;各色虚线精确标出记录在 summary.json 的干预步(e1 为 step 338,reset e2 为 step 675)。reset_table 重初始化表参数,不改 hash;mask_readout 是边界后的 no-gram 破坏性基准;hash_reseed 只换 context→row 映射、保留表权重与 RMSProp state;low/high mask 用 f≤200/f>200 的互补集合。
v5 九臂因果 online train validation gap 曲线
九臂:online train / fixed val / gap
v5 因果低高频屏蔽频率分桶 gap
low/high mask:末步频率 gap
图源严格限定为九个 causalv5c_*_fixed run 的 100 条 step-10 train_log.jsonl / freq_bin_loss.jsonl / exact_freq_loss.jsonl / table_norm.jsonl;均到 step 1000、无 NaN/Inf。频率图只包含已有 train token loss 的桶,novel 不定义 gap。
✅ 9/9 causal-refresh 完成(seed 42、step 1000):none=1.544;reset e1/e2=0.704/0.068;mask-readout=0.016;freeze table/backbone=1.133/0.821;hash-reseed=0.637;mask low/high=0.066/1.529
三轴
scaling
(S1)
S1 epoch 轴 · fixed-step(历史 precursor) 历史 L1–L4 前缀(42/84/168/337 batches);both 与 no-gram;1000 步 online gap vs epoch 长度;both 与 no-gram 对照
v5 S1 epoch prefix
v5 epoch-prefix 端点
epoch 多 seed
epoch 多 seed
三轴关系
三轴关系
该行是历史 prefix 波次;当前正式 no-compile 三 epoch 阵列见下方 s1v5_128_ep*xL4_3ep
⚠️ 历史 precursor;由当前 v5 三 epoch 阵列取代
S1 epoch 轴 · fixed-epoch(历史) 同上
fixed epoch 多 seed
fixed-epoch
⚠️ 不纳入当前 v5 结论;恢复时需单独重注册
S1 table size 轴(历史 4-layer/2-hash) tbl_{TM}_{arm};logical addresses 2R;seed 42/43/44;1000 步 online gap table-size 双对数局部斜率、collision/occupancy 对照
历史 table size 局部斜率
局部斜率审计
历史 table size 双对数
table–gap 双对数
⚠️ 历史 compile / 旧表架构;不能替代 clean 单表
S1 table size 轴(v5 clean 双表) bigram 与 trigram 分别改变各自 clean-table R;另一张表固定为 2^20 且开启;各 18 个近对数点,16K–2.347M;1000 步末端;seed 42 两条正式单变量轴:bigram-R 与 trigram-R 各 18 点;正 gap log–log 描述拟合分别为 G_bi∝R^0.041(R²=.978)与 G_tri∝R^0.247(R²=.982)。负载 K/R 单独展示;正式 run 未记录 occupied rows,因此不推断 collision。K=训练频率索引中的 distinct contexts,R=该 branch 的 physical clean-table rows;K/R 是负载比,不是 collision rate。
v5 clean 双表 table-size
v5 双表 gap–R
v5 clean 双表 table size log log
bi R^.041 · tri R^.247
v5 clean 双表 K/R load proxy
K/R load proxy
图源:s1v5_128_tbl_bi2_R*_fixeds1v5_128_tbl_tri2_R*_fixed,共 36 个正式 run,seed 42、step 1000;两条轴都保持另一张 clean table 开启。log–log 图只排除 gap≤0 的点,因为 log(y) 无定义。load 图只使用共享 freq_index.npz 的 K/R;collision rate 未测量,不能从 K/R 反推。
✅ 36/36 完成(bigram-R 18/18;trigram-R 18/18)
S1 table size 轴(早期 clean 单表) bigram / trigram 分支分别扫 R;bigram 29 点 + perfect-map,trigram 6 点;seed 42、step 1000;历史横轴使用各自的 context-count 归一化 早期 clean 单表首扫的局部形状;不能与当前两条正式 v5 单变量轴合并。
early clean single-table branch-wise table-size loglog
bi R^.33 · tri R^.67
图源:早期 ctbl_{R}_{bigram,trigram} clean 单表网格;bigram 在高负载区有断点/涨落,trigram 无 perfect-map 锚点,二者均为单 seed 形状摘要,仅作历史溯源。
⚠️ 早期 clean 单表、单 seed;只保留局部形状
S1 frequency 轴(历史 precursor) L4 epoch_batches=337;bigram/trigram/both/nogram;1000 步;exact-frequency 历史 frequency precursor,保留作溯源,不承担当前 v5 exact-f 结论。 ⚠️ 历史数据;不替代当前正式 frequency run
S1 backbone safety(v5) 长训 no-gram(8000 步) 无表 backbone 是否产生 online gap;旧图只作历史参照
backbone safety
backbone safety
✅ 8000/8000 完成;final gap=1.102
S1 v5 formal scaling · table-size bigram(128×) 只改变 bigram 的 physical rows;trigram 固定且开启, R=2^20;18 个 R=16K…2.347M;1000 steps; 保留 337/674/1000 bigram-R 的 endpoint gap–R;K/R load proxy;另一支路固定且开启,不混用历史 table。 ✅ 18/18 完成;step-1000 gap 范围 2.305–2.771;337/674/1000 检查点齐全,table LR=128×、β₂=.99
S1 v5 formal scaling · table-size trigram(128×) 只改变 trigram 的 physical rows;bigram 固定且开启, R=2^20;18 个 R=16K…2.347M;1000 steps; 保留 337/674/1000 trigram-R 的 endpoint gap–R;K/R load proxy;另一支路固定且开启,不混用历史 table。 ✅ 18/18 完成;step-1000 gap 范围 1.044–3.264;337/674/1000 检查点齐全,table LR=128×、β₂=.99
S1 v5 formal scaling · frequency-bin 主实验(128×) input;bigram+trigram;epoch_batches=337; 1000 steps;table LR=128×;β₂=.99;保留 337/674/1000;data/freq_index.npz 主实验的 frequency-bin fraction + raw gap、exact-frequency sufficient statistics;novel 只有 val loss,不定义 gap;train 侧取当前 batch online loss。
v5 S1 formal exact frequency gap
exact-f gap:−.253 / −.318
v5 S1 formal frequency token mass
每段总曝光量 Σf
图源严格为 s1v5_128_frequency_main_fixed/exact_freq_loss.jsonl 与共享 data/freq_index.npz;最后 logged step=1000。exact-f 图保留 eligible raw points,并按 shared-context token mass 聚合为 7 个宽几何 bin;描述拟合 bigram G∝f^-0.253(R²=.997)、trigram G∝f^-0.318(R²=.996)。这是 fixed-probe context-matched 诊断,不是主 scalar gap 或跨 seed 普适指数。
✅ 完成;final gap=2.736;337/674/1000 三个检查点齐全
S1 v5 formal scaling · epoch-length(3 epoch) 12 个 L4 倍数:0.125…2.0×L4epoch_batches=42…674;both;每个 run 3 个完整 epoch; step = 126…2022;table LR=128×;β₂=.99 按 epoch 1/2/3 对齐的 online train / fixed val / gap 轨迹,竖线标注边界;横轴用“epoch 数”,不使用 L1–L4 jargon。
v5 S1 epoch length scaling
3 epoch 终值阵列
v5 S1 epoch length trajectories
按 epoch / step 轨迹
v5 S1 long replay
L4 10 epoch 长训
图源为 12 个 s1v5_128_ep*xL4_3ep_fixed 与 L4 both/no-gram 长训;点为原始 online 记录,细线为 3 点视觉连接,竖线为 epoch boundary。
✅ 12/12 完成;3-epoch final gap 随 L4 倍数约为 4.417(0.125×)→2.728(1×)→5.661(2×)
S1 v5 L4 long replay(10 epoch) both + no-gram;L4=337 batches/epoch;10 epochs; 3370 steps;table LR=128×;β₂=.99 gap 随 epoch 的 trajectory;both/no-gram train、val、gap 对照;每个 epoch 边界显式标注。 ✅ 完成;L4 both final gap=8.917、no-gram=0.480 @3370;gap 随 epoch 持续展开,epoch boundary 已保留
自然语言
5gram
N1–N4 order=5 5gram context +trigram 注入 / 纯 transformer / LR ×1 / LR ×4;seed 42/43 per-bucket gap;gap-freq 图
5gram gap freq
gap–freq
5gram gap
gap 曲线
✅ 完成
受控数据
干预
ngram5 数据生成(alpha 上采样) 固定极简 setting,只动数据侧 alpha gap(r) ≈ (K_eff−1)/r 检验 🟡 独立包,与主线正交
toy
理论
L1 查表记忆 × replay 独立自包含 toy 实验;纯 numpy/torch;结果在 tasks/lN_*/results/ 记忆-gap 主矩阵
L1 gap
gap 主图
L2 Markov 精确 gap markov 三臂闭式解曲线
Markov gap
Markov gap
L3 单 context 采样律 gap(r) 采样律图
sampling law
采样律
L4 幂律合成数据 gap vs samples 幂律
power law
幂律
L5 优化器伪影 RMSProp v 锯齿 / 表容量对照
optimizer artifact
优化器伪影

③ 补充说明

当前登记表只把已验收的 v5 图作为现行证据:主线、causal、optimizer、dose refresh 与 S1 正式三轴图均来自带 _fixed 的证据目录;图中点是原始 online 记录,若有细线仅表示 3 点视觉连接。历史 v2/v3/旧 S1 图保留溯源,但不承担当前结论。

其余图片已经放入上方对应实验行的“统计处理 / 画的图”单元格;原始文件仍保留在各自的图目录中。尚未有对应合法结果的图片不在此处虚构或重复展示。

Scaling 数值包与后续理论拟合入口

正式 S1 统计已由 docs/plot_scripts/analyze_v5_scaling.pydata/runs_scaling/*_fixed/ 重新解析。它输出描述性拟合,不把单 seed 结果当作力学定律:

可复核文件: 统计摘要 · 拟合系数 CSV · table-size 原始点 · epoch 原始点 · dose × frequency 原始点

建议清理的冗余/易误导图片(本次不自动删除)

为避免旧口径图片被误看成当前证据,建议用户确认后再删除或移入明确的历史目录:

上述条目仅为清理提案;未得到确认前不删除工作区文件。

④ 核心代码与「来源唯一可追溯」

模块文件职责
训练主程序code/train.py(2003 行)vanilla nanoGPT + n-gram 表;3 注入点;MixedOptimizer(表 RMSProp/AdamW/SGD + backbone AdamW);fixed 数据模式;current-batch freq-bin、fixed-probe exact-freq 与 scalar gap;干预接线
频率索引code/ngram_freq.py(501 行)GlobalFrequencyIndex.build_from_chunks,与模型 hash 逐位置一致
表 occupancycode/table_occupancy.py(248 行)行占用 / 碰撞 / 负载统计;正式 S1 v5 run 未写 occupied rows 时不强行推断 collision
replay/epoch 纯函数code/gap_experiment.py(312 行)主线与 ngram5 共用
数据准备code/prepare_data.py / make_ngram_blocks.pytoken shards;受控 block 构造
集群启动器code/cluster/*.shrun_v5_clean.sh 是单 run 契约;run_v5_main_manifest.sh 调度主线家族;run_v5_table_grid.sh 调度 18 点双表 R 网格。旧 launcher 仅供历史溯源。
受控数据干预ngram5_freq_gap/第四维度:动数据不动模型
作图脚本docs/plot_scripts/当前 canonical:plot_v5_registry_figures.py(登记表主图)与 analyze_v5_scaling.py(CSV/拟合);图进 docs/figs/
toy 线tasks/l1..l5/独立自包含,纯 numpy/torch

注入与训练原理(一句话版)

来源是否唯一确定、可追溯 → 是

  1. 单一权威数据源:主线为 data/runs_fixed/*_fixed/,scaling 为 data/runs_scaling/*_fixed/data/runs/ 与无后缀副本已作废。v5 的 freq-bin train 侧=当前训练 batch 的逐 token loss;exact-frequency 是 fixed-probe context-matched 诊断。
  2. 口径变更必须新 run_id(P2):v2→v3 的 freq-bin train 侧改动即因此新起 _v3 后缀;_fixed 标记「修复后」,_v3 标记「current-batch 口径」,命名即口径。
  3. 代码即契约:launcher 显式传全部关键参数,不依赖默认值;本轮正式 source revision 为 7583ae3222ffb4bbfb13262295a6a828e1f08d3f,并在跨机跑前核对 train.py=c4729b30e6f3e842b3321dc701b55bbbngram_freq.py=e4f45f5be1317c33e6b3c39bc6cb4bc5run_v5_clean.sh=8c86d03f79cd42d0cd559259bc77224e
  4. 文档权威性分级agents.md §1(SSOT)→ experiment-lines.md(全景)→ experiment-log.md(登记簿+勘误)→ claims-ledger.md(断言台账)。结论必须带 run_id / step / seed。
  5. 历史框架显式隔离:clean-table 重做后旧 4 层架构标记 [HISTORICAL 4-LAYER FRAMEWORK];current shell / Muon / RoPE 系结论一律 [DEPRECATED SETTING]

当前留白:本轮 v5-refresh 与 S1 formal 图均已由本地 `_fixed` 证据生成;§32 的 32×·β₂=.999 retry 也已完成并核对配置。历史 v10/pre-v2 数值只在历史 section 中保留,不升级为当前结论。