14 KiB
K3 Attention Residuals 局部梯度尖峰与归约敏感性协议
协议 ID:llm-atlas-k3-attnres-spike-path-v1
冻结日期:2026-07-30
协议状态:结果前预注册
父协议:llm-atlas-k3-attnres-gradient-scale-v1
0. 研究身份
本轮是 Round 05 的定向机制追踪,不是盲发现:
- 已知 depth-32 / Block 的三 seed 平均 layer 21–25 normalized post-MLP activation-gradient RMS 较高;
- 已知 observationally,MLP mixer latest-source mass 与该梯度谱相关;
- 未知尖峰最早在哪个 block position 出现;
- 未知 mixer 的 softmax/key derivative path 与 learned value coefficients 分别贡献多少;
- 未知更换 raw gradient tensor 的公开 reduction 后,layer 21–25 是否仍构成稳定局部峰。
前置已知结果和相关分析固定在
research/K3_ATTNRES_SPIKE_SCOPING.md。任何 Round 06 输出不得被倒写成“事前未知”。
1. 允许回答的问题
- 在同一个缩小 Block AttnRes 模型里,layer 21–25 的相对高值在哪些 attention / MLP 位置已经可见?
- 在前向完全相同的条件下,对全部 mixer 切断 weight / key 导数路径是否降低尖峰?
- 在前向完全相同的条件下,把全部 mixer 的 source value 反向系数改为均匀权重, 是否降低尖峰?
- element RMS、token-RMS mean / median / p95 是否给出一致的 spike 结论?
- Round 06 的新增观测是否保持 Round 05 训练状态、BPC 和 post-MLP global RMS exact?
2. 明确不回答的问题
- 论文 Figure 5(c) 的未公开 telemetry 定义;
- Kimi K3 2.8T checkpoint 的真实梯度;
- learned mixer 对大模型最终能力的因果收益;
- 改写 backward rule 后重新训练会发生什么;
- 哪个 source 具有可命名的语义;
- 三个 seed 之外的总体显著性或置信区间;
- 同 FLOPs、wall time 或参数量公平性。
3. 冻结训练合同
Round 06 不创建新训练任务分布,完整复用 Round 05:
| 字段 | 固定值 |
|---|---|
| architecture | Block AttnRes |
| Transformer depth | 32 |
| aggregation groups | 8 |
| blocks / group | 4 |
| width / heads / FFN | 192 / 6 / 768 |
| context / vocabulary | 256 / byte-256 |
| formal seeds | 2026073001 / 2026073002 / 2026073003 |
| steps / batch | 8,000 / 32 |
| target bytes / formal cell | 65,536,000 |
| optimizer | AdamW |
| peak / min LR | 3e-4 / 3e-5 |
| warmup | 400 |
| weight decay | 0.1 for ndim ≥ 2 |
| betas / epsilon | 0.9, 0.95 / 1e-8 |
| clip | global norm 1.0 |
| forward | CUDA BF16 autocast |
| residual accumulation | explicit FP32 |
| diagnostic CE | fixed 16 × 256 token-mean FP32 CE |
| diagnostic steps | 0 / 100 / 500 / 2,000 / 4,000 / 8,000 |
数据 bytes、training schedule、validation tensor 和 diagnostic tensor hashes 必须与父协议 manifest exact。训练窗口仍由父协议 ID 派生;Round 06 ID 只标识新增 telemetry,不能改变 任一 optimizer input。
4. 正式网格与 replay
正式运行:
depth-32 / block / seed-2026073001
depth-32 / block / seed-2026073002
depth-32 / block / seed-2026073003
另从初始化完整重跑:
replay / depth-32 / block / seed-2026073001
正式三格共处理 196,608,000 target bytes;含 replay 共 262,144,000 bytes。
每格都必须在全新 Python 进程中运行。可并行两个进程,但不能共享 model、optimizer、RNG 或 CUDA graph。性能计时不进入数值复现合同。
5. 六个 activation 位置
对每个 Transformer block l 捕获:
pre_attention_input:attention RMSNorm 的输入;Block 中是 attention mixer 输出;attention_branch_output:attention projection 输出;post_attention_state:attention branch 加入后的 FP32 partial state;pre_mlp_input:MLP RMSNorm 的输入;Block 中是独立 MLP mixer 输出;mlp_branch_output:MLP down projection 输出;post_mlp_state:MLP branch 加入后的 FP32 partial state,即 Round 05 主对象。
每个位置必须有 32 个不同计算节点,shape 为 [16,256,192],梯度全部 present / finite。
跨位置允许计算图语义上的共享来源,但同一位置的 32 个条目不得意外复用同一 storage。
捕获在一次 learned-mode diagnostic forward / backward 中完成;不能把六个位置拆成六次 不同 loss 的 backward:
attention_branch_output/mlp_branch_output在原 module 输出、转成 FP32 residual 之前捕获,保留其实际 autocast dtype;post_attention_state/post_mlp_state在显式 FP32 residual accumulation 后捕获;- 所有
retain_grad()只允许出现在 diagnosticcapture=True路径; - 8,000 个 optimizer training steps 必须走父 runner 的原始
DepthMixer.forward,capture=False,不得进入 intervention custom autograd; - 每次 diagnostic / intervention 前后都
zero_grad(set_to_none=True); - diagnostic 前后 optimizer-state tensor hash 必须 exact。
5.1 尖峰可见位置
固定目标集合:
S = layers 21, 22, 23, 24, 25
R = other 27 layers
对每个位置和 seed:
spike_contrast = mean(metric[S]) / mean(metric[R])
peak_normalized = max(metric) / mean(metric)
主判定只使用 step 8,000。若某个位置 spike_contrast ≥ 1.5 在 3 / 3 seed
成立,则称“该位置已可见局部峰”。六个位置按上述 forward 顺序报告;第一个满足者只标为
earliest tensor where the pattern is observed,禁止写成 origin、injection point 或
“在该算子生成”。其他 diagnostic steps 只展示轨迹,不参与位置判定。若没有位置 3 / 3
达标,结论为 position-mixed。
6. 同一 raw gradient tensor 的 reductions
令某层某位置梯度为 g ∈ R[B,T,D],其中 B=16,T=256,D=192。
6.1 主 sensitivity family
element_rms = sqrt(mean_btd(g²))token_rms_mean = mean_bt(sqrt(mean_d(g²)))token_rms_median = median_bt(sqrt(mean_d(g²)))token_rms_p95 = p95_bt(sqrt(mean_d(g²)))
这四项都测每 Token 梯度长度的分布,只改变平方根与 Token reduction 的次序/统计量。
median / p95 统一使用排序后的 Hyndman–Fan Type 7 linear interpolation:
h = (N - 1) × p
j = floor(h)
q_p = x_sorted[j] + (h - j) × (x_sorted[j + 1] - x_sorted[j])
p=.5/.95,零基下标;若 h 为整数则直接取 x_sorted[h]。实现不得依赖 numpy /
torch 版本相关的默认 quantile 方法。
6.2 cancellation-sensitive diagnostics
batch_mean_rms = sqrt(mean_td((mean_b g)²))token_mean_rms = sqrt(mean_bd((mean_t g)²))
它们允许正负梯度先抵消,测的是更相干的方向信号,只作探索性诊断,不进入主 robustness 判定。
6.3 代数控制
global_l2 = sqrt(sum_btd(g²))
固定 shape 下它应满足:
global_l2 = element_rms × sqrt(B×T×D)
逐层 normalized spectrum、CV、spike contrast 应与 element RMS 在 1e-6 内相同。
6.4 reduction robustness 闸门
对最终 post_mlp_state,每个主 family reduction、每个 seed 必须同时满足:
spike_contrast ≥ 1.5;- 该 reduction 的 top-5 layers 与固定集合
S至少重合 3 层; - 与 element RMS 的 32-layer Spearman
ρ ≥ 0.8。
四种 reductions、三个 seed 全部满足才记为
robust within the preregistered reduction family。任何一格失败即为 mixed;
全数不满足才记为 not robust at this threshold。不添加事后替代阈值。
top-5 固定按 metric descending, layer index ascending 排序;Spearman 对并列值使用
average ranks。cancellation-sensitive diagnostics 不得进入本节判定。
7. mixer backward-path interventions
三种模式使用完全相同的 learned forward weights 与 model state。intervention 的作用域固定 为全部 64 个 depth mixers 加最终 output mixer;不允许结果后只改 layer 21–25 邻域。 因此本节回答的是“全局改写 mixer backward rule 后,固定尖峰指标是否变化”,不是把某个 局部 mixer 宣布为唯一原因。
7.1 learned
原始 mixer:
w = softmax(qᵀ RMSNorm(sources))
y = Σ w_i source_i
反向同时经过 value coefficients 和 softmax / query / key 路径。
7.2 detached_learned
前向仍用同一 w,但 w 在反向中 detach:
y = Σ stopgrad(w_i) source_i
它保留 learned value coefficients,切断 softmax / query / key 对 source gradient 的路径。
7.3 uniform_value_backward
使用自定义 autograd:
- 先调用父 runner 原始
DepthMixer.forward得到y_parent; - custom Function 的 forward 直接返回已经计算出的
y_parent,不重算或做y + z - z式浮点抵消; - backward 对每个 source 返回
grad_y / N; - 不向 learned weights / query / key 回传。
因此 forward logits、loss、所有 activation 值必须与 learned 逐元素 exact,但 source
value 的 backward coefficient 变为均匀。
detached_learned 同样以 custom Function 原样返回 y_parent,backward 才按 learned
w_i 把 grad_y 分配给 source。两种 custom Function 都只允许在 step 0 / 8,000
diagnostic 使用。
这些是全局 backward-rule sensitivity diagnostics,不是可训练模型变体,也不声称是 合理部署方案。
8. intervention 判定
只在 step 0 和 8,000 运行三模式。
8.1 forward identity gate
同 seed / step 三模式必须满足:
- logits tensor SHA-256 exact;
- loss FP32 value exact;
- 六位置 activation tensor hashes exact;
- mixer forward mean / quantile summaries exact。
任一失败,正式结果无效。
learned mode 还必须证明:训练和普通 diagnostic 的每个 mixer output 使用父 runner 数值 路径;custom Function 不得被训练 step 调用。
8.2 初始化负控制
step 0 的 mixer query 全为零,learned weights 是均匀分布。三模式的六位置
element_rms:
- 32 个 raw values 必须 finite 且严格大于 0;
- raw spectra 的逐层相对差必须 ≤
1e-6; - normalized spectra 最大绝对差必须 ≤
1e-6。
失败则说明 intervention 实现没有隔离预期路径。
8.3 softmax / key derivative path
最终 post_mlp_state,且 reduction 固定为 element_rms:
relative_drop_contrast =
(contrast_learned - contrast_detached) / contrast_learned
relative_drop_peak =
(peak_learned - peak_detached) / peak_learned
contrast_learned 与 peak_learned 必须 finite 且 >1e-30,否则本格 invalid 并停止
聚合。若两项都 ≥20% 且 3 / 3 seed 同向,记为:
全局切断所有 mixer 的 softmax / query / key source-gradient path,在本阈值下对固定 尖峰指标有 material sensitivity。
禁止缩写成“layer 21–25 由 softmax/key path 造成”。
8.4 learned value coefficients
用 detached_learned → uniform_value_backward 的同一公式,分母也必须 finite 且
>1e-30。若 contrast 和 peak 都下降 ≥20% 且 3 / 3 seed 同向,记为:
全部 mixer 的 value backward coefficients 从 learned
w改成1/N,在本阈值下 对固定尖峰指标有 material sensitivity。
N 随 source count 变化;均匀系数不等于各 source 的数值贡献均匀。禁止写成“learned
value weights 是尖峰唯一原因”。
未过阈值只表示本协议没有达到“material”规则,不证明路径贡献为零。seed 或两个指标方向
分裂时统一记为 mixed。
9. mixer 分布摘要
每个子层 mixer 保存:
- source count;
- source labels;
- 每 source mean / p05 / median / p95;
- entropy mean;
- normalized entropy;
- max source mass;
- latest-source mass;
- group / layer / attention-or-MLP 身份。
相关分析报告 Pearson 与 Spearman,但永远标为 association;只有第 7–8 节的同前向 backward intervention 可以支持路径贡献判断。
不保存可还原语料内容的逐 Token weight arrays。
10. 训练等价与复现闸门
每个 formal seed 必须与对应 Round 05 depth-32 / Block raw 结果满足:
- final model-state hash exact;
- final optimizer-state hash exact;
- 六个 validation BPC exact;
- 六个 Round 05 post-MLP element-RMS arrays exact;
- training-history 冻结字段 exact。
此外,step-0 smoke 对六个位置逐一执行同一 loss 的 ×1 / ×2 backward:
- 每层每 reduction 中线性尺度应乘 2 的指标,其比值在
2±1e-5; - normalized spectrum、CV、spike contrast 的绝对差 ≤
1e-6; - shape、dtype、gradient presence / finite 与同位置 storage uniqueness 全部过闸。
普通 diagnostic 与三种 intervention 前后 optimizer-state hash 必须 exact;训练 step
禁止 capture=True。
seed-1 replay 还必须与 Round 06 formal seed-1 的以下字段 exact:
- 全部训练等价字段;
- 六位置、七 reductions、三 intervention 的全部数值;
- mixer quantile summaries;
- logits / activation tensor hashes;
- final model / optimizer hashes。
排除:
- run kind / output path;
- wall time / step time;
- peak allocated / reserved memory;
- process / host 瞬时字段。
任一训练等价字段失败,不能聚合机制结果;replay 失败则公开失败并停止网站结论。
11. 正式工件
experiments/k3/attnres_spike/
README.md
manifest.json
scope.py
train.py
analyze.py
reproduction.json
results/raw/*.json
research/
K3_ATTNRES_SPIKE_SCOPING.md
K3_ATTNRES_SPIKE_PROTOCOL.md
K3_ATTNRES_SPIKE_AUDIT.md
src/data/
k3-attnres-spike.json
k3-attnres-spike-compact.json
网站必须把四种证据身份分开:
- Round 05 已知峰;
- observational mixer association;
- same-forward backward intervention;
- reduction robustness / failure。
12. 停止规则
出现以下任一情况立即停止正式聚合:
- 训练 hash 不匹配 Round 05;
- forward identity gate 失败;
- step-0 uniform negative control 失败;
- 六位置 loss×2 或 optimizer isolation gate 失败;
- activation gradient 缺失、非 finite 或 shape 错误;
- replay 数值不 exact;
- 正式 raw 文件缺失或 canonical hash 不闭合。
遇到反结果时不修改集合 S、20% 阈值、1.5 contrast、top-5 overlap 或 Spearman 阈值。