ULMEvalKit 是一个开源评估工具包(Python 包名:ulmeval),专注于统一理解与生成模型(ULM)及生成式模型的图像生成基准评测。其目标是提供一站式评估方案,让研究者和开发者能便捷地对现有 ULM 和生成模型进行可复现的评估。
用途
ULMEvalKit 旨在解决多基准评估中数据准备繁琐的问题,通过一条命令即可在多种生成基准上评估 ULM,消除跨多个仓库准备数据的沉重负担。同时,它方便开发者仅实现一个 batch_generate_inner() 或 generate_inner() 函数,即可在多个基准上评估自己的模型,数据下载、数据预处理、预测推理和指标计算等工作均由代码库自动处理。
主要能力
- 目前支持文本到图像(text-to-image)和图像-文本到图像(image-text-to-image)生成任务。
- 支持分布式推理和评估。
- 灵活的评估方式:既可使用本地模型(如 CLIP、Mask2Former),也可使用 API 模型(如 GPT-4o)。
- 已支持模型:BAGEL、FLUX.1、Janus-Pro 等(完整列表见文档)。
- 已支持基准:GenEval、DPG-Bench、T2I-CompBench 等(完整列表见文档)。
- 模型和基准持续添加中。
使用方式
项目提供 QuickStart 快速入门指南,可通过官方文档获取具体安装和运行步骤。代码库为 VLMEvalKit 的分支,沿用其主要结构和类定义,但做了关键修改:
- 推理结果保存为 pickle 文件(而非 TSV)以包含图像。
- 评判器(Judger)移至 ulmeval/dataset/utils,支持本地模型(CLIP、Mask2Former)和 API 模型(GPT-4o)等多种类型。
- 新增分布式评估支持。
适用场景
适用于需要评估统一理解与生成模型(ULM)或生成模型在图像生成任务上表现的研究者与开发者,尤其适合希望跨多个基准进行可复现评估、又不想处理复杂数据准备的团队或个人。
限制
该代码库并非设计用于复现第三方基准原始论文中报告的精确准确率数值,原因包括:随机性因素(不同模型的随机种子不同,图像生成默认使用种子 42);使用大型多模态模型(如 GPT-4o、Qwen2.5-VL)评分时的温度设置可变,各论文中并不一致为零;提示版本不同(默认使用基准中的完全相同提示,但某些模型可能使用重写版本,如 BAGEL)。项目要求使用官方环境配置,虽推荐遵循,但其他版本可能也可用。关于收费、价格、具体平台或效果等信息,资料暂未提供。
项目信息
项目负责人:Dongzhi Jiang, Renrui Zhang;核心贡献者:Yankai Shu, Yuyang Peng, Zhuofan Zong, Yuchen Duan, Zihao Wang, Jiaming Liu, Hao Chen, Ziyu Guo, Junyan Ye;通讯作者:Renrui Zhang, Hongsheng Li, Rui Liu, Jiaming Liu, Shanghang Zhang, Pheng Ann Heng。ULMEvalKit 是 VLMEvalKit 的分支,遵循其主体结构和类定义并做了关键修改。