World-in-World

已接入

使用 WorldFoundry 仓内运行器归一化 World-in-World closed-loop utility metrics。

本页内容

评测什么

World-in-World 用闭环具身效用评测 visual world model,而不是 open-loop 视频外观。具身环境中的 task success 是主信号——高视觉质量不等于高任务成功率。

Benchmark 设计

任务主指标测试内容
Active Recognition (AR)active_recognition_success_rate探索场景并识别目标物体
Image-Goal Navigation (IGNav)image_goal_navigation_success_rateimage_goal_navigation_spl到达图像指定目标并兼顾路径效率
Active Embodied QA (AEQA)active_embodied_qa_scoreactive_embodied_qa_spl在导航过程中高效回答问题
Robotic Manipulationrobotic_manipulation_success_rate闭环操作任务成功率

平台提供统一 online planning 策略和标准化 action API。官方项目的关键发现:controllability 比画面质量更重要;action-observation post-training scaling 比升级预训练生成器更有效;更多 inference-time rollout 能提升闭环表现。

简介

World-in-World 评测 visual world model 的闭环具身效用,而不只看 open-loop 视频外观。任务族包括 Active Recognition、Image-Goal Navigation、Active Embodied QA 和 Robotic Manipulation。

WorldFoundry 已经把 benchmark adapter 和 metric aggregation code 放在仓内:

worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_runtime.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_official_runtime.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/world_in_world_metrics.py
worldfoundry/evaluation/tasks/execution/runners/world_in_world/runtime/official
worldfoundry/data/benchmarks/assets/world-in-world

正常使用 WorldFoundry 评测时,用户不应该 clone official repos。上游 World-in-World README 是生成 rollout 和 task summary 的协议参考。WorldFoundry 当前消费这些 summary 并写出 normalized scorecard;它不会启动 Habitat、VLM、SAM2、world-model 或 manipulation servers。

协议参考:

准备数据和资产

从 WorldFoundry 仓库根目录开始:

cd /path/to/WorldFoundry
export WORLDFOUNDRY_REPO_ROOT="$PWD"
export PYTHONPATH="$WORLDFOUNDRY_REPO_ROOT:${PYTHONPATH:-}"

WorldFoundry 为默认 AEQA 路径内置了 OpenEQA prompt assets:

worldfoundry/data/benchmarks/assets/world-in-world/
  subtrees/open-eqa/data/open-eqa-184.json
  subtrees/open-eqa/data/open-eqa-41.json
  sample_results.csv

如果需要更完整的 AR、IGNav、AEQA 或 manipulation evidence,准备一个本地 asset root。runner 可以通过 WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT 读取 task manifests:

export WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT=/path/to/world-in-world/assets

hf download zonszer/WIW_datasets \
  eval_datasets/AR/episodes_AR.json.gz \
  eval_datasets/IGNav/episodes_IGNav.json.gz \
  eval_datasets/IGNav/igdataset_goal_imgs.zip \
  eval_datasets/AEQA/episodes_AEQA.json.gz \
  --repo-type dataset \
  --local-dir "${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/WIW_datasets"

如果使用上游 rollout workflow 生成 summary,还需要准备该 workflow 依赖的 scene 和 policy assets:

