VLMEvalKit 是一个面向大型视觉语言模型(LVLMs)的开源评测工具包,Python 包名为 vlmeval,项目托管于 GitHub(https://github.com/open-compass/VLMEvalKit)。
用途:为研究者与开发者提供易用、开源的评测工具,方便评测现有 LVLM 并使评测结果易于复现;同时方便 VLM 开发者评测自己的模型。
主要能力:支持 220+ 多模态模型与 80+ 基准测试(包括图像与视频基准)。对所有 LVLM 采用基于生成的评测方式,并提供精确匹配和基于 LLM 的答案抽取两种评测结果。只需实现一个 generate_inner() 函数,数据下载、数据预处理、预测推理与指标计算均由代码库处理。支持多节点分布式推理,可通过 LMDeploy(支持 InternVL 系列、QwenVL 系列、LLaMa4)或 VLLM(支持 QwenVL 系列、LLaMa4)加速大规模或思考模型的评测,只需在 config.py 的自定义模型配置中添加 use_lmdeploy 或 use_vllm 标志。近期更新包括:通过自定义 split_thinking 函数改进对思考模式模型的支持(设置环境变量 SPLIT_THINK=True,默认解析 <think>...</think> 标签内容并存入输出 thinking 键);改进对长响应(超过 16k/32k)的处理,可使用 TSV 格式保存预测文件(设置环境变量 PRED_FORMAT=tsv,避免 .xlsx 单元格 32767 字符限制导致数据截断)。项目提供官方多模态排行榜,结果可下载。
使用方式:参见 QuickStart(快速开始)指南进行快速上手。评测者需实现 generate_inner() 函数以接入自有模型;针对不同 VLM,需注意 transformers、torchvision、flash-attn 的版本推荐(如部分模型需 transformers==4.33.0、4.36.2、4.37.0、4.40.0、4.42.0、4.44.0、4.45.0、4.48.0,Molmo 系列建议 4.50.3,Qwen3.5 系列建议 >=5.2.0;Moondream 系列与 Aria 建议 torchvision>=0.16;Aria 安装 flash-attn 使用 pip install flash-attn --no-build-isolation)。开发自定义基准、VLM 或贡献其他代码可参考 Development_Guide(开发指南)。
适用场景:学术与工程环境中对视觉语言模型进行标准化评测、复现结果、横向比较不同模型与基准;VLM 开发者评测自有模型;社区贡献与排行榜评估。
限制:该代码库并非用于复现所有第三方基准论文中的精确准确率数值,原因包括其使用基于生成的评测(可选 LLM 答案抽取),而某些基准可能采用不同方法(如 SEEDBench 使用基于 PPL 的评测);默认对所有 VLM 在某一基准上使用相同的提示模板,部分 VLM 可能有特定提示模板(当前可能未被覆盖);鼓励开发者支持其他评测范式并实现自有提示模板以提高可复现性。部分 VLMs 在特定 transformers 版本下可能无法运行,需按推荐版本设置。