ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

EasyWAM-Unified-Wan22项目详解:基于Wan2.2视频DiT的统一世界动作模型检查点全览

EasyWAM-Unified-Wan22项目详解:基于Wan2.2视频DiT的统一世界动作模型检查点全览

EasyWAM-Unified-Wan22项目详解:基于Wan2.2视频DiT的统一世界动作模型检查点全览

🤖EasyWAM-Unified-Wan22是 OpenMOSS 团队开源的统一世界动作模型(World-Action-Model)检查点仓库:它基于Wan2.2-TI2V-5B 视频生成 DiT,用单条 Video DiT 主干同时表示并去噪"视频 + 动作"两类 token,在 LIBERO 机器人评测中取得98.6%平均任务成功率。本文带你快速看懂这个仓库里有哪些检查点、它们能干什么、如何下载和评测。


一、30 秒理解:EasyWAM-Unified 是什么?

传统"世界动作模型"(World Action Model)通常要把"视频预测"和"动作预测"拆到不同模块里处理;而EasyWAM-Unified 走的是"一体化"路线:

  • ✅单一 Video DiT 主干:视频 token 与动作 token 一起进入同一个 Transformer;
  • ✅双向自注意力耦合:两种模态通过同一组 self-attention 层互相"看见"对方,信息交换是双向的;
  • ✅基座来自 Wan2.2-TI2V-5B:复用了阿里 Wan2.2 系列文生/图生视频模型(TI2V-5B)的预训练权重,天然具备强大的视频先验;
  • ✅配套 EasyWAM 代码库训练:所有检查点均由 EasyWAM 统一框架产出。

一句话概括:让"看视频"和"做动作"在同一个网络里同步发生。

二、仓库文件全览:一共就 4 个文件

这个仓库非常干净,只包含模型资产与说明文档:

文件作用说明
README.md项目说明文档模型介绍、评测结果、下载与评测命令
libero_unified_wan22.pt全参数检查点EasyWAM PyTorch 格式(.pt),LIBERO 任务全量训练产物
libero_unified_wan22_lora_128.ptLoRA 检查点rank 128、alpha 128,仅存可训练部分,体积更友好
libero_dataset_stats.json归一化统计量推理/评测时必需,包含 state 与 action 的 min/max、q01/q99、mean/std

几个关键细节:

  1. LoRA 检查点 ≠ 完整模型。libero_unified_wan22_lora_128.pt里只保存了 LoRA 适配器和其他可训练的 EasyWAM 模块,不包含完整的 Wan2.2 主干权重。使用前必须单独下载 Wan2.2-TI2V-5B 基座并配置好路径(详见 EasyWAM 官方的 Wan2.2 backbone 指南)。
  2. 必须用匹配的 task recipe 加载:LoRA 检查点要用libero_easywam_unified_wan22_lora任务配置加载,全参数版则用libero_easywam_unified_wan22。
  3. 状态 token 放置方式为sequence:评测时所有结果统一采用state_position: sequence协议。
  4. 许可证注意:EasyWAM 代码是 MIT 协议,但本仓库发布的检查点采用 CC BY-NC 4.0 协议(非商业使用),且受基座模型及训练数据的条款约束。

三、LIBERO 评测成绩单:98.6% 平均成功率有多强?

LIBERO 是机器人操作领域常用的基准套件,包含Spatial(空间)、Object(物体)、Goal(目标)、LIBERO-10(综合)四个子集。下表数据来自 README.md:

🏆 全参数(Full-Parameter)

模型SpatialObjectGoalLIBERO-10Avg.
🔥EasyWAM-Unified98.498.899.298.098.6
EasyWAM-MoT97.099.296.694.096.7
EasyWAM-MoT-Joint98.298.097.696.897.7
EasyWAM-MoT-IDM99.099.298.897.498.6
EasyWAM-Hidden99.2100.097.898.298.8

可以看到,Unified 架构以"单一 DiT 主干"的简洁设计,追平了更复杂的 MoT-IDM 方案,并明显超过基础 MoT(+1.9 个百分点)。

🪶 LoRA 版(Rank 128)

模型SpatialObjectGoalLIBERO-10Avg.
🔥EasyWAM-Unified91.298.891.866.287.0
EasyWAM-MoT96.899.697.490.095.9
EasyWAM-Hidden98.099.889.486.693.5

客观地说:LoRA 版在 LIBERO-10(长程综合任务)上短板较明显(66.2%),但 Object 子集依然高达 98.8%,说明小参数适配对简单操作类任务已经够用。

🌍 LIBERO-Plus:抗扰能力测试(仅全参数)

LIBERO-Plus 专门测试模型在背景变化、相机变化、光照、噪声等干扰下的鲁棒性:

模型BackgroundCameraLanguageLayoutLightNoiseRobotAvg.
🔥EasyWAM-Unified72.354.893.783.497.072.083.479.0
EasyWAM-MoT64.545.571.480.194.778.571.571.7
EasyWAM-MoT-Joint60.947.389.780.592.468.975.973.3
EasyWAM-MoT-IDM62.252.094.182.093.267.878.075.3
EasyWAM-Hidden59.357.093.284.395.070.883.777.6

