UniRL 文档
指南

评测

目前如何衡量质量(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_PATHrun.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_samplesbuild_eval_request_batchshould_evalrun_eval_pipelinelog_eval)。在周期 eval hook 落地前,把它们当作前瞻性接口。

离线 / 外部 Benchmark

benchmark 式评测(如 GenEval)请用外部 OpenMMLab 栈。它刻意不是默认依赖,安装见 Geneval MMCV Setup。仓库内没有 GenEval 或 FID harness。

[eval] 安装 extra 装的是 torchvisioneasyocr。注意 OCR 实际用的是 paddleocr(需单独安装), easyocr 目前未被使用;[eval] 不是独立的评测框架。

如果现在就要评测

  • 把 reward scorer 当作指标复用:用目标 reward 组件跑 recipe,读它记录的数值。
  • 或用 unirl-reward-service/ 下的独立 reward service 对生成的 media 离线打分。
  • Roadmap 路线图 上跟踪 eval-loop 工作(UI / 可观测性与 benchmark 线)。

目录