Skip to content

Latest commit

 

History

History
478 lines (359 loc) · 12.1 KB

README_zh-CN.md

File metadata and controls

478 lines (359 loc) · 12.1 KB

👋 加入我们的 Discord微信社区

🧭 欢迎

来到OpenCompass

就像指南针在我们的旅程中为我们导航一样,我们希望OpenCompass能够帮助你穿越评估大型语言模型的重重迷雾。OpenCompass提供丰富的算法和功能支持,期待OpenCompass能够帮助社区更便捷地对NLP模型的性能进行公平全面的评估。

🔥 注意
我们正式启动 OpenCompass 共建计划,诚邀社区用户为 OpenCompass 提供更具代表性和可信度的客观评测数据集! 点击 Issue 获取更多数据集. 让我们携手共进,打造功能强大易用的大模型评测平台!

🚀 最新进展

  • [2023.09.26] 我们在评测榜单上更新了Qwen, 这是目前表现最好的开源模型之一, 欢迎访问官方网站获取详情.🔥🔥🔥.
  • [2023.09.20] 我们在评测榜单上更新了InternLM-20B, 欢迎访问官方网站获取详情.🔥🔥🔥.
  • [2023.09.19] 我们在评测榜单上更新了WeMix-LLaMA2-70B/Phi-1.5-1.3B, 欢迎访问官方网站获取详情.
  • [2023.09.18] 我们发布了长文本评测指引.
  • [2023.09.08] 我们在评测榜单上更新了Baichuan-2/Tigerbot-2/Vicuna-v1.5, 欢迎访问官方网站获取详情。
  • [2023.09.06] 欢迎 Baichuan2 团队采用OpenCompass对模型进行系统评估。我们非常感谢社区在提升LLM评估的透明度和可复现性上所做的努力。
  • [2023.09.02] 我们加入了Qwen-VL的评测支持。
  • [2023.08.25] 欢迎 TigerBot 团队采用OpenCompass对模型进行系统评估。我们非常感谢社区在提升LLM评估的透明度和可复现性上所做的努力。
  • [2023.08.21] Lagent 正式发布,它是一个轻量级、开源的基于大语言模型的智能体(agent)框架。我们正与Lagent团队紧密合作,推进支持基于Lagent的大模型工具能力评测 !

更多

✨ 介绍

image

OpenCompass 是面向大模型评测的一站式平台。其主要特点如下:

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

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

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

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

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

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

📊 性能榜单

我们将陆续提供开源模型和API模型的具体性能榜单,请见 OpenCompass Leaderbaord 。如需加入评测,请提供模型仓库地址或标准的 API 接口至邮箱 opencompass@pjlab.org.cn.

🔝返回顶部

🛠️ 安装

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

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 .
# 下载数据集到 data/ 处
wget https://github.com/open-compass/opencompass/releases/download/0.1.1/OpenCompassData.zip
unzip OpenCompassData.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-path huggyllama/llama-7b \  # HuggingFace 模型地址
--model-kwargs device_map='auto' \  # 构造 model 的参数
--tokenizer-kwargs padding_side='left' truncation='left' use_fast=False \  # 构造 tokenizer 的参数
--max-out-len 100 \  # 最长生成 token 数
--max-seq-len 2048 \  # 模型能接受的最大序列长度
--batch-size 8 \  # 批次大小
--no-batch-padding \  # 不打开 batch padding,通过 for loop 推理,避免精度损失
--num-gpus 1  # 运行该模型所需的最少 gpu 数

注意
若需要运行上述命令,你需要删除所有从 # 开始的注释。

通过命令行或配置文件,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
  • Vicuna
  • Alpaca
  • Baichuan
  • WizardLM
  • ChatGLM2
  • Falcon
  • TigerBot
  • Qwen
  • ……
  • OpenAI
  • Claude
  • PaLM (即将推出)
  • ……

🔝返回顶部

🔜 路线图

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

👷‍♂️ 贡献

我们感谢所有的贡献者为改进和提升 OpenCompass 所作出的努力。请参考贡献指南来了解参与项目贡献的相关指引。

🤝 致谢

该项目部分的代码引用并修改自 OpenICL

该项目部分的数据集和提示词实现修改自 chain-of-thought-hub, instruct-eval

🖊️ 引用

@misc{2023opencompass,
    title={OpenCompass: A Universal Evaluation Platform for Foundation Models},
    author={OpenCompass Contributors},
    howpublished = {\url{https://github.com/open-compass/opencompass}},
    year={2023}
}

🔝返回顶部