Skip to content

单独微调 System2 (VLM)与部署策略讨论 #312

@clairetsai1222

Description

@clairetsai1222

讨论总结

1. 核心问题

如何在保留 System1 (S1) 功能的前提下,对 System2 (S2) 进行独立的后训练或微调,以适配特定数据集,并最终实现 S2 与原始 S1 的联合部署。

2. 关键技术点

  • 联合训练后的 DualVLN 模型组件的分离性

    System1 (NV): 在 DualVLN 模型中,S1 经过联合训练后,其权重与 S2 高度耦合,无法直接独立使用。
    System2 (VLM): 可以从 DualVLN 模型中分离出来独立使用,但其效果无法得到保证,因为它在联合训练中可能已经适应了特定的输出模式(如生成 latent feature 和 pixel goal)。

  • 微调策略建议

    若沿用官方预训练的 S1: 仅微调 S2 是不足的,S1 在推理时未见过由一个新微调过的 S2 所产生的 latent feature,这会导致导航性能显著下降。

3. 推荐的 S2 微调路径:

  1. 获取初始权重: 从 InternVLA-N1-DualVLN 检查点中提取 S2 部分的纯净 VLM 权重(例如,基于 QwenVL 的部分)
  2. 后训练: 基于上述纯净权重,使用开发者自己的数据集进行训练。

实现方法: 可以参考 train_dualvln 脚本的逻辑,但在训练过程中冻结 S1 参数,仅更新 S2,可选择采用 PEFT(如 LoRA)等低侵入性的微调范式以减小对原始权重的破坏。

4. 长期优化方向
联合微调: 当算力资源充足时,最理想的方法是对 S1 和 S2 进行端到端的联合微调,这样可以确保两个系统之间的表征空间(尤其是 S2 输出给 S1 的 latent)保持一致性和最优性,避免因 S2 单独微调而导致的潜在向量空间漂移问题。

具体问答内容

【我】您好,请问一下我使用 InternVLA-N1-DualVLN 和 InternVLA-N1-w-NavDP 是否能只微调 System2, 还是我应该微调 InternVLA-N1-System2 ,在部署时将 InternVLA-N1-System2 + NavDP 推理呢?我打算在 System2 (VLM)上进行后训练,再双系统部署到实机和仿真中,目前不考虑在双系统上进行微调,但是我发现双系统联合微调后的模型可能是无法拆分 System1 和 System 2 的,所以来询问一下


【作者回复】在代码中单独分离开来s2系统也是能用的,但是效果不保证。我们在比较早期的时候试过直接用pixel goal来转到3d waypoint来做导航。

cotrain后s2输出会是latent和pixel goal,latent feature作为下游navdp的输入。

所以双系统的release的模型中,s1是不能直接用的,s2可以试一下直接用


【我】我们这边不是想要单独使用,是希望能在贵团队优秀的结果上进一步研究,当前目标是只训练后 System2,并用 System2(我们的后训练) + System1进行测试,所以想请问用什么样模型版本去训练 System2 并测试是最合适的


【作者回复】假如你用我们的s1的话,那么只调s2是不够的。因为s1接的latent变了的话,他没见过这种latent大概率走不好


【作者回复】假如你打算自己train s2,建议可以把dualvln的s2干净的qwenvl权重给分离开来,基于这个权重基于用你们的数据train


【我】非常感谢您的回复,这部分我可以理解为,相当于在 dualvln checkpoinit 上仿照 train dualvln script 训练 system1 的方式,但更变为冻结 system1,尝试用PEFT(如LoRA等)或其他破坏性小的微调范式来训练 system2 ?如果后面有更多的算力,最好尝试 dual system 联合训练(为了尽可能避免 system2 生成 latent 向量空间偏移)


【作者回复】是的

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions