世界模型守夜训练:新 checkpoint 给了什么证据

上一篇文章统一了术语:

L0 词法基底
World Model 世界模型
Participation Product 参与乘积
t_merge 读出层
Frame of Reference 参考系
Latent Slot 潜在槽位
Probability Container 概率容器

统一术语以后,下一步不能继续只靠聊天里的直觉。 按照 ARA 的正规流程,我们需要先写一个可以失败的 predict,然后跑实验。

这次守夜任务就是围绕这个 predict 做的。

先说结论

这次实验是一次有效的诊断证据,但不是 TreeHeap 世界模型成立的正证明。

结论分三层:

1. 工程上:
   新 checkpoint 训练成功,GPU 稳定,evidence 已保存。

2. 几何上:
   新训练没有复现旧 checkpoint 那种 raw cosine 全部挤在一起的严重坍缩。
   t_merge 没有把空间直接压坏。

3. 理论上:
   当前 local BPE context 训练目标没有证明 P-FRAME01。
   也就是说,仅靠“预测附近 token”不足以学出我们想要的世界模型参考系。

如果只用一句话说:

这次实验说明,TreeHeap 的工程管线能跑,空间没有被 t_merge 直接毁掉;但世界模型拓扑信号还没有被当前 objective 学出来。

这很重要,因为它把问题从:

TreeHeap 是不是彻底错了?

缩小成:

我们现在的训练目标是不是不对?

我现在更倾向后者。

这次 predict 是什么

我们写下的 predict 叫:

P-FRAME01

它的意思是:

如果 TreeHeap 的世界模型携带真实拓扑信息,
那么复合概念相对基础概念的差分方向,
应该能在某些局部参考系里投影到可解释关系。

用本科生能理解的例子说:

football - ball

应该更像:

foot
kick
field
goal

而:

basketball - ball

应该更像:

hand
throw
court
basket

这不是在问:

football 和 basketball 像不像?

而是在问:

football 比 ball 多出来的那一部分,指向什么世界关系?

如果向量空间真的带有“世界模型”,那么这种差分方向应该不是随机的。

为什么要训新 checkpoint

之前我们一直有一个问题:

旧 checkpoint 能不能当证据?

答案是:不能直接背书。

旧 checkpoint 可以作为诊断对象,因为它告诉我们:

raw tree output cosine mean ≈ 0.985

看起来所有 token 都很像。

但进一步诊断又发现:

centered cosine mean ≈ 0

也就是说,它可能不是所有信息都没了,而是有一个很强的公共背景方向。

所以旧 checkpoint 不能直接证明 TreeHeap 成立,也不能直接证明 TreeHeap 失败。 它只能告诉我们:

必须自己训一个新的 checkpoint,
再看 CMul、merge_no_bias、tree、centered tree 到底发生了什么。

这次守夜任务就是为了补这一块 evidence。

训练任务怎么设计

这次没有训练完整翻译模型,也没有训练大语言模型。

我们训练的是一个小的 TreeHeap-style world-model checkpoint。

核心形式是:

L0(token)
  x WorldPath(token)
  -> CMul pre-merge state
  -> t_merge
  -> token-in-world vector

训练目标很朴素:

给定一个中心 BPE token,
让它的 token-in-world vector 去找附近窗口里的真实 context token。

也就是 local context contrastive learning。

用更普通的话说:

如果一个 token 经常和某些上下文一起出现,
模型应该把它变换到一个能找回这些上下文的位置。

这不是最终目标。 它只是一个可运行、可保存 checkpoint、可观察 t_merge 是否扭曲空间的中间实验。

守夜运行规模

运行时间:

start:  2026-06-17 18:05:58
finish: 2026-06-18 04:06:01

训练规模:

epochs recorded: 456
global steps:    2,732,508
checkpoints:     456
metrics rows:    456
frame rows:      2,280
geometry rows:   2,280
gpu rows:        54,650

证据保存位置:

/data/homecicd/sametime/ara/s2-translation/evidence/world_model_long_20260617_180554
/mnt/nas/datasets/wmt_massive/evidence_nio/world_model_long_20260617_180554

这次也顺便验证了一个工程点:

io 上的 RTX 3090 是可跑长任务的,
但必须保持 270W power limit,
不能放开。

GPU 统计:

avg power: 192.18W
max power: 195.92W
avg temp:  70.82C
max temp:  71C
avg util:  29.07%
max util:  32%
max mem:   688MiB

这说明这次不是之前那种 CPU-only 假任务。 GPU 确实在工作,而且没有掉卡。

训练有没有学到东西

训练 loss 有下降,但幅度不大。

第一轮:

