research: publish AttnRes forward training study
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# Round 08 runner / analyzer 实现审阅与处置
|
||||
|
||||
审阅日期:2026-07-30
|
||||
Grok 会话:`019fb1f0-bb24-7202-8123-295edda7518f`
|
||||
身份:**正式文件完成前的外部模型只读实现审计,不是结果或论文证据**
|
||||
|
||||
## 1. 审阅边界
|
||||
|
||||
Grok Headless 只读检查:
|
||||
|
||||
- 冻结协议与 manifest;
|
||||
- `train.py` / `verify.py` / `analyze.py` / `run_matrix.py`;
|
||||
- 父 runner 的 salt、schema 与 DepthMixer 算术路径。
|
||||
|
||||
明确禁止读取 Round 08 raw formal results、运行训练、修改文件、web search 与 subagents。
|
||||
|
||||
## 2. 对正式 4×3 路径的确认
|
||||
|
||||
审阅确认:
|
||||
|
||||
- 新 protocol ID 没有进入父 `window_start` salt;
|
||||
- selected 路径用 constant-zero FP32 logits 和父 `softmax+einsum` kernel;
|
||||
- 非空 selector 的 query / key norm hook、AdamW state 与 final=initial gate 自洽;
|
||||
- historical pairing 比较的字段在父 JSON 中真实存在;
|
||||
- replay payload 正确排除 run kind、timing、path、parent self hash 与 GPU/version metadata,
|
||||
同时保留模型、optimizer、diagnostics、history、selector 与 reachability;
|
||||
- analyzer 强制 4×3 identity、step 8,000 主判定、1-based layers 21–25、finite/positive、
|
||||
`D=(ref-variant)/ref`、BPC `variant-ref` 与 descriptive `I67`;
|
||||
- 12 formal + 1 replay、65,536,000 bytes/cell 与最大两进程算术正确。
|
||||
|
||||
没有发现会改变正在运行的四个非空 formal variants 数值语义的 blocking error。
|
||||
|
||||
## 3. Blocking finding:smoke-only empty selector 的空审计
|
||||
|
||||
`learned_reference` 直接调用父 `forward`,没有递增 wrapper 的 visit counters。因此:
|
||||
|
||||
```text
|
||||
forward_calls = 0
|
||||
all depth/output visits = 0
|
||||
visit_gate = all(0 == 0) = true
|
||||
selected reachability = all([]) = true
|
||||
```
|
||||
|
||||
这不会影响四个正式变体,它们全部是非空 selector;而 empty selector 另有 20-step
|
||||
parent-equivalence gate,模型/optimizer/evaluations/diagnostics/history/hash 已 exact。
|
||||
但 `forward_intervention.passed` 本身不能在修复前被当作 learned census 证据。
|
||||
|
||||
处置:
|
||||
|
||||
- formal matrix 完成后,删除 `selected_indices` 为空时的父路径 early return;
|
||||
- 让 empty selector 也走同一 copied forward,其中 `mix` 对 64 个节点逐个调用父
|
||||
`DepthMixer.forward`;
|
||||
- 加入 `forward_calls > 0`;
|
||||
- 重跑 step-0、parent smoke、wrapper smoke 与 parent equivalence;
|
||||
- 只有 copied path 仍逐字段 exact 才保留。
|
||||
|
||||
这项修复只强化 smoke audit,不更改任何正式 variant 的 selector 或 forward。
|
||||
|
||||
## 4. Non-blocking findings 与处置
|
||||
|
||||
| finding | 处置 |
|
||||
|---|---|
|
||||
| `smoke_compare` 整体比较 `manifest.path` | 规范化 path 后比较 scientific manifest fields |
|
||||
| unselected gate 额外要求 optimizer state | 保留为强实现 gate,但在文档中标成 protocol 之外的额外审计,不用于科学 status |
|
||||
| GPU/version 差异只有 `metadata_equal`,没有 warnings 数组 | aggregate 增加显式 metadata warnings |
|
||||
| `run_matrix` 失败后只 terminate、不 wait/kill,invalid file 会阻塞重跑 | 加入 terminate→wait→kill 清理,并在 cell failure 时标明 exact invalid target |
|
||||
| step-0 CE 只比较 Python float | 追加 scalar tensor SHA-256 |
|
||||
| `EXPECTED_SOURCE_COUNTS` 未使用 | 用于 runner↔manifest 交叉校验 |
|
||||
|
||||
上述修订不读取结果、不改变冻结阈值或主公式。
|
||||
|
||||
## 5. 矩阵结束后的处置结果
|
||||
|
||||
13 个单元全部退出后才应用上述修订;四个正式非空 selector 的 raw 文件未被重写。
|
||||
修补后的前置闸门结果:
|
||||
|
||||
- step-zero 五个 variant 的 logits、loss tensor、evaluation 与 diagnostic exact;
|
||||
- smoke-only learned wrapper 实际执行 `39` 次 forward,64 个 depth mixer 与
|
||||
output mixer 的 visit census 全部非零且 exact;
|
||||
- parent 与 wrapper 的 architecture、seed、schedule、model、optimizer、hash、
|
||||
evaluation、diagnostic、history、gradient gate 与 scientific environment 共
|
||||
15 组字段全部 exact;
|
||||
- primary smoke 的 selected 参数仍为 0 hook、无 optimizer state、final=initial;
|
||||
- unselected optimizer-state 条件继续作为额外实现闸门,不进入科学 status。
|
||||
|
||||
结果后 Grok 会话 `019fb28b-a9e1-7643-8e43-06f5e16a2077` 在只读 sandbox 中独立
|
||||
复算 13 个 raw、三个 historical references 与 aggregate,报告
|
||||
`blocking_errors=0`、`status_confirmed=true`、`replay_confirmed=true`。详细数字与
|
||||
claim boundary 见 `research/K3_ATTNRES_FORWARD_TRAINING_AUDIT.md`。
|
||||
Reference in New Issue
Block a user