VLMEvalKit:开源大规模视觉语言模型评估工具包
VLMEvalKit是一个开源的大规模视觉语言模型(LVLM)评估工具包,旨在为研究人员和开发者提供一个便捷的平台,用于评估现有的视觉语言模型并发布可复现的评估结果。该工具包由开放指南(Open Compass)团队开发,支持对近100个视觉语言模型在30多个基准测试上进行评估。
主要特点
-
一键式评估: VLMEvalKit支持对LVLMs进行一键式评估,无需在多个代码库之间进行繁重的数据准备工作。
-
广泛的模型支持: 该工具包支持近100个视觉语言模型,包括API模型(如GPT-4v、Claude 3等)和开源PyTorch/HuggingFace模型(如LLaVA、InstructBLIP等)。
-
多样化的基准测试: VLMEvalKit包含30多个基准测试,涵盖图像理解、视频理解等多个方面。
-
生成式评估: 对所有LVLMs采用生成式评估方法,并提供基于精确匹配和基于LLM的答案提取两种方式获得的评估结果。
-
灵活性: 研究人员只需实现一个generate_inner()函数,即可在多个支持的基准测试上评估自己的VLM模型。其他工作(如数据下载、预处理、预测推理、指标计算等)均由代码库处理。
支持的数据集和模型
VLMEvalKit支持多种图像理解和视频理解数据集,包括MMBench系列、MME、MathVista、COCO Caption等。在模型方面,它支持众多API模型(如GPT-4v、Gemini-1.5-Pro等)和开源PyTorch/HuggingFace模型(如IDEFICS、LLaVA、Qwen-VL等)。
快速开始
要开始使用VLMEvalKit,您可以按照以下步骤操作:
- 安装VLMEvalKit:
pip install vlmeval
- 导入所需模块并初始化模型:
from vlmeval.config import supported_VLM
model = supported_VLM['idefics_9b_instruct']()
- 进行单图像推理:
ret = model.generate(['assets/apple.jpg', 'What is in this image?'])
print(ret) # The image features a red apple with a leaf on it.
- 进行多图像推理:
ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', 'How many apples are there in the provided images? '])
print(ret) # There are two apples in the provided images.
开发指南
VLMEvalKit欢迎社区贡献。如果您想开发自定义基准测试、VLMs,或为VLMEvalKit贡献其他代码,请参考项目的开发指南。贡献者将在报告中得到致谢,做出3次或以上重大贡献的贡献者可以加入VLMEvalKit技术报告的作者列表。
VLMEvalKit的目标
VLMEvalKit的设计目标是:
-
提供一个易于使用的开源评估工具包,方便研究人员和开发者评估现有的LVLMs,并使评估结果易于复现。
-
简化VLM开发者评估自己模型的过程。开发者只需实现一个generate_inner()函数,即可在多个支持的基准测试上评估其VLM。
需要注意的是,VLMEvalKit并不旨在精确复现所有第三方基准测试中报告的准确度数字。这是因为VLMEvalKit对所有VLMs采用生成式评估,而某些基准测试可能使用不同的方法(如SEEDBench使用基于PPL的评估)。此外,VLMEvalKit默认对所有VLMs使用相同的提示模板进行评估,而某些VLMs可能有特定的提示模板。
结语
VLMEvalKit为视觉语言模型的评估提供了一个强大而灵活的工具包。通过简化评估过程,它有助于推动视觉语言模型研究的发展,并促进不同模型之间的公平比较。无论您是研究人员、开发者还是对视觉语言模型感兴趣的爱好者,VLMEvalKit都是一个值得尝试的工具。
如果您发现VLMEvalKit对您的工作有帮助,请考虑在GitHub上为该项目点亮星标🌟。您的支持将激励开发团队继续改进和扩展这个工具包,为视觉语言模型评估领域做出更多贡献。