loss        7.5148
inbatch_acc 0.0181

最后一轮:

loss        7.2923
inbatch_acc 0.0247

最好 loss:

epoch 456
loss  7.2923

最好 in-batch accuracy:

epoch       442
inbatch_acc 0.0248

这说明模型确实在学 local context。 但它学得并不强。

从工程上看,这是一个健康训练。 从理论上看,这还不能说明它学出了世界模型。

frame probe 结果

我们真正关心的是 P-FRAME01。

也就是:

composite - base

能不能指向正确的 relation anchors。

这次最好的早期结果出现在 epoch 2:

epoch 2
mode: tree / merge_no_bias
auc  0.7236
mrr  0.8485
hit1 0.7273
hit3 1.0000

但是到最后一轮,结果没有继续变强。

epoch 456:

mode AUC MRR Hit@1 Hit@3
L0 0.6182 0.8364 0.7273 0.9091
CMul 0.6182 0.8182 0.6364 1.0000
merge_no_bias 0.6473 0.8333 0.7273 0.9091
tree 0.6473 0.8333 0.7273 0.9091
path 0.5618 0.8712 0.8182 0.9091

这里要小心读。

如果 TreeHeap world model 被证明了,我们希望看到:

tree / merge_no_bias / CMul 明显强于 L0
并且随着训练稳定变强

但实际看到的是:

1. early epoch 有一点信号。
2. long training 没有把这个信号放大。
3. path 的 Hit@1/MRR 也很高,说明 probe 里可能有 token/path 偏差。
4. final tree 只比 L0 在 AUC 上略好,不构成强证据。

所以 P-FRAME01 的状态是:

inconclusive

不能升级为 positive claim。

几何空间有没有坍缩

这部分反而比较有价值。

最后一轮的 off-diagonal cosine mean:

mode cosine mean
L0 0.0519
CMul 0.0539
merge_no_bias 0.0566
tree 0.0865
path 0.9973

这说明:

L0 / CMul / merge_no_bias / tree 都没有全局挤成同一个方向。

tree 的 cosine mean 比 L0 高一点,但远没有旧 checkpoint 那种:

0.985

这支持一个判断:

t_merge 本身不是必然把空间压坏的罪魁祸首。

真正异常的是 path:

path cosine mean = 0.9973

这说明当前 path 构造在这个 probe 集合上几乎是常量。 也就是说,它不是一个好的语义参考系。

这和我们之前的判断一致:

路径本身更多编码 token ID / 分桶位置,
不是语法角色,也不是世界关系。

这次到底证明了什么

可以保留的结论:

1. 新 checkpoint 能稳定训练。
2. io 的 3090 在 270W limit 下可以跑 10 小时任务。
3. t_merge 不必然导致全局向量坍缩。
4. local BPE-context objective 可以学到一点上下文检索能力。
5. 当前训练目标没有证明 world-model reference frame。

必须降级的说法:

TreeHeap 已经学出世界模型。

这句话不能说。

更准确的说法是:

TreeHeap 现在有一个可训练的世界模型候选管线,
但 local context objective 还不能让 P-FRAME01 成立。

下一步怎么改 predict

这次最重要的教训是:

不要只让模型预测附近 token。

因为附近 token 主要教会模型:

哪些词经常共现。

但我们想要的是:

复合概念和基础概念之间的关系方向。

也就是:

football - ball -> foot / kick / field / goal
basketball - ball -> hand / throw / court / basket

所以 P-FRAME01 下一版应该改成更直接的训练目标。

例如:

输入:
  composite
  base

目标:
  拉近 positive relation anchors
  推远 hard negative anchors

形式上可以是:

delta = vector(composite) - vector(base)

positive:
  foot, kick, field, goal

negative:
  hand, basket, racket, engine, snow

训练目标:

delta 更接近 positive anchor directions
delta 远离 negative anchor directions

这比 local context objective 更贴近我们真正要验证的 claim。

ARA 状态

这次 evidence 应该这样登记:

Predict:
  P-FRAME01

Evidence:
  world_model_long_20260617_180554

Verdict:
  diagnostic / inconclusive

Do not promote to claim.

换句话说:

P-FRAME01 还活着,
但当前 objective 没有通过 evidence gate。

这不是坏结果。 一个好的研究系统,应该允许 predict 被证据卡住。

最后一句话

这次守夜训练没有证明 TreeHeap 已经拥有世界模型。

它证明的是:

我们已经有能力正规地训练、保存、诊断一个新的 TreeHeap checkpoint;
也已经知道 local context objective 不是通向 P-FRAME01 的直路。

下一步不是继续堆时间。

下一步是换 objective。

License: GPLv3