WorldModelBench

已接入

使用 WorldFoundry 仓内 evaluator 和 VILA judge 路径运行 WorldModelBench。

本页内容

简介

WorldModelBench 判断生成视频是否表现出 world model 能力。它包含 350 个公开 test instances,覆盖 7 个 domain 和 56 个 subdomain。每个 instance 提供首帧描述、指令和首帧图像。text-to-video 模型使用描述加指令;image-to-video 模型使用首帧加指令。

WorldFoundry 已在 worldfoundry/evaluation/tasks/execution/runners/worldmodelbench 中包含 WorldModelBench evaluator wrapper 和 runtime。使用 WorldFoundry 时不要 clone 官方 repo;你仍需要准备数据资产和 VILA judge checkpoint。

评测什么

WorldModelBench 判断视频生成器是否具备 world model 能力——不仅画面是否好看,还要考察 instruction following、时序常识和物理规律。benchmark 用 67K 人工标注训练 human-aligned VILA judge 做自动评测。

Benchmark 设计

维度覆盖范围计分
Domain7 个应用领域、56 个子域、350 个公开 prompt每个 domain 50 个 prompt
Instruction following物体、主体与预期运动是否对齐每个 instance 0–3 分
Common sense时序连贯性与逐帧美学每个 instance 0–2 分
Physical adherence牛顿运动、固体力学、流体力学、不可穿透性、重力每个 instance 0–5 分
Prompt首帧描述 + 指令 + 首帧图像T2V 用文本;I2V 用图像 + 指令

Physical adherence 重点捕捉 size drift、异常形变、不合理流体、物体穿透、重力不一致等 generic 视频指标容易漏掉的 subtle violations。

官方参考

Leaderboard 说明

公开 leaderboard 报告 Instruction Following、Physics Adherence、Common Sense 和 Total Score。官方答案与解释不公开;按 project page 指引提交到 worldmodelbench.team@gmail.com。WorldFoundry 会把本地 judge 输出归一化为 scorecard.json,但不托管上游提交流程。

准备数据和资产

从 WorldFoundry 仓库根目录运行:

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

创建数据根目录,包含 runner 需要的 manifest、首帧图像和 evaluator 文件:

<worldmodelbench_data_root>/
  worldmodelbench.json
  images/
  evaluation.py

WorldFoundry 仓内带有公开 350-instance manifest:

export WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT=/path/to/worldmodelbench
mkdir -p "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}"
cp worldfoundry/data/benchmarks/assets/worldmodelbench/worldmodelbench.json \
  "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}/worldmodelbench.json"

如果使用 Hugging Face 数据镜像,把它放在同一个 root:

hf download Efficient-Large-Model/worldmodelbench \
  --repo-type dataset \
  --local-dir "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}"

下载 judge checkpoint:

export WORLDFOUNDRY_WORLDMODELBENCH_JUDGE=/path/to/vila-ewm-qwen2-1.5b
hf download Efficient-Large-Model/vila-ewm-qwen2-1.5b \
  --local-dir "${WORLDFOUNDRY_WORLDMODELBENCH_JUDGE}"

每条 manifest 记录生成一个视频,输出文件名必须匹配首帧 stem:

images/69620089860948e38a4921dd4869d24f.jpg
=> <generated_videos>/69620089860948e38a4921dd4869d24f.mp4
export WORLDFOUNDRY_GENERATED_ARTIFACT_DIR=/path/to/worldmodelbench/generated_videos

Prompt 构造遵循本地 README:

# text-to-video
" ".join([instance["text_first_frame"], instance["text_instruction"]])

# image-to-video
image = instance["first_frame"]
text = instance["text_instruction"]

使用 WorldFoundry 运行

导入已完成的 worldmodelbench_results.json

worldfoundry-eval zoo benchmark-run \
  --benchmark-id worldmodelbench \
  --mode official-validation \
  --official-results-path /path/to/worldmodelbench_results.json \
  --benchmark-data-root "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}" \
  --generated-artifact-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --output-dir tmp/worldmodelbench/official-validation \
  --json

直接通过仓内 runtime 执行 judge:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/worldmodelbench/run_worldmodelbench_official_runner.py \
  --worldmodelbench-root worldfoundry/evaluation/tasks/execution/runners/worldmodelbench/runtime \
  --data-root "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}" \
  --video-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --judge "${WORLDFOUNDRY_WORLDMODELBENCH_JUDGE}" \
  --model-name "${WORLDFOUNDRY_MODEL_NAME:-candidate_model}" \
  --output-dir tmp/worldmodelbench/direct-runner \
  --json

直接导入结果文件:

PYTHONPATH=. "${WORLDFOUNDRY_UNIFIED_PYTHON:-python}" \
  worldfoundry/evaluation/tasks/execution/runners/worldmodelbench/run_worldmodelbench_official_runner.py \
  --data-root "${WORLDFOUNDRY_WORLDMODELBENCH_DATA_ROOT}" \
  --video-dir "${WORLDFOUNDRY_GENERATED_ARTIFACT_DIR}" \
  --official-results-path /path/to/worldmodelbench_results.json \
  --output-dir tmp/worldmodelbench/direct-import \
  --json

指标

WorldModelBench 原始分类上限分别是 3、2、5 分。WorldFoundry 会尽量同时写入 raw value 和 normalized value。

Metric ID含义
instruction_following生成视频是否遵循给定指令。原始上限:3。
common_senseframewise 和 temporal common-sense 质量。原始上限:2。
physical_adherence牛顿行为、质量/固体一致性、流体、穿透、重力等物理遵循度。原始上限:5。
world_model_average三个公开分类的主聚合分数。原始上限:10。

输出

runner 会在 --output-dir 下写入:

  • scorecard.json:包含指标值和生成视频覆盖情况的规范化 scorecard。
  • raw_metric_table.jsonl:每个 metric ID 一行。
  • judge_responses.jsonl:可用时展开的 VILA judge response。
  • upstream/worldmodelbench_results.json:直接执行 judge 路径时生成。
  • upstream_stdout.logupstream_stderr.log:直接执行 judge 时的日志。

公开 benchmark-zoo 运行还可能写入 runner_runtime_report.json

限制

官方没有公开答案和解释,因此本地运行依赖公开 prompt、生成视频和 judge checkpoint。WorldFoundry 能验证 manifest 覆盖与结果形状,但 leaderboard evidence 仍需要走上游提交流程。本版本建议用 direct runner 执行 judge;公开 benchmark-zoo 导入路径可用,但公开 judge 执行路径没有通过 catalog entry 传递全部 runner 参数。

← 返回 Benchmark Hub