最近一直在做WAM(World Action Model)这类模型的训练链路复盘,前前后后翻了近300篇相关工作的论文、技术报告和开源代码,再对照自己跑过的实验,最大的感受是:WAM模型的训练策略——数据、预训练与后训练这三块,每个环节的决策都会剧烈影响最终效果,而且很多决策点跟传统NLP模型、视觉模型的训练习惯并不完全一致。这篇文章就是想把我在调研和实操中沉淀下来的东西做个系统梳理,聊清楚数据怎么配、预训练怎么续、后训练怎么对齐,以及那些容易被忽略的细节。适合正在做世界模型、具身智能底座、多模态行动决策的同学参考。
1. WAM 模型到底是什么,为什么训练策略如此特殊
1.1 WAM 的定位:在感知、记忆与行动之间建立统一表示
WAM,也就是 World Action Model,是一类试图把"对世界的理解"和"采取行动的能力"统一进同一个模型架构的工作。它跟传统的多模态大模型不同,传统多模态模型主要做的是理解与生成,输出停留在文本或图像;WAM 则更强调闭环——模型不仅要看懂当前状态,还要能基于内部世界模型预测状态变化,并给出可执行的行动决策。
这个定位决定了它的训练策略必须同时兼顾三件事:感知能力的底座是否扎实、世界动态的预测是否准确、行动策略是否与真实环境对齐。任何一个环节掉链子,模型的整体表现都会塌下去。比方说,如果预训练阶段只堆了静态图片和文本数据,模型对"物体被推动后会怎么运动"这类物理动态缺乏先验,后训练阶段无论怎么做偏好优化都补不回来。
1.2 为什么数据、预训练、后训练三者要放在一起讨论
很多团队在训 WAM 模型时容易犯一个错误:把数据、预训练、后训练拆成三个独立环节来优化。数据团队只管凑数据量,预训练团队只管把loss训到收敛,后训练团队只管做SFT和DPO,最后拼在一起发现效果远低于预期。
我调研下来发现,做得好的工作几乎都是把三件事当成一个整体来设计的。数据配比会直接影响预训练阶段的收敛曲线,预训练保留的知识结构会决定后训练阶段要用多大的学习率、多少条指令数据才能激活,后训练阶段的评估结果又会反过来暴露数据层面哪个类别覆盖不足。这是一个闭环,不是三条并行流水线。
1.3 "近300篇调研"的几个代表性工作流派
为了不让讨论太空泛,我把调研到的工作粗略分成三个流派:
- 底座派:直接把强大的预训练语言模型或视觉语言模型作为初始化,重点做领域数据的继续预训练和任务适配,参数量偏大。
- 联合训练派:从较早期的checkpoint开始,用文本、图像、视频、动作轨迹联合训练,强调多模态对齐和世界动态建模。
- 环境交互派:强调在仿真环境或真实环境中通过在线交互采集数据,再用这些数据做持续的预训练和后训练,类似具身智能领域的"交互式学习"。
三个流派对数据的需求、预训练的比重、后训练的依赖都有明显差异。调研的一个核心发现是:训练策略的选择,比具体的模型结构改动对最终效果的影响更大。尤其是数据配比和后训练目标的设计,往往是决定成败的隐藏变量。
2. 数据策略:被绝大多数工作低估的"第一性"因素
2.1 数据来源:互联网语料、视觉视频、行动轨迹如何配比
我翻过的近300篇工作中,几乎每一篇都强调"数据质量比数据量重要",但真正做了系统消融实验的没几个。数据来源这块,WAM 模型通常需要三类数据:
- 文本语料:提供常识、语义理解、指令跟随的基础能力,常见来源是开源语料、书籍、百科、技术文档。
- 视觉与视频数据:提供空间结构、物体形态、运动规律的世界知识,常见来源包括开源视频数据集(比如 Kinetics、Something-Something)以及自动采集的视频数据。
- 行动轨迹数据:提供动作与结果之间的因果关联,通常来自仿真环境的交互日志、机器人操作记录、游戏回放、人工标注的动作序列。
三种数据不是简单混在一起就能用。很多工作的做法是设定一个比例区间,比如文本占 40% 到 60%,视频占 20% 到 30%,行动轨迹占 10% 到 20%,再根据验证集表现微调。我自己的实验体会是,行动轨迹数据的占比虽然不大,但对模型最终能否"动得起来"至关重要——它在预训练阶段就像给模型提供了一根"行为骨架"。
以开源的视觉语言数据集为例,像 COCO 这类静态图片数据能提供丰富的物体识别和空间关系信息,但模型很难从中学会动态变化。所以近几年的工作普遍引入视频数据,甚至在预训练阶段直接使用视频帧预测作为辅助目标,让模型隐式地学习物理规律。
2.2 数据清洗、去重与隐私处理的实际操作
数据清洗是调研中反复出现的高频话题。WAM 模型因为涉及行动决策,对数据中的错误信息和有害信息格外敏感,跟纯文本模型相比,清洗标准要更严格。
- 去重:文本数据和视频帧都需要做近似去重,不然模型会在重复模式上过拟合,导致泛化能力下降。常用的手段包括MinHash文本去重、视频帧的感知哈希去重。
- 质量过滤:用规则或小模型打分过滤低质量样本。比如文本侧用困惑度过滤,视觉侧用CLIP相似度打分,行动轨迹侧则重点检查"动作是否与状态描述一致"。
- 隐私处理:轨迹数据很容易包含敏感信息,比如室内场景中出现的人脸、屏幕上的个人信息、语音中的对话内容。这个环节不能省,业内常规做法是检测并模糊敏感区域。
数据清洗这块我想多说一句:别迷信"大模型自己会过滤噪声"。我在实验中见过不少情况,模型在干净子集上训练效果反而比全量数据更好。有一篇工作的做法很有意思,他们先训一个小模型,用它对候选数据进行置信度打分,然后只保留中等置信度的样本——低置信度样本多为噪声,高置信度样本则过于简单,训练收益低。这个"中间地带"策略我后来在自己的数据集上复现过,确实有效。
2.3 数据配比的调参与课程学习
数据配比不是一次定死的。调研中比较成熟的做法是采用"课程学习"的思路:训练早期让模型多接触文本和静态视觉数据,建立稳定的语义和视觉表征;训练中期逐步加大视频数据的比例,引入运动与变化信息;训练后期集中投入行动轨迹数据,引导模型把感知转化为决策。
我在实际项目中也采用了类似策略。具体操作上,先把全部数据按照上述顺序分成三个阶段的混合包,每个阶段的步数占比按 5:3:2 来分配,然后每隔一定步数评估一次下游任务表现,根据评估结果动态调整下一阶段的配比。这套流程看起来朴素,但比一股脑混在一起训到底要稳定得多。
还要注意"数据新鲜度"问题。WAM 模型涉及行动,而行动空间在不同场景下差异很大。如果训练数据过于集中在某类场景,模型在场景迁移时会明显退化。调研中有一篇具身智能工作提到,他们在数据中刻意混入了 5% 左右的跨场景数据(哪怕这些数据标注质量稍差),最终在未见过的环境中成功率提升了约 8%。这个比例不大,作用却很明显,属于典型的低投入高回报做法。
3. 预训练阶段:从零训练、继续预训练与多阶段训练的真实取舍
3.1 底座模型怎么选:开源预训练模型 vs 从零开始
关于要不要从零开始训 WAM 模型,调研结论比较一致:绝大多数工作选择站在已有预训练模型的肩膀上,而不是从随机初始化开始。原因很务实——从零训练需要的数据量和算力规模太大,一般人根本扛不住。
在有底座的前提下,选型同样有讲究。纯文本任务为主的工作通常选择语言模型底座;需要处理视觉输入的工作一般选择视觉语言模型或带视觉编码器的底座。以中文场景为例,很多工作直接用中文 RoBERTa 或 ChatGLM 系列的权重初始化,再用领域数据继续预训练;视觉侧则常见以预训练 ResNet 或 ViT 作为视觉编码器,例如此前检测模型训练中常用的 COCO 预训练权重,做迁移时把这些权重加载进来,比随机初始化收敛快得多。
这里有一个容易踩坑的点:底座的预训练数据分布与 WAM 目标数据分布差异过大时,继续预训练的效果会大打折扣。我见过有人直接把一个纯文本底座拿去做行动决策,模型对视觉输入完全没有对齐基础,后面补再多的图文对齐数据都费劲。建议先做一个小规模的"领域适配预训练",让底座先见到目标领域的数据分布,再进入正式的预训练阶段。
3.2 预训练目标设计:不只是"下一个词预测"
WAM 模型的预训练目标跟普通语言模型差异明显。除了常见的文本自回归损失,调研中的工作通常还会加入几类辅助目标:
- 视觉-语言对比学习:拉近图像与对应文本描述的表征距离,保证模型对视觉信号有基本的感知能力。
- 视频帧预测:给定前几帧,预测下一帧的隐层表示或离散特征,让模型隐式学习运动和物理规律。
- 动作-状态一致性建模:在轨迹数据上预测当前状态下的合理动作,或者给定动作预测下一状态,建立"状态转移"的因果模型。
这些辅助目标的配比需要谨慎。辅助目标过多会稀释文本理解的信号,导致模型语言能力退化;太少则无法形成有效的行为先验。我的经验是,辅助目标的总loss占比控制在 20% 到 30% 之间比较合理,具体数值要通过消融实验确定。
另一个关键点是分阶段预训练。有些工作把预训练分成"通用对齐阶段"和"任务适应阶段":先在大规模通用数据上做对齐,再用中低质量但覆盖面广的任务数据做适应。这样做的好处是,模型先建立通用能力,再接触任务数据时不容易出现灾难性遗忘。
3.3 预训练稳定性的实际问题:损失震荡、灾难性遗忘与学习率
预训练阶段最常见的问题是损失震荡和灾难性遗忘。
损失震荡大多出在多模态数据混合训练时。文本数据与视频数据的收敛速度不一致,视频帧预测任务往往收敛得慢,拖累整体loss,表现为训练曲线在某个阶段反复波动。我试过比较有效的做法是把视频数据的采样权重做"课程式"提升——起初占比很小,随着训练步数增加逐步调高,给模型一个适应的时间窗口。
灾难性遗忘则发生在从一个阶段切到另一个阶段时。尤其从通用数据阶段切换到任务数据阶段,模型对通用任务的表现往往会明显下滑。调研中的主流对策是:在新阶段的数据中加入一定比例的旧阶段数据,比例通常设在 10% 到 20% 之间,类似"经验重放"。另一个实用技巧是把旧阶段数据做成固定的小批量(比如每个batch固定混入8条通用样本),比单独按比例采样更稳定。
学习率策略方面,WAM 模型的预训练普遍采用"先warmup再余弦衰减"的调度,这一点跟大部分大模型训练一致。但有一个细节值得注意:warmup步数不宜过长,我调研到的工作中多数把warmup控制在总步数的 1% 到 2%,过长的warmup反而会让辅助目标loss占主导,导致主任务收敛变慢。
4. 后训练阶段:从 SFT 到偏好优化的闭环搭建
4.1 指令数据的构建:数量重要,但"分布"更重要
后训练的第一步通常是有监督微调(SFT)。很多团队把SFT理解成"拿一堆指令让他跟着学",于是在数据构建上只追求数量,这是后训练阶段最大的误区。
调研中的优质工作,在构建SFT数据时重点控制的是分布,而不是绝对数量:
- 任务分布:覆盖的决策任务要广,包括目标导航、物体操作、多步推理、指令跟随等,避免模型只擅长某一类任务。
- 难度分布:简单、中等、困难样本的比例要有梯度。全是简单样本,模型学不到长程推理和纠错能力;全是困难样本,训练不稳定且收敛慢。
- 格式分布:单轮指令、多轮对话、带视觉上下文的任务描述,比例要与真实使用场景匹配。
SFT数据的质量要求也比很多人想象的高。指令里哪怕存在少量错误标注(比如物体位置标错),模型也会很快学到这些错误模式。我自己的粗估是,对于100万量级的SFT数据,引入 1% 的错误标注,模型在相关能力维度上的表现会下降 3% 到 5%。所以SFT数据的清洗和人工抽检环节绝不能省。
4.2 偏好优化:DPO 与 RLHF 的实际选择
SFT之后进入偏好对齐阶段。这个环节的目的是让模型不只是"能做",还要"知道什么行为更好"。调研中主流方案有两种:RLHF 和 DPO,近两年 DPO 及其变体由于训练成本低、过程稳定,使用比例明显上升。
RLHF 的四件套:训练奖励模型、采样策略响应、用 PPO 优化策略、定期打回复合集。它的好处是可控性强,可以通过奖励模型精细调整行为偏好,但工程负担重,PPO 的不稳定性也让很多人头疼。
DPO 则不同,它直接利用偏好对数据优化策略,不需要独立训练奖励模型,也不需要在线采样,训练过程稳定得多。我实测下来,DPO 在 WAM 行动决策任务上的表现跟 RLHF 接近,但对偏好对数据的质量更敏感——如果偏好对里"更好"与"更差"的差异不明显,DPO 学到的偏好信号会非常微弱。
偏好对数据怎么构造,这里有一个重要经验:不要只拿模型自己采样的结果做偏好对,那样容易陷入模型的既有偏好。更好的做法是混合多种来源——人工演示、行为克隆策略的采样结果、环境交互中成功率高的轨迹,与失败轨迹组成偏好对。数据来源越多样,对齐出的行为越稳健。
4.3 后训练评估的"回归陷阱"与多任务平衡
后训练阶段最容易出现的问题是"评估集回归"。团队花了大量精力做SFT和偏好对齐,模型在目标评估集上的分数涨了,但一放到开放场景里表现反而下降。这就是典型的评估分布过窄导致的过拟合。
我的建议是做三层评估体系:
- 第一层,核心任务集:跟业务目标最相关的几个任务,指标直接反映项目KPI。
- 第二层,能力保持集:检查模型在预训练阶段保留下来的通用能力是否退化,比如常识问答、物体识别、指令跟随。
- 第三层,探索集:随机采样一些训练分布之外的场景,人工评估模型行为是否合理,用来发现系统性偏差。
多任务平衡方面,不同任务的SFT数据量不应该平均分配。一个常规策略是按任务重要性加权,核心任务给足数据量,辅助任务保证基本覆盖。调研中有不少工作采用"最低采样量 + 重要性重采样"的方案:每个任务至少保留一定数量的样本,超过阈值的任务按照重要性的幂次进行降采样,防止高频任务主导训练。
5. 训练参数与资源分配:那些容易被忽略的隐性成本
5.1 超参数配置:学习率、Batch Size 与梯度累积的实测经验
后训练阶段的学习率与预训练阶段差异很大,很多翻车现场都是因为用了一套学习率打天下。预训练阶段学习率通常在 1e-4 到 3e-4 区间,SFT阶段要降到 1e-5 到 3e-5,偏好优化阶段则更低,一般在 1e-6 到 1e-5 之间。原因不难理解:预训练阶段要大幅改动参数,后训练阶段只需要在原基础上微调行为偏好,学习率过大会把预训练学到的好结构冲掉。
Batch size 的选择上,除了要看显存和吞吐,还要考虑数据分布。多模态混合数据的情况下,batch size 太小会让每个batch内各模态样本数量波动太大,影响训练稳定性;经验值是把batch size设到能让每个batch至少包含 8 到 16 条视频数据,这样辅助损失计算得才稳定。
梯度累积是解决显存不足的常规手段,但有一个值得注意的细节:累积步数不宜超过 8 步,否则参数更新间隔过长,等效学习率会被人为放大,需要同步调低学习率作为补偿。很多人在 16 步累积时不调学习率,结果训练曲线奇怪地一路飙升,就是这个原因。
5.2 训练工程中的性能瓶颈:数据加载与存储
训练资源的浪费往往不在GPU计算本身,而卡在数据读取和预处理。WAM 模型的数据链路比较重:视频数据要抽帧、图片要缩放、轨迹数据要解析,如果数据加载线程跟不上GPU的消费速度,GPU利用率只能干瞪眼掉下去。
调研里跑得好的工作,数据管线都做得比较精细。我自己的做法是把预处理后的样本先落盘成高效的二进制格式(比如TFRecord或WebDataset),避免训练时反复做解码和增强。数据增强也要分阶段考虑:预训练阶段可以做强增强(随机裁剪、颜色扰动、时序抖动),SFT阶段则建议减弱增强强度,因为指令数据对语义精确性要求高。
还有一个容易被忽视的点:训练日志和评估结果的存储管理。训练一个WAM模型动辄数周,中间会产出大量checkpoint、评估指标、日志数据。我见过团队因为日志数据存储混乱,事后根本无法回溯"哪个超参数组合产生了哪个结果",等于白跑了一轮实验。建议从一开始就用规范的本地文件或数据库把指标、配置、数据版本一一关联起来,这些数据的备份与恢复策略也要提前想好,不然一次磁盘故障就前功尽弃。
6. 近300篇调研的共性规律与我的实操建议
6.1 高质量工作与低质量工作的分水岭在哪里
看完近300篇工作,我越来越觉得"高质量"与"低质量"的分水岭不是模型结构多先进,也不是参数量多大,而是三件事做没做到位:
- 数据层面的系统消融:有没有做数据配比、清洗策略的对比实验,还是直接拍脑袋上全量数据。
- 预训练与后训练的分工边界:有没有明确哪些能力靠预训练获得,哪些行为靠后训练对齐,边界清晰的工作往往翻车更少。
- 评估的完整程度:有没有做能力保持和探索性评估,还是只盯着一个测试集刷分。
这几个特征跟论文的发表档次没有必然关系,有些技术报告虽然篇幅短,但在这三点上做得很扎实,反而参考价值更高。
6.2 我自己踩过的三个坑
第一个坑是在数据配比上盲调。早期我凭感觉把行动轨迹数据的比例调高到 30%,以为"决策任务当然要多给行动数据",结果预训练loss迟迟不降,下游任务分数反而下降。后来才意识到,行动轨迹数据的高频模式会掩盖文本和视觉数据的多样性,导致模型过拟合到行为模式上,缺乏世界知识支撑。正确做法是先保证文本和视觉表征足够丰富,再逐步引入行动数据。
第二个坑是后训练阶段用同一个SFT数据集反复迭代。第一轮SFT效果不错,到第二轮、第三轮时指标提升越来越小,甚至出现能力倒退。后来参考调研中的做法,每一轮SFT都会重新构造数据——上一轮模型表现不好的样本加重采样权重,表现好的样本适度降权,实现数据的"滚动升级"。
第三个坑是过度信任公开数据集的标注质量。像 DOTA、HRSC2016、CrowdHuman 这类视觉数据集,标注误差并不少见。我一开始直接用原始标注做训练,模型在某些类别的表现总是忽高忽低,排查了半天才发现是标注边界不统一。后来加了严格的标注抽检和边界修正步骤,问题才缓解。这个教训让我后来在引入任何公开数据集之前都会先做一轮标注质量抽检,绝不默认"公开的就是干净的"。
6.3 给正在做WAM训练的同学的清单式建议
基于这次调研,如果要我给一个刚起步的团队三条最核心的建议,我会说:
- 数据先行,小规模预验证后再放大。先在小规模数据上把清洗规则、配比方案、课程策略跑通,再上大规模训练,省下的算力成本远超前期那点验证时间。
- 预训练要"够用即可",后训练才是提分关键。除非你在做全新的训练范式,否则不要在预训练阶段无限堆算力;大部分实际问题靠精心设计的数据和后训练就能解决。
- 评估体系要从第一天就搭好。不仅仅是任务指标,还要有通用能力保持集和探索性评估集,否则你根本不知道模型什么时候悄悄变"笨"了。
关于WAM训练策略的这轮调研,我最终悟到一个道理:模型的上限由数据和预训练决定,但能不能把上限变成实际可用的效果,基本由后训练的质量决定。这中间的每一环,都值得像做实验一样认真对待。最后再分享一个小技巧:每次调整训练策略时,只改一个变量,并且把"改前"与"改后"的完整评估结果记录下来。坚持一个月,你手里积累的对比数据会比任何论文附录都有价值。