Fast-WAM 讨论笔记:从 single forward 看 generative objective 作为 representation learning¶
这份文档是 Fast-WAM 论文笔记 之后的一场对话整理。从一个具体的 "video DiT 单次前向是什么意思" 的提问出发,逐步推到一个更大的命题:video generation foundation model 可以作为 robot policy 的 pretraining objective。
1. 讨论缘起¶
最初的提问很具体:
论文里说 "\(z(o,l)\) 是 video DiT 单次前向得到的 latent",这个 "单次前向" 是不是意思是 noise 只做 1 步 denoise?
后面顺着这个问题,把推理流程拆开看,意外发现里头藏着一个挺漂亮的 framework — 把 Fast-WAM、Marigold / Lotus 这类 perception-via-diffusion 工作、以及 MAE-style 的 "train generative head, ship encoder" 模式串了起来。这份文档把整段讨论沉淀下来。
2. 讨论脉络¶
2.1 "单次前向" 不是 1 步 denoise,而是 0 步 denoise¶
第一个澄清是名词的:Fast-WAM 推理时 video DiT 完全不做 denoising,它被当成 plain encoder 来用。两条分支的工作方式不同:
| 分支 | 推理时是否 denoise | 跑几次 forward | 输入 |
|---|---|---|---|
| Video DiT | 不 denoise | 1 次 | 干净的 \(f_0\),无噪声 |
| Action DiT | denoise(flow matching) | 10 步 | 加噪 action token,每步迭代去噪 |
省下来的 9 次 video DiT forward 就是 810 ms → 190 ms 的物理来源(5B video DiT 比 1B action expert 重得多)。
2.2 Wan2.2 的 VAE 为什么支持这种用法¶
第二个问题:Wan2.2 是 video VAE,能输入单帧吗?答案是 可以,因为它是 causal video VAE + i2v 兼容:
- 时间维度 causal:第 \(t\) 帧 latent 只依赖 \(\le t\) 的输入帧;
- 显式支持 "first frame 单独 encode" 模式:1 raw frame → 1 latent frame(anchor);
- Fast-WAM 推理就是把 Wan2.2 的 i2v inference path 截断在 "encode \(f_0\) + 一次 forward" 这一刻,不让它真去生成 future video。
所以这不是 hack,是直接复用了 Wan2.2 自己的 image-to-video 启动路径。
2.3 训练/推理在 token level 的对账¶
第三个澄清在数据流上:
| 阶段 | 输入 raw frames | VAE 输出 latent | Video DiT 处理 | Action |
|---|---|---|---|---|
| 训练 | 33 frames(1 + 32) | \(f_0\) + \(f_{1:8}\),9 个 latent frame | 9 个 latent 一起进;\(f_0\) clean、\(f_{1:8}\) 加噪 → flow matching denoise \(f_{1:8}\)(co-train) | \(a_{1:32}\) 加噪 → denoise(main) |
| 推理 | 1 frame(current obs) | 只产生 \(f_0\) | 仅 \(f_0\) 一次 forward | \(a_{1:32}\) 10 步 denoise,每步 attend cached \(f_0\) representation |
关键观察:\(f_0\) 这条 path 在训练和推理时完全一致。原因是论文 mask 设计上"\(f_0\) 不 attend 任何其他 token"——它的输出 representation 在两个 mode 下结构性等同,没有 train-infer mismatch。
2.4 "Motion 信息内蕴在 feature 上"¶
接下来的洞察来自对方的一句话:
可以理解成 Motion 的信息内蕴在了一次 forward 之后,得到了这个 feature 上。
这个 framing 准但要加一句精细化 — motion 信息不是在 forward 时被"展开",而是在训练阶段被编译进了 video DiT 的权重;推理时 \(f_0\) 一过这些权重,就自动"染上"了 motion-aware 的成分。
| 训练阶段做了什么 | 信息最终在哪里 |
|---|---|
| Video co-train loss 强迫 DiT 学会"看到 \(f_0\) → 预测 \(f_{1:8}\)" | 权重里:DiT 的 attention pattern、MLP、cross-attention 都被塑形成"能推演 motion" |
| 给定 \(f_0\) 时,DiT 内部的中间 activation 自动 encode 了 "given this scene + this instruction, future will roughly move this way" | 激活里:处理后的 \(z(o,l)\) 是 motion-aware 的 representation |
论文 ablation 的核心证据:同样的架构、同样一次 forward、同样的 \(f_0\),只差训练目标里有没有 video loss,结果天差地别(RoboTwin 91.8% → 83.8%,真实世界 → 10%)。这只能解释为"权重里编码进去的东西不一样了"。
2.5 拓展到 generative objective 作为 representation learning proxy¶
这一步把 Fast-WAM 放到了更大的 ML 命题里:
Generative objective 不是为了生成本身,而是作为 representation learning 的 proxy。
这条 thesis 在 ML 历史里反复出现过:
| 范式 | Train objective | Inference path | 扔掉了什么 |
|---|---|---|---|
| MAE / BEiT | 重建被 mask 的像素 | 只用 encoder | decoder(生成头) |
| GPT pretraining | 预测下一个 token | 各种下游 prompt | 严格说啥也没扔(train = inference) |
| CLIP | 对比 image-text | 各种下游分类/检索 | contrastive head |
| JEPA | 预测 mask 区域的 representation | 只用 encoder | predictor head |
| VPP / UVA | 联合 video + action | 只用 video latent,不解码 | video decoder |
| Fast-WAM | flow-matching video + action | 单次 forward,扔 future video token | 整条 video 生成 path |
Fast-WAM 的位置是 "MAE 模式 + diffusion":训练一个生成头,部署时砍掉它,只留 encoder。
2.6 与 diffusion-as-encoder for perception 的类比¶
对方接下来又把这条线索接到了一个具体的工作脉络上:
这操作让我想到之前一些用 diffusion 网络去做分割、depth 预测的工作。他们也是用最后一步比较小的 noise 做一个 denoise,然后用那个特征来输出结果。
这条类比非常准。整理出来的工作脉络:
| 工作 | 任务 | 用 diffusion 模型做什么 | 推理跑几步 |
|---|---|---|---|
| VPD (ICCV'23) | seg / depth / referring | freeze SD,抽某个 \(t\) 的中间 feature | 1 步 |
| DIFT (NeurIPS'23) | dense correspondence | SD 中间 activation 当 feature | 1 步 |
| Marigold (CVPR'24) | depth | fine-tune SD,输出 depth map | 论文 50 步 → 发现 1 步几乎一样好 |
| Lotus / GenPercept (2024) | depth / normal / seg | 显式按 single-step 训练 | 1 步 |
| Fast-WAM (2026) | robot policy | Wan2.2 当 video encoder | video DiT 0 步;action 仍 10 步 |
Fast-WAM 在这条线上是最激进的一步:连那"一步小 noise"都省了,干净 \(f_0\) 直接进,把 video DiT 当纯 encoder。
2.7 关键概念区分:\(f_0\) vs \(z(o,l)\)¶
最后一个精细化是对"feature"这个词的拆解:
| 名字 | 是什么 | 跟训练目标的关系 |
|---|---|---|
| \(f_0\) | 第一帧经 VAE 得到的 latent | 无关。VAE 来自 Wan2.2 pretrained 冻结,给同一张图永远输出同一个 \(f_0\) |
| \(z(o,l)\) | \(f_0\) 经过 video DiT 所有 layer 之后的输出 | 有关。video co-train 改 video DiT 权重 → 改 \(z\) |
Fast-WAM 的论点准确表述应该是:video co-train 训练让 video DiT 的权重变成好的 motion-aware encoder,使得 \(z = \text{VideoDiT}(f_0)\) 成为好的 conditional feature。不是 "\(f_0\) 是好 feature"。
3. 精华:四条 framework-level 的洞察¶
把上面这堆讨论收紧到四条最核心的命题。这是我认为这场对话的真正"精华"。
洞察 1 — Extraction vs Sampling 的二分¶
Diffusion iterative loop 的本质是从分布中 sample。当任务是 "extract from representation"(确定性映射)时,sample 这一步没意义;当任务是 "sample from distribution"(多模态生成)时,iteration 才有价值。
[确定性映射 — 1 步够] [多模态采样 — iteration 必要]
↓ ↓
depth, segmentation, dense correspondence text-to-image, video gen, action sampling
↓ ↓
Marigold/Lotus/VPD/DIFT Stable Diffusion / Wan2.2 / π₀ action head
Fast-WAM 把 robot policy 拆成两半: - conditioning extraction(\(z(o,l)\) 提取)→ 确定性 → 1 步 - action sampling(\(a_{1:32}\) 生成)→ 多模态 → 10 步
而 Joint/IDM 范式的错误就是 把本来确定性的那一半也当成 multimodal sampling 来跑了,浪费了 9× 冗余 forward。
洞察 2 — Diffusion 训练的 structural advantage¶
Diffusion / flow matching 的损失是 per-noise-level、per-step 的,不是 per-rollout 的。所以推理路径(要不要 iterate)和训练目标在结构上是解耦的。
这是一个 underappreciated 的点。Autoregressive LLM 的训练目标和推理路径是同构的(都是 next-token),所以 GPT 没法像 Fast-WAM 那样把 train 和 infer 解耦。而 diffusion 训练定义在"任意 noise level 下都能还原",逼迫 representation 在每个抽象 scale 上都 robust — 这恰好让模型可以被"截取"在任何中间点使用。
这一点跟 MAE 一脉是同源的(MAE 的 reconstruction loss 也是 per-patch、与 inference 路径解耦)。
洞察 3 — MAE pattern 是更广的模板¶
训练一个 generative head,部署时砍掉它,只留 encoder。生成损失的价值在于训练时塑形 encoder,不在于推理时真生成。
- MAE: 训练重建被 mask patch,部署砍 decoder;
- VPD/Marigold/Lotus: 训练用 generative loss,部署 1 步 / 0 步当 encoder;
- Fast-WAM: 训练 video co-train,部署 0 步扔掉 future video,video DiT 当 encoder。
三者 schema 同构。Fast-WAM 在 robot policy 这个 domain 里复制了同一个 trick。
洞察 4 — Video generation 可以充当 robot policy 的 pretraining objective¶
这是这场对话的高潮命题:
Video generation 任务可以替代"在大量带 action label 的机器人数据上预训练"这套昂贵 pipeline。 因为它只需要 video(互联网上无穷多),就能塑形出对 motion / dynamics 敏感的 encoder。
如果这个命题成立,影响是: - 不再需要 Open-X / GR00T 那种大规模 robot demo collection 来做 pretraining; - 任何 video generation foundation model(Wan / Cosmos / Sora)都可以直接当 robot policy 的初始化; - Fine-tune 阶段只需要少量 teleoperation 数据。
Fast-WAM 用 controlled ablation 给出了这条 thesis 的 第一份 evidence:在没有 embodied pretraining、只有 30k step fine-tune 的条件下,追平了带 embodied pretraining 的 LingBot-VA / Motus。
这其实就是论文标题那个反问 "do WAMs need test-time future imagination?" 的真正含义 —— 不需要,因为 video generation foundation model 已经在训练时把 robot policy 需要的所有东西编码进权重了。
4. 一段精炼的复述¶
把上面四条收成一句话:
Video generation foundation model 通过训练目标的塑形,把 motion / dynamics 先验编码进 backbone 权重;这套权重在被 robot data fine-tune 时,等价于做了一次低成本的 embodied pretraining;推理时只需 single forward 提取 \(z(o,l)\),就能拿到几乎全部 gain,因为 robot policy 中 "conditioning extraction" 本质是确定性映射,不需要 iterative sampling。
这一条话覆盖了: - 训练侧(co-train objective 塑形权重); - 推理侧(single forward 足够,diffusion 解耦使其可能); - 性能侧(替代 embodied pretraining); - 哲学侧(extraction vs sampling 的二分)。
5. 由此引出的 open question¶
讨论结束时几个仍然 open、值得后续实验的问题:
- Inference-time scaling 曲线 — 固定权重,让三种 path 各自加 compute budget(更多 denoising step),看 Pareto frontier。预测:Fast-WAM 给 action denoising 加 step 有用,给 video denoising 加 step 没用。这是上面 "extraction vs sampling 二分" 的可证伪预测。
- Long-horizon / deformable 任务上 imagination 是否回归 — 论文里 IDM 在 real-world towel folding 上 success rate 反而最高,是这个假设的早期信号。
- JEPA-WAM 的可能性 — 把 pixel-level video co-train 替换成 representation-level prediction(DINOv3-token-level),能否在更低算力下复制 Fast-WAM 的 gain?
- Scaling laws — 论文用 5B backbone。当 backbone scale 到 30B+ / 100B+ 时,test-time imagination 是否重新有价值(参照 LLM o1-style test-time compute trend)?
- 跨 embodiment transfer — 在大量 human / 互联网 video 上 video co-train,再跨到机器人 embodiment fine-tune — Fast-WAM 这套 i2v-based 架构对这种 transfer 是否友好?
- 辅助目标的替代 — inverse dynamics、masked autoencoding、optical flow prediction 能否在更低成本下替代 full video diffusion loss?若可以,连 video co-train 都不需要全套 diffusion。
6. 这场讨论给 Fast-WAM 论文本身的反向建议¶
如果让作者重写 §5,可以把现在那个 "video co-train > test-time imagination" 的 ablation framing 升级成 "diffusion as representation learning for robot policy" 的 thesis framing:
- 把 Marigold / Lotus / VPD 这条 perception-via-diffusion 线接进 related work;
- 把 §5 的发现重述成 "我们在 robot policy 这个 domain 复制了 MAE pattern:训练用 generative head,部署只用 encoder";
- 把 §6 future work 从 "scaling" 扩展到 "JEPA-style co-train" / "inference-time scaling curve" / "替代辅助目标"。
这样 paper 不再只是一个 negative ablation 报告,而是一个 positive thesis paper。读者拿走的东西就从"原来 imagine-then-execute 不必要"变成"我可以用 video generation 当 robot policy 的 free pretraining"。后者的传播力强得多。
参考¶
- 原论文笔记: Fast-WAM_summary.md
- 论文 PDF: paper.pdf
- 相关工作 — diffusion as perception encoder:
- VPD — Zhao et al., ICCV 2023
- DIFT — Tang et al., NeurIPS 2023
- Marigold — Ke et al., CVPR 2024
- Lotus — He et al., 2024
- 相关思想 — generative objective as representation learning:
- MAE — He et al., CVPR 2022
- I-JEPA — Assran et al., CVPR 2023
- VPP — Hu et al., 2024