${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/scene_datasets/hm3d/val/
${WORLDFOUNDRY_WORLD_IN_WORLD_ASSETS_ROOT}/data/scene_datasets/mp3d/
AR 和 AEQA 使用时需要的 SAM2 或 Grounding SAM2 weights
VLM policy checkpoints 或 hosted VLM credentials
rollout server 使用的 world-model checkpoints
使用 manipulation 时需要的 simulator assets 以及 3D-Diffuser/OpenPI checkpoints

设置生成产物和结果 summary:

export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/world-in-world/generated_artifacts
export WORLDFOUNDRY_WORLD_IN_WORLD_RESULTS_PATH="${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}/world_in_world_metrics.json"
export WORLDFOUNDRY_WORLD_IN_WORLD_TASK=AEQA

生成产物目录应包含 metrics.jsonworld_in_world_metrics.json。可选视频用于 prompt coverage checks,文件名应使用 prompt id:

/path/to/world-in-world/generated_artifacts/
  world_in_world_metrics.json
  f2e82760-5c3c-41b1-88b6-85921b9e7b32.mp4
  traces/
    f2e82760-5c3c-41b1-88b6-85921b9e7b32.json

结果 summary 可以是带直接 metric ID 或 task summary 的 JSON object,也可以是包含 metric_id,score columns 的 CSV。对于 task summary,runner 会把 accuracy 映射到 Active Recognition,把 srspl 映射到 IGNav,把 mean_scoremean_efficiency 映射到 AEQA,把 success_rate 映射到 Manipulation。

运行命令

直接仓内 runner 会读取 generated artifact directory 下的 metrics:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py \
  --run-official \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --task "${WORLDFOUNDRY_WORLD_IN_WORLD_TASK}" \
  --output-dir tmp/world-in-world/direct-official-run \
  --json

通过直接 runner 导入显式结果文件:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/world_in_world/run_world_in_world_official_runner.py \
  --official-results-path /path/to/world_in_world_metrics.json \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --task "${WORLDFOUNDRY_WORLD_IN_WORLD_TASK}" \
  --output-dir tmp/world-in-world/direct-official-validation \
  --json

使用公开 CLI 的 in-tree run path:

worldfoundry-eval zoo benchmark-run \
  --benchmark-id world-in-world \
  --mode official-run \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/world-in-world/official-run \
  --json

使用公开 CLI 导入已有 result summary:

worldfoundry-eval zoo benchmark-run \
  --benchmark-id world-in-world \
  --mode official-validation \
  --official-results-path /path/to/world_in_world_metrics.json \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/world-in-world/official-validation \
  --json

指标

World-in-World 主要指标都是越高越好。rate 和 normalized score 在 WorldFoundry 中按 0 到 1 报告。

Metric ID含义
active_recognition_success_rate探索场景并识别目标物体的成功率。
image_goal_navigation_success_rateIGNav episode 到达图像指定目标的比例。
image_goal_navigation_spl按路径效率加权的 IGNav 成功率。
active_embodied_qa_scoreactive embodied QA 的平均回答正确率。
active_embodied_qa_spl按路径效率加权的 active embodied QA 分数。
robotic_manipulation_success_rate从提供的结果 summary 读取的 manipulation task 成功率。
interaction_trace_consistency提供该信息时,预测交互轨迹与执行轨迹的一致性。
world_in_world_average可用 utility metrics 的平均值,也是 WorldFoundry primary score。

如果 summary 中包含 FVD、SSIM、PSNR、LPIPS 等 video-quality values,仓内 parser 可以把它们放入 component metadata,但它们不属于上表的 primary metric order。

输出布局

直接 --run-official 会写出:

tmp/world-in-world/direct-official-run/
  scorecard.json
  raw_metric_table.jsonl
  world_in_world_metrics.json

直接显式结果导入会写出:

tmp/world-in-world/direct-official-validation/
  scorecard.json
  raw_metric_table.jsonl

公开 CLI 运行还会在指定输出目录下写出 runner_runtime_report.json 和 specialized runner stdout/stderr logs。稳定消费时以 scorecard.jsonraw_metric_table.jsonl 为准。

Runtime 说明

World-in-World worker 启动配置由环境变量驱动,不包含机器本地 conda 路径。 worker command 默认使用当前 Python 解释器和仓内相对脚本。使用 WORLDFOUNDRY_WORLD_IN_WORLD_<WORKER>_CMD 覆盖整个命令,或用 WORLDFOUNDRY_WORLD_IN_WORLD_<WORKER>_PYTHON 只覆盖解释器。Checkpoint 变量使用 同一前缀,例如 WORLDFOUNDRY_WORLD_IN_WORLD_SAM2_WORKER_CKPT_PATHWORLDFOUNDRY_WORLD_IN_WORLD_SAM2_WORKER_CFG_PATHWORLDFOUNDRY_WORLD_IN_WORLD_FTWAN21_WORKER_LORA_PATHWORLDFOUNDRY_WORLD_IN_WORLD_NWM_WORKER_CKPT_PATH

限制

  • 当前 WorldFoundry runner 是 result-summary adapter。它不会启动 closed-loop rollout servers、VLM policy servers、SAM2 services、Habitat-sim 或 manipulation simulation。
  • 仓内只 bundled AEQA OpenEQA prompt lists。需要 AR、IGNav episode files、scene datasets 和 manipulation assets 时必须在本地准备。
  • leaderboard parity 需要 AR、IGNav、AEQA、Manipulation 的完整官方 task summaries,以及匹配的 generated videos 或 rollout artifacts。
  • 上游 workflow 的 AEQA scoring 可能依赖 LLM judge credential。这里的 WorldFoundry 命令导入已完成的 score summary,而不是调用该 judge。
  • interaction_trace_consistency 只有在提供的 result summary 包含 trace-consistency evidence 或直接 metric value 时才会报告。

← 返回 Benchmark Hub