分享

LLMs之benchmark之OpenCompass:OpenCompass的简介、安装和使用方法、案例应用之详细攻略

 处女座的程序猿 2024-06-19 发布于上海

LLMs之benchmark之OpenCompass:OpenCompass的简介、安装和使用方法、案例应用之详细攻略


OpenCompass的简介

2023年7月发布,OpenCompass 是面向大模型评测的一站式平台。其主要特点如下:

  • 开源可复现:提供公平、公开、可复现的大模型评测方案

  • 全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力

  • 丰富的模型支持:已支持 20+ HuggingFace 及 API 模型

  • 分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测

  • 多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能

  • 灵活化拓展:想增加新模型或数据集?想要自定义更高级的任务分割策略,甚至接入新的集群管理系统?OpenCompass 的一切均可轻松扩展!

Github地址GitHub - open-compass/opencompass: OpenCompass is an LLM evaluation platform, supporting a wide range of models (Llama3, Mistral, InternLM2,GPT-4,LLaMa2, Qwen,GLM, Claude, etc) over 100+ datasets.

1、性能榜单

将陆续提供开源模型和 API 模型的具体性能榜单,请见 OpenCompass Leaderboard 。

2、最新进展 

  • [2024.05.08] 我们支持了以下四个MoE模型的评测配置文件: Mixtral-8x22B-v0.1Mixtral-8x22B-Instruct-v0.1Qwen1.5-MoE-A2.7BQwen1.5-MoE-A2.7B-Chat 。欢迎试用!
  • [2024.04.30] 我们支持了计算模型在给定数据集上的压缩率(Bits per Character)的评测方法(官方文献)。欢迎试用llm-compression评测集! 🔥🔥🔥
  • [2024.04.26] 我们报告了典型LLM在常用基准测试上的表现,欢迎访问文档以获取更多信息!🔥🔥🔥.
  • [2024.04.26] 我们废弃了 OpenCompass 进行多模态大模型评测的功能,相关功能转移至 VLMEvalKit,推荐使用!🔥🔥🔥.
  • [2024.04.26] 我们支持了 ArenaHard评测 欢迎试用!🔥🔥🔥.
  • [2024.04.22] 我们支持了 LLaMA3 和 LLaMA3-Instruct 的评测,欢迎试用!🔥🔥🔥.
  • [2024.02.29] 我们支持了MT-Bench、AlpacalEval和AlignBench,更多信息可以在这里找到。
  • [2024.01.30] 我们发布了OpenCompass 2.0。更多信息,请访问CompassKitCompassHubCompassRank

3、OpenCompass 2.0

我们很高兴发布 OpenCompass 司南 2.0 大模型评测体系,它主要由三大核心模块构建而成:CompassKitCompassHub以及CompassRank

CompassRank 系统进行了重大革新与提升,现已成为一个兼容并蓄的排行榜体系,不仅囊括了开源基准测试项目,还包含了私有基准测试。此番升级极大地拓宽了对行业内各类模型进行全面而深入测评的可能性。

CompassHub 创新性地推出了一个基准测试资源导航平台,其设计初衷旨在简化和加快研究人员及行业从业者在多样化的基准测试库中进行搜索与利用的过程。为了让更多独具特色的基准测试成果得以在业内广泛传播和应用,我们热忱欢迎各位将自定义的基准数据贡献至CompassHub平台。只需轻点鼠标,通过访问这里,即可启动提交流程。

CompassKit 是一系列专为大型语言模型和大型视觉-语言模型打造的强大评估工具合集,它所提供的全面评测工具集能够有效地对这些复杂模型的功能性能进行精准测量和科学评估。在此,我们诚挚邀请您在学术研究或产品研发过程中积极尝试运用我们的工具包,以助您取得更加丰硕的研究成果和产品优化效果。

OpenCompass的安装和使用方法

安装

下面展示了快速安装以及准备数据集的步骤。

💻 环境配置

面向开源模型的GPU环境
conda create --name opencompass python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y
conda activate opencompass
git clone https://github.com/open-compass/opencompass opencompass
cd opencompass
pip install -e .
面向API模型测试的CPU环境
conda create -n opencompass python=3.10 pytorch torchvision torchaudio cpuonly -c pytorch -y
conda activate opencompass
git clone https://github.com/open-compass/opencompass opencompass
cd opencompass
pip install -e .
# 如果需要使用各个API模型,请 `pip install -r requirements/api.txt` 安装API模型的相关依赖

