ZeroPoint / experiments /slots.md
Holmes2011's picture
ZeroPoint v0 research prototype: new from-scratch NumPy framework, memory-slot architecture, audited Transformer comparison
5c6c847 verified
|
Raw History Blame Contribute Delete
2.13 kB

预注册分析:长期槽在干什么

写于分析之前(2026-11-01)。跑完只追加结果,不改这一节。用 experiments/out/diag_*.npz(T64 / T64-ema / T256 各 3 种子)。

矛盾:T64 模型写入只有 6.1% 落在半衰期 > 16 字的槽;但消融里去掉分层初始化变差 0.051。

三个可区分的假设

  • H9 读取端在用:长期槽虽然写得少,但读地址落在长期槽上的占比明显高于写占比(读占比 ≥ 2 × 写占比)。 → 长期槽像"慢变的背景",少量写入、持续读取。
  • H10 中期槽才是关键:分层初始化的作用主要来自半衰期 464 字的槽,不是 > 64 的;读写都集中在 464 桶(该桶读 + 写占比合计 > 50%)。
  • H11 训练长度决定长期槽的使用:T256 模型在 > 16 字桶上的写占比 ≥ 2 × T64 的。 来源:diagnose 里 T256 远处 loss 明显更好,推测它学会了用更长的槽。

判定:3 个种子平均;各桶占比按所有层、所有头的平均。H9 / H11 的"2 倍"是无依据的整数阈值,仅作记录; 同时报告原始占比,让读者自己看。

结果(分析之后写)

验证集 4 条 × 2048 字递推;占比 = 该桶内所有槽的地址权重之和(读 / 写各自归一化),层和头平均,3 个种子平均。

条件 量 半衰期 0~4 半衰期 4~16 半衰期 16~64 半衰期 64~∞
T64 读 0.703 0.120 0.127 0.050
T64 写 0.815 0.122 0.058 0.006
T64-ema 读 0.524 0.149 0.167 0.159
T64-ema 写 0.925 0.060 0.014 0.001
T256 读 0.660 0.180 0.152 0.008
T256 写 0.696 0.167 0.135 0.001

判定(按预注册的标准)

  • H9 读取端在用长期槽:> 16 字桶 读 0.177 vs 写 0.064 → 成立(2 倍阈值无依据,仅作记录)
  • H10 中期槽是关键:4~64 字桶 读写平均占比 0.213 > 0.5 → 不成立
  • H11 训练长度 256 更用长期槽:> 16 字桶写占比 T256 0.136 vs T64 0.064 → 成立(2 倍阈值无依据,仅作记录)