评测
用 benchmark、metric 与可复现 scorecard 对生成产物打分。
评测把模型输出变成可审查证据:准备输入、生成或导入结果、打分、写出 scorecard。模型启动细节留在 runner;benchmark 消费归一化的 GenerationResult。打分与 leaderboard 声明是分开的——framework 导入成功不等于官方榜单跑通。
首次端到端路径见使用指南。Flag 与 discovery 命令见 CLI。各 benchmark 布局见 Benchmark Hub。Metric 配方见指标。
该跑什么
- 用完整 benchmark protocol 给一个目录打分 —
worldfoundry-eval score --benchmark <id> --artifacts <dir> ... - 从 dataset manifest 生成,再按 metric ID 打分 —
worldfoundry-eval generate-score --model <id> --dataset-manifest <file> ... - 复现已知的 model × benchmark 配置 —
worldfoundry-eval reproduce --recipe <recipe.yaml> ... - 用新模型或自定义模型跑已有 benchmark —
worldfoundry-eval run --model <id> --model-manifest-dir <dir> --benchmark <id> ... - 对已有 JSON/JSONL 结果打分 —
worldfoundry-eval evaluate --mode existing-results ... - 从 task 物化 request ledger —
worldfoundry-eval task materialize ... - 跑单个 benchmark × model —
worldfoundry-eval run --benchmark <id> --model <id> ... - 导入官方形态结果 —
worldfoundry-eval zoo benchmark-run --mode official-validation ... - 尝试新的 benchmark manifest —
worldfoundry-eval run --benchmark-manifest-dir <dir> --benchmark <id> ... - 列出 metric ID —
worldfoundry-eval metric list
默认用户入口是 worldfoundry-eval run。已有物化 request 或 result 时用 evaluate。已集成的外部 benchmark(自备 data root、生成产物或官方结果文件)用 zoo benchmark-run。
按意图选择
CLI、TUI 与 Workspace 把下面这些用户意图编译到同样的两种执行 request 上;它们不各自维护一套推理或 metric 实现。
- 官方复现 — 固定 recipe、官方 sample 覆盖、模型生成设置与 benchmark runtime 设置。分类:
reproduction。 - Model benchmark — 仓内模型加上 benchmark 的官方 prompt/data protocol。分类:
protocol_compliant。 - 给我的产物打分 — 用户提供的 artifact 加上某个 benchmark 的完整 metric protocol。分类:
custom_dataset_metric_evaluation。 - 生成并给我的数据集打分 — Dataset manifest 加上选定的可执行 metric ID。分类:
custom_dataset_metric_evaluation。 - 给已有结果打分 — WorldFoundry JSON/JSONL 结果加上选定的可执行 metric ID。分类:
custom_results_metric_evaluation。
自定义数据的分数是有用证据,但不能自动与官方榜单比较。同样,bounded official component run 可以证明集成链路可用,却不能证明完整 benchmark 可比性。prepared_evaluation.json 会为每次 prepared run 记录分类、解析后的 request、配置来源与 preflight 诊断;model × benchmark 计划的 claim 还会受到 benchmark catalog 中已提交 evidence 的上限约束。
模型与 benchmark 只通过标准 artifact 和 manifest 相连。模型 runner 负责产出 GenerationResult;benchmark adapter 负责把 artifact 严格映射成官方 layout;official runner 只负责执行和解析指标。因此新增模型不需要复制 benchmark 代码,新增 benchmark 也不需要在每个模型里加分支。
流程
- 解析 mode、输出目录、模型/benchmark 元数据、metric 与可选 runtime profile。
- 把输入归一化成
GenerationRequest(task YAML、dataset manifest、JSON/JSONL 或 benchmark sample)。 - 通过
WorldModelRunner或导入已有结果,得到GenerationResult。 - 对这些结果打分。
- 写出审计产物:run manifest、ledger、metric 摘要、
report.md、scorecard.json。
常用命令
# 物化小型 request ledger
worldfoundry-eval task materialize <task-name> \
--benchmark <benchmark-id> \
--dataset-manifest /path/to/dataset_manifest.json \
--num-samples 8 \
--output-jsonl tmp/requests.jsonl \
--json
# 对已有结果打分
worldfoundry-eval evaluate \
--mode existing-results \
--results-path tmp/results.jsonl \
--output-dir tmp/evaluate_existing \
--benchmark-id <benchmark-id> \
--model-id <model-id> \
--metric artifact_count \
--json
# 用 VBench 的完整 protocol 给别处生成的视频打分
worldfoundry-eval score \
--benchmark vbench \
--artifacts /path/to/videos \
--output-dir tmp/vbench_custom \
--plan-only \
--json
# 让仓内模型跑一份带校验和的 dataset manifest
worldfoundry-eval generate-score \
--model <model-id> \
--dataset-manifest /path/to/dataset_manifest.json \
--metric artifact_count \
--output-dir tmp/custom_dataset \
--plan-only \
--json
# 跑单个 benchmark cell
worldfoundry-eval run \
--benchmark <benchmark-id> \
--model <model-id> \
--output-dir tmp/benchmark_run \
--mode official-run \
--json
# 导入官方形态结果(framework 证据,不是 leaderboard 声明)
worldfoundry-eval zoo benchmark-run \
--benchmark-id <benchmark-id> \
--mode official-validation \
--official-results-path <official_results.json> \
--generated-artifact-dir <generated_artifacts> \
--output-dir tmp/benchmark_zoo/official_validation/<benchmark-id> \
--jsonPreflight 报告 ready: true 之后,再去掉 --plan-only。
复现配方
用 --recipe 提供一份不可变的 model × benchmark 配方。复现 recipe 把上游模型设置与 benchmark 设置分开,因此 benchmark 参数无法静默覆盖由 orchestrator 拥有的路径或 mode。范围与资格写在 prepared plan 里,不会从“进程正常退出”推断出来。
schema_version: worldfoundry-reproduction-recipe-v1
id: paper-table-1-vbench
benchmark:
id: vbench
model:
id: <model-id>
variant: <variant-id>
parameters:
num_frames: 81
generation:
num_inference_steps: 30
guidance_scale: 7.5
evaluation:
mode: official-run
parameters: {}
env: {}
data:
requests_path: ./official_requests.jsonl
id: vbench-official-prompts
reference:
source: <paper-or-official-config-url>
reported_score: <value>先跑 worldfoundry-eval reproduce --recipe recipe.yaml --output-dir tmp/reproduce --plan-only --json。prepared 记录包含 recipe 与 requests 的 SHA-256、来源字段、模型/benchmark revision、范围与 leaderboard 候选状态;实际执行时仍会校验 benchmark runner 与本地资产。
各 benchmark 专用的布局与 flag 见对应的 Benchmark Hub 页。
输出
report.md— 人工先看scorecard.json— 归一化分数与 leaderboard 资格metrics/summary.json— 自动化用的聚合指标results.jsonl— 逐样本状态、产物、错误run_manifest.json— run 身份、路径、fingerprint
模式
existing-results— 对已物化结果打分,不跑推理model/generate— 跑模型 runner,再打分official-validation— 通过 benchmark runner 导入官方形态结果official-run— 跑 manifest 声明的 benchmark runtime
Framework 导入证据用 official-validation;数据集、checkpoint、环境与官方 evaluator 都就绪之后再用 official-run。
契约(简)
GenerationRequest— 归一化样本输入WorldModelRunner— 执行生成 →GenerationResultGenerationResult— 单样本输出与产物Metric— 把结果变成分数行scorecard— 最终资格 / 比较记录
下一步
- Benchmark Hub — 各 benchmark 准备与运行说明
- 指标 — 仓内 scorer 与 compute API
- 支持的模型 — catalog 状态
- Embodied official runtime — Docker / 仿真器路径