使用ms-swift的EvalScope进行评估,优点:1.和ms-swift同一套框架,使用ms-swif训练的话就可以很方便使用EvalScope进行评估,而且还支持训练过程中进行评估。2.EvalScope还封装了OpenCompass和VLMEvalKit。可以通过参数配置使用哪个框架。
问题:使用EvalScope的VLMEvalKit和之前只用VLMEvalKit有什么区别?
一、开源框架
EvalScope 中文模型评测、多模态任务 中文优先 ✔️
OpenAI/evals 英文文本任务、社区贡献任务库 英文 ❌
OpenCompass 多模态大模型综合能力评测 中英混合 ✔️
OpenAI/evals 文本模型(如 GPT) 文本生成、推理、问答 轻量灵活,社区任务库丰富
OpenCompass 多模态大模型 跨语言、跨模态综合评测 全流程支持,分布式计算,覆盖广泛
VLMEvalKit 视觉语言模型 图文问答、描述生成、对齐 专精 VLM,开箱即用,预置数据集
二、VLMEvalKit:https://github.com/open-compass/VLMEvalKit
-
默认只支持官网的模型和数据集,也可以测试自己本地模型和本地数据集,但是需要修改代码。
https://github.com/open-compass/VLMEvalKit/issues/914
https://github.com/open-compass/VLMEvalKit/issues/856
疑问1:直接使用VLMEvalKit和在EvalScope使用VLMEvalKit的区别在哪?
三、使用swift的EvalScope进行评估:
-
SWIFT的eval能力使用了魔搭社区评测框架EvalScope,并进行了高级封装以支持各类模型的评测需求。SWIFT支持在训练过程中使用EvalScope对当前的模型进行评测,以便及时了解模型的训练效果。
-
EvalScope支持的数据集都是纯语言的,不支持caption评估。封装了OpenCompass和VLMEvalKit。您也可以使用本框架支持的其他工具进行评测,如OpenCompass进行语言模型评测;或使用VLMEvalKit进行多模态模型评测。
-
详细介绍:https://evalscope.readthedocs.io/zh-cn/latest/get_started/supported_dataset.html#,介绍了EvalScope、OpenCompass和VLMEvalKit支持的数据集。
-
https://evalscope.readthedocs.io/en/latest/user_guides/backend/vlmevalkit_backend.html:介绍了使用EvalScope框架进行VLMEvalKit工具的测评。
-
默认只支持modelscope官网的模型和数据集,也可以测试自己本地模型和本地数据集,但是需要修改代码。
-
EvalScope 与ms-swift训练框架无缝集成,支持一键评估,为模型训练和评估提供全面支持。如果使用ms-swift训练,那么使用EvalScope评估会很方便。
CUDA_VISIBLE_DEVICES=0 swift eval \ --model Qwen/Qwen2.5-7B-Instruct \ --infer_backend lmdeploy \ --eval_backend OpenCompass \ --eval_dataset ARC_c
这里的eval_backend都支持哪些: