ComfyResearch · Rank Collapse blog · Template 02 · 2026-07-31

在 TinyShakespeare 上观察 Rank Collapse

把论文的 spectral audit 搬到一张标准 CR 画布上:真实文本、可编辑节点、实时 RankMe / alphaReQ 曲线。默认设置已锁定为 lr=0.005 / wd=0.001 / 20k steps。

TinyShakespeare 20k · PASSd=4 100k continuation · PASSwd=1e-3 是关键边界

现象:瓶颈宽度决定 RankMe 轨迹

在真实 TinyShakespeare 文本上训练一个小因果 Transformer,最终隐藏层的 RankMe 呈现 warmup → expansion → compression 三段轨迹。瓶颈越窄,压缩越明显、越持久;瓶颈太宽则只能看到短暂凹陷后立即恢复。

d_model=2peak 1.955 → trough 1.029 @ step 18.6k,保持 collapsed。
d_model=4peak 2.789 → trough 1.327 @ step 400,20k 时回到 2.379,100k 时降到 2.040。
d_model=8peak 5.139 → trough 1.332 @ step 200,立即恢复到 4.784,不持续。
新默认优化器设置:learningRate = 0.005weightDecay = 0.001trainingSteps = 20000。旧的 weightDecay = 0.01 会压平谱,导致 collapse 信号被噪声淹没。

实验设置:CR 画布上的标准节点链

组件CR 设置说明
数据tinyshakespeare_lm_dataset真实下载,失败即报错,不做合成回退。
模型transformer_token_model,d_model=4,4 层 4 头最终隐藏层是瓶颈;修改 modelDim 与 numHeads 即可扫宽度。
损失cross_entropy_lossnext-token CE,与真实语言模型训练一致。
优化器AdamW,lr=5e-3,wd=1e-3,β2=0.99wd 从 1e-2 降到 1e-3 后才出现清晰 collapse。
训练20k steps,batch=32,cpu20k 已足够观察现象;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 面板。

ComfyResearch UI after rank-collapse training

可以看到 RankMe 先上升后下降的 compression 轨迹,alphaReQ 同步上升(谱变陡),loss 单调下降。三条曲线都来自同一次真实训练,没有后期合成。

瓶颈宽度扫描

保持优化器与步数不变,只改 modelDim(和对应的 numHeads):

modelDimPeak RankMeTrough RankMeFinal RankMe (20k)结论
21.955 @ step 5001.029 @ step 18.6k1.033最窄瓶颈,持续 collapse
4(默认)2.789 @ step 1001.327 @ step 4002.379(100k 时 2.040)早期 trough 明显,随后缓慢恢复
85.139 @ step 12.7k1.332 @ step 2004.784太宽,不持续

如果现象不明显,缩小 modelDim 或降低 weightDecay

CR 体验:打开 Template,点击 Train

这不是黑盒复现按钮,而是标准 CR 节点链:Dataset → Model → Optimizer → Loss → Observable → Trainer。参数在画布上可读、可编辑;Smoke test 只把内存副本缩短到几步验证 pipeline,full evidence 才承担科学断言。

Template opened
Template 打开态:Dataset、Model、AdamW(lr=.005, wd=.001)、CE、RankMe/alphaReQ Observable 与 Trainer 全部在画布上。
Template complete
训练完成态:Trainer 输出 complete,右侧 Observable Viz 实时渲染 20k 步的 RankMe / alphaReQ 曲线。
Companion:Figure 5 的六样本线性 toy 仍作为独立 Template repro-rank-collapse-figure5-linear-ce 存在,用于对照同一论文的最小机制示例。Blog 主体以 TinyShakespeare 的真实文本审计为主。

结论与边界