redmingwei commited on
Commit
babddb1
·
verified ·
1 Parent(s): 38577ad

v62.2 → v62.3 的过渡说明

Browse files
Files changed (1) hide show
  1. checkpoints/v62.2/README.md +21 -14
checkpoints/v62.2/README.md CHANGED
@@ -1,19 +1,26 @@
1
- # v62.2 — 当前版本
2
 
3
- | 文件 | 内容 |
4
- |---|---|
5
- | `heteromoe_projspace_v2.pt` | `proj_space`(2.76M)+ `fusion`(50.34M)的权重,**不含**三个骨干 |
6
- | `report.json` | 训练报告(1500 步,按类别分层 80/20) |
7
 
8
- 根目录的 `model.safetensors` 是这份 ckpt 与三个骨干合并后的完整模型,
9
- 端到端推理请用根目录。
 
 
 
 
10
 
11
- ## 关键读数
 
12
 
13
- ```
14
- held-out acc 0.9101 (随机 0.25)
15
- 槽门控 [1.0, 1.0, 1.0, 1.0] 熵 0.6928 均衡 1.000
16
- 专家负载 [0.360, 0.731, 0.538, 0.371] 熵 0.476 均衡 0.492
17
- ```
18
 
19
- ⚠️ 专家均为随机初始化、未从真实 FFN 抽取;专家已解冻(偏离 v33 原设定)。
 
 
 
 
 
 
 
 
 
 
1
+ # v62 / v62.1 / v62.2 — 均已被 v62.3 取代
2
 
3
+ 这几个版本的 checkpoint 与报告已移除,原因分两层:
 
 
 
4
 
5
+ **一、v62.1 / v62.2 的槽门控结论无效。**
6
+ 它们的 `proj_space.router` 是 lazy 创建的(`__init__` 里 `s.router=None`,首次 forward 才建),
7
+ 后果三连:
8
+ ① `load_state_dict` 时 `proj_space.router.weight` 被判为 unexpected,权重根本加载不上;
9
+ ② `trainable` / optimizer 在 router 存在之前就取好,**router 从未被优化**;
10
+ ③ 熵正则的梯度流向 router,却不在 optimizer 里,被丢弃。
11
 
12
+ ⇒ 槽门控完全由一个**随机初始化**的 router 决定。
13
+ 「四槽激活率 100%」「槽熵 0.6928」都不成立。
14
 
15
+ **专家选择不受影响** —— `fusion.W_router` 是 `nn.Parameter`,从 `__init__` 起就在 `trainable` 里。
 
 
 
 
16
 
17
+ **二、本目录曾被后续版本覆盖。**
18
+ `train_v2.py` 里的 `CKPT_DIR` 曾硬编码为 `checkpoints/v62.2`,于是每次重训都写进同一个目录,
19
+ 出现过「目录名是 v62.2、内容却是 v62.3/v62.4」的错位。
20
+ 现已改为 `checkpoints/v{VER}`,两者永远一致。
21
+ (实测 v62.4 与 v62.3 的权重**逐位相同**,故内容无损失。)
22
+
23
+ ## 当前版本
24
+
25
+ **[`../v62.3/`](../v62.3/)** —— router 改为 eager 创建,权重能加载、也进 optimizer。
26
+ v62.4 起训练脚本直接 import 仓库里的 `projspace.py`(不再内联副本),训练结果与 v62.3 逐位相同。