现象:瓶颈宽度决定 RankMe 轨迹
在真实 TinyShakespeare 文本上训练一个小因果 Transformer,最终隐藏层的 RankMe 呈现 warmup → expansion → compression 三段轨迹。瓶颈越窄,压缩越明显、越持久;瓶颈太宽则只能看到短暂凹陷后立即恢复。
learningRate = 0.005、weightDecay = 0.001、trainingSteps = 20000。旧的 weightDecay = 0.01 会压平谱,导致 collapse 信号被噪声淹没。实验设置:CR 画布上的标准节点链
| 组件 | CR 设置 | 说明 |
|---|---|---|
| 数据 | tinyshakespeare_lm_dataset | 真实下载,失败即报错,不做合成回退。 |
| 模型 | transformer_token_model,d_model=4,4 层 4 头 | 最终隐藏层是瓶颈;修改 modelDim 与 numHeads 即可扫宽度。 |
| 损失 | cross_entropy_loss | next-token CE,与真实语言模型训练一致。 |
| 优化器 | AdamW,lr=5e-3,wd=1e-3,β2=0.99 | wd 从 1e-2 降到 1e-3 后才出现清晰 collapse。 |
| 训练 | 20k steps,batch=32,cpu | 20k 已足够观察现象;100k 用于检查长程行为。 |
| 可观测 | RankMe + alphaReQ @ lm_head::input | 每个 token 位置作为样本,非仅 last token。 |
Template ID
repro-rank-collapse-tinyshakespeare-pretraining
结果:真实 CR UI 中的 Rank Collapse 签名
下图是直接在 ComfyResearch 画布上运行得到的结果:左侧是 TinyShakespeare 真实文本数据集、AdamW 优化器(lr=0.005, wd=0.001)、Small Causal Transformer(d_model=4)与 Trainer;右侧是实时渲染的 RankMe、alphaReQ 和 Training Viz 面板。
可以看到 RankMe 先上升后下降的 compression 轨迹,alphaReQ 同步上升(谱变陡),loss 单调下降。三条曲线都来自同一次真实训练,没有后期合成。
瓶颈宽度扫描
保持优化器与步数不变,只改 modelDim(和对应的 numHeads):
modelDim | Peak RankMe | Trough RankMe | Final RankMe (20k) | 结论 |
|---|---|---|---|---|
| 2 | 1.955 @ step 500 | 1.029 @ step 18.6k | 1.033 | 最窄瓶颈,持续 collapse |
| 4(默认) | 2.789 @ step 100 | 1.327 @ step 400 | 2.379(100k 时 2.040) | 早期 trough 明显,随后缓慢恢复 |
| 8 | 5.139 @ step 12.7k | 1.332 @ step 200 | 4.784 | 太宽,不持续 |
如果现象不明显,缩小 modelDim 或降低 weightDecay。
CR 体验:打开 Template,点击 Train
这不是黑盒复现按钮,而是标准 CR 节点链:Dataset → Model → Optimizer → Loss → Observable → Trainer。参数在画布上可读、可编辑;Smoke test 只把内存副本缩短到几步验证 pipeline,full evidence 才承担科学断言。
repro-rank-collapse-figure5-linear-ce 存在,用于对照同一论文的最小机制示例。Blog 主体以 TinyShakespeare 的真实文本审计为主。结论与边界
- 支持:CR 标准 Trainer 可在真实 TinyShakespeare 文本上重现 warmup → expansion → compression 的 RankMe 签名,且对瓶颈宽度敏感。
- 支持:把 weight decay 从 1e-2 降到 1e-3 是观察到该现象的必要边界条件。
- 不支持:大规模预训练 claim、任意 seed 鲁棒性、持续到 100k+ 的渐进 collapse。d_model=4 在 100k 时仍在缓慢演化。
- 不支持:用 smoke test 几步复现科学现象;smoke 只验证 pipeline 不崩溃。