亮点解读:

  • 平均分79.0,在五个对比架构中排名第一,比最强的 EasyWAM-Hidden 还高出 1.4 个百分点;
  • Light(光照变化)子集高达 97.0,几乎不受影响;
  • 相对而言Camera(相机位姿变化,54.8)和 Noise(噪声,72.0)是当前主要失分点,也是后续优化方向。

四、如何下载检查点?三步走

第 1 步:克隆仓库(可选)

git clone https://gitcode.com/OpenMOSS/EasyWAM-Unified-Wan22

第 2 步:从 Hugging Face 下载模型文件

hf download OpenMOSS-Team/EasyWAM-Unified-Wan22 \ libero_unified_wan22.pt \ libero_unified_wan22_lora_128.pt \ libero_dataset_stats.json \ --local-dir ./checkpoints

第 3 步:准备 EasyWAM 环境

  1. 安装 EasyWAM 代码库并准备Wan2.2-TI2V-5B 基座权重(LoRA 检查点尤其必需);
  2. 按照 EasyWAM 官方文档配置 Wan2.2 backbone 依赖与 LIBERO 仿真器环境;
  3. 将dataset_stats_path指向刚下载的 libero_dataset_stats.json。

五、如何运行 LIBERO 评测?

在 EasyWAM 代码库根目录下,执行对应检查点的评测命令:

全参数检查点:

python experiments/libero/run_libero_manager.py \ task=libero_easywam_unified_wan22 \ ckpt=./checkpoints/libero_unified_wan22.pt \ EVALUATION.dataset_stats_path=./checkpoints/libero_dataset_stats.json

LoRA 检查点:

python experiments/libero/run_libero_manager.py \ task=libero_easywam_unified_wan22_lora \ ckpt=./checkpoints/libero_unified_wan22_lora_128.pt \ EVALUATION.dataset_stats_path=./checkpoints/libero_dataset_stats.json

💡小贴士:

  • 默认协议会对 4 个 LIBERO 子集的每个任务各跑50 次试验,整体耗时较长;
  • 多卡用户可加MULTIRUN.num_gpus=<gpu数量>参数,把评测任务分发到多张 GPU 上并行跑;
  • 两个task=参数名不要写反——这是加载 LoRA 时最容易踩的坑。

六、dataset_stats.json 里存了什么?

libero_dataset_stats.json 是推理阶段的"标尺",用于把原始状态/动作数值归一化到模型熟悉的分布范围内。它以state和action两大板块组织,每块都包含:

  • stepwise_min/stepwise_max:逐帧统计的最小/最大值(32 步、每步一个向量);
  • global_min/global_max:全局最小/最大值;
  • stepwise_q01/stepwise_q99(及 global 版本):1% 与 99% 分位数,常用于更稳健的归一化;
  • stepwise_mean/stepwise_std(及 global 版本):均值与标准差。

从数据可以直观看到:LIBERO 的state 是 8 维(含末端位置、姿态与夹爪状态等),action 是 7 维(典型 6 自由度末端增量 + 1 维夹爪开合),动作范围大多落在[-1, 1]附近。

七、FAQ:新手常见问题

Q1:LoRA 检查点为什么比全参数版小那么多,却不能直接用?A:LoRA 只保存 rank 128 的低秩适配矩阵和少量可训练模块,Wan2.2 主干(数十亿参数)需要另外下载,加载时再合并。

Q2:我应该选全参数版还是 LoRA 版?A:追求最高成功率 → 全参数(Avg. 98.6%);显存/存储紧张、或希望在自己数据上继续微调 → LoRA 版(Avg. 87.0%,且体积友好)。

Q3:这个检查点能商用吗?A:不能。检查点为CC BY-NC 4.0(非商业)协议,请遵守条款;EasyWAM 代码本身是 MIT 协议。

Q4:state_position 参数有什么讲究?A:本仓库所有公开结果均基于state_position: sequence协议复现,复现评测时保持一致即可。

八、总结

📌EasyWAM-Unified-Wan22 的核心价值可以浓缩为三点:

  1. 架构简洁:单 Video DiT 统一视频与动作 token,双向注意力耦合,避免了多模块拼接的复杂性;
  2. 成绩过硬:LIBERO 全参数平均98.6%,LIBERO-Plus 鲁棒性评测五架构第一(79.0%);
  3. 开箱即用:全参数 + LoRA 双检查点,配合标准 PyTorch 格式与归一化统计文件,下载即可评测。

如果你正在研究"视频生成模型 × 机器人操作"这条世界动作模型路线,这个仓库是一个很好的起点——建议从全参数检查点的 LIBERO 评测跑通开始,再尝试用自己的数据微调 LoRA 版本。

引用格式(如果你用它做了研究):

@misc{easywam2026, title = {EasyWAM: A Unified and Efficient Framework for Training and Evaluating World Action Models}, author = {EasyWAM-Team}, year = {2026} }

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进