大模型评测开源框架介绍
(1)阿里的evalscope框架
https://github.com/modelscope/evalscope
EvalScope是阿里巴巴的魔搭社区官方推出的模型评测与性能基准测试框架,内置多个常用测试基准和评测指标,如MMLU、CMMLU、C-Eval、GSM8K、ARC、HellaSwag、TruthfulQA、MATH和HumanEval等;支持多种类型的模型评测,包括LLM、多模态LLM、embedding模型和reranker模型。EvalScope还适用于多种评测场景,如端到端RAG评测、竞技场模式和模型推理性能压测等。此外,通过ms-swift训练框架的无缝集成,可一键发起评测,实现了模型训练到评测的全链路支持。
整体架构
EvalScope 架构图.
包括以下模块:
- Model Adapter: 模型适配器,用于将特定模型的输出转换为框架所需的格式,支持API调用的模型和本地运行的模型。
- Data Adapter: 数据适配器,负责转换和处理输入数据,以便适应不同的评测需求和格式。
- Evaluation Backend:
- Native:EvalScope自身的默认评测框架,支持多种评测模式,包括单模型评测、竞技场模式、Baseline模型对比模式等。
- OpenCompass:支持OpenCompass作为评测后端,对其进行了高级封装和任务简化,您可以更轻松地提交任务进行评测。
- VLMEvalKit:支持VLMEvalKit作为评测后端,轻松发起多模态评测任务,支持多种多模态模型和数据集。
- ThirdParty:其他第三方评测任务,如ToolBench。
- RAGEval:支持RAG评测,支持使用MTEB/CMTEB进行embedding模型和reranker的独立评测,以及使用RAGAS进行端到端评测。
- Performance Evaluator: 模型性能评测,负责具体衡量模型推理服务性能,包括性能评测、压力测试、性能评测报告生成、可视化。
- Evaluation Report: 最终生成的评测报告,总结模型的性能表现,报告可以用于决策和进一步的模型优化。
- Visualization: 可视化结果,帮助用户更直观地理解评测结果,便于分析和比较不同模型的表现。
框架特点
- 基准数据集:预置了多个常用测试基准,包括:MMLU、CMMLU、C-Eval、GSM8K、ARC、HellaSwag、TruthfulQA、MATH、HumanEval等。
- 评测指标:实现了多种常用评测指标。
- 模型接入:统一的模型接入机制,兼容多个系列模型的Generate、Chat接口。
- 自动评测:包括客观题自动评测和使用专家模型进行的复杂任务评测。
- 评测报告:自动生成评测报告。
- 竞技场(Arena)模式:用于模型间的比较以及模型的客观评测,支持多种评测模式,包括:
- Single mode:对单个模型进行评分。
- Pairwise-baseline mode:与基线模型进行对比。
- Pairwise (all) mode:所有模型间的两两对比。
- 可视化工具:提供直观的评测结果展示。
- 模型性能评测:提供模型推理服务压测工具和详细统计,详见模型性能评测文档。
- OpenCompass集成:支持OpenCompass作为评测后端,对其进行了高级封装和任务简化,您可以更轻松地提交任务进行评测。
- VLMEvalKit集成:支持VLMEvalKit作为评测后端,轻松发起多模态评测任务,支持多种多模态模型和数据集。
- 全链路支持:通过与ms-swift训练框架的无缝集成,实现模型训练、模型部署、模型评测、评测报告查看的一站式开发流程,提升用户的开发效率。
(2)OpenCompass 司南
https://github.com/open-compass/opencompass/blob/main/README_zh-CN.md
OpenCompass 司南 2.0 大模型评测体系,它主要由三大核心模块构建而成:CompassKit、CompassHub以及CompassRank。
CompassRank 系统进行了重大革新与提升,现已成为一个兼容并蓄的排行榜体系,不仅囊括了开源基准测试项目,还包含了私有基准测试。此番升级极大地拓宽了对行业内各类模型进行全面而深入测评的可能性。
CompassHub 创新性地推出了一个基准测试资源导航平台,其设计初衷旨在简化和加快研究人员及行业从业者在多样化的基准测试库中进行搜索与利用的过程。为了让更多独具特色的基准测试成果得以在业内广泛传播和应用,我们热忱欢迎各位将自定义的基准数据贡献至CompassHub平台。只需轻点鼠标,通过访问这里,即可启动提交流程。
CompassKit 是一系列专为大型语言模型和大型视觉-语言模型打造的强大评估工具合集,它所提供的全面评测工具集能够有效地对这些复杂模型的功能性能进行精准测量和科学评估。在此,我们诚挚邀请您在学术研究或产品研发过程中积极尝试运用我们的工具包,以助您取得更加丰硕的研究成果和产品优化效果。
✨ 介绍
OpenCompass 是面向大模型评测的一站式平台。其主要特点如下:
- 开源可复现:提供公平、公开、可复现的大模型评测方案
- 全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
- 丰富的模型支持:已支持 20+ HuggingFace 及 API 模型
- 分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测
- 多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能
- 灵活化拓展:想增加新模型或数据集?想要自定义更高级的任务分割策略,甚至接入新的集群管理系统?OpenCompass 的一切均可轻松扩展!
(3)OpenAI Evals
https://github.com/openai/evals
是OpenAI开源的大语言模型(LLM)评估框架,旨在为LLM及LLM系统提供标准化的评估工具与基准测试集合。
一、核心功能
- LLM评估框架
- 提供一套完整的工具链,用于测试LLM的各项能力(如推理、生成、多轮对话等)。
- 支持自定义评估逻辑,用户可基于自身业务场景创建私有评估(Private Evals),使用自有数据而无需公开。
- 开源基准测试注册表
- 内置多种预定义评估案例(如CoQA问答、数学推理等),覆盖模型的不同维度(准确性、鲁棒性、安全性等)。
- 示例评估存储于evals/registry目录,包含YAML配置文件和测试数据。
- 灵活的扩展能力
- 支持通过Python代码或YAML文件定义评估逻辑,即使非开发者也可通过模板快速构建评估(如模型评分型评估)。
- 集成权重与偏差(Weights & Biases)、Snowflake等工具,支持评估结果的日志记录与分析。
二、使用流程与关键操作
- 环境设置
- 依赖要求:Python 3.9+,需安装Git-LFS(用于下载评估数据)。
- API密钥配置:通过环境变量OPENAI_API_KEY指定OpenAI API密钥,评估会产生API调用费用。
- 数据下载
- 克隆仓库后,使用Git-LFS拉取评估数据:
cd evals
git lfs fetch --all # 下载所有评估数据
git lfs pull
或仅下载特定评估(如coqa)
git lfs fetch --include=evals/registry/data/coqa
3. 运行评估
- 快速运行(非开发者):通过pip安装后直接调用预定义评估:
pip install evals
evals run --eval <eval_name> # 如 evals run --eval coqa - 开发者模式:克隆仓库并以 editable 模式安装,便于修改代码:
git clone https://github.com/openai/evals.git
cd evals
pip install -e . # 安装依赖并启用实时更新
- 编写自定义评估
- 无代码方式:使用YAML定义模型评分型评估,提供JSON格式的测试数据和提示模板(参考examples目录)。
- 代码方式:通过Python编写评估逻辑,实现自定义评分函数或复杂流程(如工具调用代理)。
- 禁止提交含自定义代码的评估:目前仓库仅接受基于YAML的模型评分评估,代码类评估暂不支持提交。
三、适用场景与优势
- 典型应用场景
- 模型迭代测试:在模型版本更新时,通过固定评估集对比性能变化(如准确率提升)。
- 业务场景适配:使用私有数据构建评估,验证模型在特定领域(如医疗、金融)的表现。
- 提示工程优化:通过评估量化不同提示策略的效果,辅助优化提示词设计。
- 核心优势
- 标准化与可复现性:提供统一的评估协议,确保不同模型或版本的结果可对比。
- 低代码门槛:非开发者可通过模板和YAML快速构建评估,降低使用成本。
- 数据隐私保护:支持私有评估,用户数据无需公开即可用于模型测试。