评测
目前如何衡量质量(reward 分数)、已有的 eval 接线,以及尚未接通的部分。
当前状态。 训练 driver 里还没有自动的周期性评测循环,周期 eval 是后续工作。目前训练中的质量信号是 reward 分数,离线 benchmark 用外部工具完成。本页如实说明已有部分,避免你误以为存在尚未接通的 harness。
训练中的质量信号
recipe 上配置的 reward 组件是主要质量信号。每个 rollout 对生成的 media 打分,并记录逐样本和逐组件 reward
(启用 WandB 时可见)。unirl/reward/local/ 下的内置 scorer 包括 PickScore、HPS、OCR、GenEval2、
VideoPickScore,以及基于规则的匹配器。
要"评测"一个 checkpoint 或 recipe,目前就看 reward 曲线和逐组件分解。配置见 Rewards 与生成的 Reward Package README。
Eval 接线(当前未生效)
独立 eval 集的配置表面已经存在,但 driver 还没有调用它:
EVAL_DATA_PATH→run.eval_data_path选择独立的 eval prompt 文件,按确定性(不 shuffle)顺序加载; 未设置时回退到run.data_path。cfg.evaluation.eval_steps在部分 recipe 里存在(如 WAN 和qwen_vl_argrpo_geo3k_mc_4x8),很多 SD3 recipe 设为0。
这些会喂给已实现但当前无 driver 调用方的 helper(get_eval_samples、build_eval_request_batch、
should_eval、run_eval_pipeline、log_eval)。在周期 eval hook 落地前,把它们当作前瞻性接口。
离线 / 外部 Benchmark
benchmark 式评测(如 GenEval)请用外部 OpenMMLab 栈。它刻意不是默认依赖,安装见 Geneval MMCV Setup。仓库内没有 GenEval 或 FID harness。
[eval] 安装 extra 装的是 torchvision 与 easyocr。注意 OCR 实际用的是 paddleocr(需单独安装),
easyocr 目前未被使用;[eval] 不是独立的评测框架。
如果现在就要评测
- 把 reward scorer 当作指标复用:用目标 reward 组件跑 recipe,读它记录的数值。
- 或用
unirl-reward-service/下的独立 reward service 对生成的 media 离线打分。 - 在 Roadmap 路线图 上跟踪 eval-loop 工作(UI / 可观测性与 benchmark 线)。