主线 注入点 |
M2 注入点消融 v10 (历史口径,被 v2 取代) |
input/y/v/nogram 四臂;2000 步;val 每 10 步;v10 时代口径(β₂=0.999·×1) |
注入点 loss/gap 曲线;频率 bin 双轴图;gap-vs-frequency 图;loss-gap-table-RMS 对齐
|
✅ 完成 |
|
M2-v2 注入点消融 (历史 bf16+compile 波次) |
同四臂;2000 步;β₂=0.99、表 LR ×2;频率 train 侧不是 current-batch |
注入点 gap/loss 曲线(原始点 + 3 点平滑线 + epoch 边界虚线);final gap 对比;频率 bin 双轴图(23 桶)
|
⚠️ 历史口径 |
|
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-4、warmup_constant(100);bf16、不 compile;train loss=当前 batch online loss;seed 42/43/44 |
正式 current-batch refresh 的原始 online loss/gap 点(只以 3 点均值连线)。
图源已切换为 nglab1x_input_v5_freq10_r1_fixed 与 nglab1x_{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-4、warmup_constant(100);bf16、不 compile;val / frequency / exact-frequency / table RMS 每 10 步 |
每个 branch 画 input train / fixed-val token fraction 双柱,以及 final per-bin gap 原始点与细 3 点视觉连线。
图源严格限定为 nglab1x_input_v5_freq10_r1_fixed 与 nglab1x_{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。
图源已切换为 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 轨迹;不以旧批补位。
图源限定为各自 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 对照
|
⚠️ 历史且不完整;由 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 对比
|
⚠️ β₂ 结论待修正 |
|
| M4 Table 优化器 · 2x epoch |
同上(b2_099 0.64→2.00,+210%)
|
⚠️ 同上 |
|
| 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 点视觉连接。
图源严格限定为 11 个 optv5c_*_fixed run 的 step-1000 train_log.jsonl、freq_bin_loss.jsonl 与 table_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 台阶清晰度曲线
|
⚠️ 图未按 _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 步臂完成后重新生成替换中途版。
图源:optv5c_*_fixed/train_log.jsonl、optv5e_*_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 主线数值混画。
图源: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
图源为 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 的容量曲线
图源为 ctbl_dim192_input_v5_fixed、ctbl_dim48_input_v5_fixed、ctbl_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 的互补集合。
图源严格限定为九个 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 对照
该行是历史 prefix 波次;当前正式 no-compile 三 epoch 阵列见下方 s1v5_128_ep*xL4_3ep。
|
⚠️ 历史 precursor;由当前 v5 三 epoch 阵列取代 |
|
| S1 epoch 轴 · 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 对照
|
⚠️ 历史 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。
图源:s1v5_128_tbl_bi2_R*_fixed 与 s1v5_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 单变量轴合并。
图源:早期 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;旧图只作历史参照
|
✅ 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。
图源严格为 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×L4;
epoch_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。
图源为 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 图
|
✅ 完成 |
|
受控数据 干预 |
ngram5 数据生成(alpha 上采样) |
固定极简 setting,只动数据侧 alpha |
gap(r) ≈ (K_eff−1)/r 检验 |
🟡 独立包,与主线正交 |
|
toy 理论 |
L1 查表记忆 × replay |
独立自包含 toy 实验;纯 numpy/torch;结果在 tasks/lN_*/results/ |
记忆-gap 主矩阵
|
✅ |
|
| L2 Markov 精确 gap |
markov 三臂闭式解曲线
|
✅ |
|
| L3 单 context 采样律 |
gap(r) 采样律图
|
✅ |
|
| L4 幂律合成数据 |
gap vs samples 幂律
|
✅ |
|
| L5 优化器伪影 |
RMSProp v 锯齿 / 表容量对照
|
✅ |
|