📂 数据准备

# 下载数据集到 data/ 处
wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip
unzip OpenCompassData-core-20240207.zip

有部分第三方功能,如 Humaneval 以及 Llama,可能需要额外步骤才能正常运行,详细步骤请参考安装指南

🏗️ ️评测

确保按照上述步骤正确安装 OpenCompass 并准备好数据集后,可以通过以下命令评测 LLaMA-7b 模型在 MMLU 和 C-Eval 数据集上的性能:

python run.py --models hf_llama_7b --datasets mmlu_ppl ceval_ppl

OpenCompass 预定义了许多模型和数据集的配置,你可以通过 工具 列出所有可用的模型和数据集配置。

# 列出所有配置
python tools/list_configs.py
# 列出所有跟 llama 及 mmlu 相关的配置
python tools/list_configs.py llama mmlu

你也可以通过命令行去评测其它 HuggingFace 模型。同样以 LLaMA-7b 为例:

python run.py --datasets ceval_ppl mmlu_ppl --hf-type base --hf-path huggyllama/llama-7b

通过命令行或配置文件,OpenCompass 还支持评测 API 或自定义模型,以及更多样化的评测策略。请阅读快速开始了解如何运行一个评测任务。

更多教程请查看我们的文档

📖 数据集支持

语言知识推理考试
字词释义
  • WiC
  • SummEdits
成语习语
  • CHID
语义相似度
  • AFQMC
  • BUSTM
指代消解
  • CLUEWSC
  • WSC
  • WinoGrande
翻译
  • Flores
  • IWSLT2017
多语种问答
  • TyDi-QA
  • XCOPA
多语种总结
  • XLSum
知识问答
  • BoolQ
  • CommonSenseQA
  • NaturalQuestions
  • TriviaQA
文本蕴含
  • CMNLI
  • OCNLI
  • OCNLI_FC
  • AX-b
  • AX-g
  • CB
  • RTE
  • ANLI
常识推理
  • StoryCloze
  • COPA
  • ReCoRD
  • HellaSwag
  • PIQA
  • SIQA
数学推理
  • MATH
  • GSM8K
定理应用
  • TheoremQA
  • StrategyQA
  • SciBench
综合推理
  • BBH
初中/高中/大学/职业考试
  • C-Eval
  • AGIEval
  • MMLU
  • GAOKAO-Bench
  • CMMLU
  • ARC
  • Xiezhi
医学考试
  • CMB
理解长文本安全代码
阅读理解
  • C3
  • CMRC
  • DRCD
  • MultiRC
  • RACE
  • DROP
  • OpenBookQA
  • SQuAD2.0
内容总结
  • CSL
  • LCSTS
  • XSum
  • SummScreen
内容分析
  • EPRSTMT
  • LAMBADA
  • TNEWS
长文本理解
  • LEval
  • LongBench
  • GovReports
  • NarrativeQA
  • Qasper
安全
  • CivilComments
  • CrowsPairs
  • CValues
  • JigsawMultilingual
  • TruthfulQA
健壮性
  • AdvGLUE
代码
  • HumanEval
  • HumanEvalX
  • MBPP
  • APPs
  • DS1000

📖 模型支持

开源模型API 模型
  • InternLM
  • LLaMA
  • LLaMA3
  • Vicuna
  • Alpaca
  • Baichuan
  • WizardLM
  • ChatGLM2
  • ChatGLM3
  • TigerBot
  • Qwen
  • BlueLM
  • Gemma
  • ……
  • OpenAI
  • Gemini
  • Claude
  • ZhipuAI(ChatGLM)
  • Baichuan
  • ByteDance(YunQue)
  • Huawei(PanGu)
  • 360
  • Baidu(ERNIEBot)
  • MiniMax(ABAB-Chat)
  • SenseTime(nova)
  • Xunfei(Spark)
  • ……

🔜 路线图

  •  主观评测
    •  发布主观评测榜单
    •  发布主观评测数据集
  •  长文本
    •  支持广泛的长文本评测集
    •  发布长文本评测榜单
  •  代码能力
    •  发布代码能力评测榜单
    •  提供非Python语言的评测服务
  •  智能体
    •  支持丰富的智能体方案
    •  提供智能体评测榜单
  •  鲁棒性
    •  支持各类攻击方法

OpenCompass的案例应用

持续更新中……

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章