📣 2023 年度榜单计划
我们有幸与社区共同见证了通用人工智能在过去一年里的巨大进展,也非常高兴OpenCompass能够帮助广大大模型开发者和使用者。
我们宣布将启动OpenCompass 2023年度大模型榜单发布计划。我们预计将于2024年1月发布大模型年度榜单,系统性评估大模型在语言、知识、推理、创作、长文本和智能体等多个能力维度的表现。
届时,我们将发布开源模型和商业API模型能力榜单,以期为业界提供一份全面、客观、中立的参考。
我们诚挚邀请各类大模型接入OpenCompass评测体系,以展示其在各个领域的性能优势。同时,也欢迎广大研究者、开发者向我们提供宝贵的意见和建议,共同推动大模型领域的发展。如有任何问题或需求,请随时联系我们。此外,相关评测内容,性能数据,评测方法也将随榜单发布一并开源。
我们提供了本次评测所使用的部分题目示例,详情请见CompassBench 2023.
让我们共同期待OpenCompass 2023年度大模型榜单的发布,期待各大模型在榜单上的精彩表现!
🧭 欢迎
来到OpenCompass!
就像指南针在我们的旅程中为我们导航一样,我们希望OpenCompass能够帮助你穿越评估大型语言模型的重重迷雾。OpenCompass提供丰富的算法和功能支持,期待OpenCompass能够帮助社区更便捷地对NLP模型的性能进行公平全面的评估。
🚩🚩🚩 欢迎加入 OpenCompass!我们目前招聘全职研究人员/工程师和实习生。如果您对 LLM 和 OpenCompass 充满热情,请随时通过电子邮件与我们联系。我们非常期待与您交流!
🔥🔥🔥 祝贺 OpenCompass 作为大模型标准测试工具被Meta AI官方推荐, 点击 Llama 的 入门文档 获取更多信息.
注意
我们正式启动 OpenCompass 共建计划,诚邀社区用户为 OpenCompass 提供更具代表性和可信度的客观评测数据集! 点击 Issue 获取更多数据集. 让我们携手共进,打造功能强大易用的大模型评测平台!
🚀 最新进展
- [2024.01.17] 我们支持了 InternLM2 和 InternLM2-Chat 的相关评测,InternLM2 在这些测试中表现出非常强劲的性能,欢迎试用!🔥🔥🔥.
- [2024.01.17] 我们支持了多根针版本的大海捞针测试,更多信息见这里🔥🔥🔥.
- [2023.12.28] 我们支持了对使用LLaMA2-Accessory(一款强大的LLM开发工具箱)开发的所有模型的无缝评估! 🔥🔥🔥.
- [2023.12.22] 我们开源了T-Eval用于评测大语言模型工具调用能力。欢迎访问T-Eval的官方Leaderboard获取更多信息! 🔥🔥🔥.
- [2023.12.10] 我们开源了多模评测框架 VLMEvalKit,目前已支持 20+ 个多模态大模型与包括 MMBench 系列在内的 7 个多模态评测集.
- [2023.12.10] 我们已经支持了Mistral AI的MoE模型 Mixtral-8x7B-32K。欢迎查阅MixtralKit以获取更多关于推理和评测的详细信息.
✨ 介绍
OpenCompass 是面向大模型评测的一站式平台。其主要特点如下:
开源可复现:提供公平、公开、可复现的大模型评测方案
全面的能力维度:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
丰富的模型支持:已支持 20+ HuggingFace 及 API 模型
分布式高效评测:一行命令实现任务分割和分布式评测,数小时即可完成千亿模型全量评测
多样化评测范式:支持零样本、小样本及思维链评测,结合标准型或对话型提示词模板,轻松激发各种模型最大性能
灵活化拓展:想增加新模型或数据集?想要自定义更高级的任务分割策略,甚至接入新的集群管理系统?OpenCompass 的一切均可轻松扩展!
📊 性能榜单
我们将陆续提供开源模型和API模型的具体性能榜单,请见 OpenCompass Leaderboard 。如需加入评测,请提供模型仓库地址或标准的 API 接口至邮箱 [email protected]
.
🛠️ 安装
下面展示了快速安装以及准备数据集的步骤。
💻 环境配置
面向开源模型的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-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 或自定义模型,以及更多样化的评测策略。请阅读快速开始了解如何运行一个评测任务。
更多教程请查看我们的文档。
📖 数据集支持
语言 | 知识 | 推理 | 考试 |
字词释义
成语习语
语义相似度
指代消解
翻译
多语种问答
多语种总结
|
知识问答
|
文本蕴含
常识推理
数学推理
定理应用
综合推理
|
初中/高中/大学/职业考试
医学考试
|
理解 | 长文本 | 安全 | 代码 |
阅读理解
内容总结
内容分析
|
长文本理解
|
安全
健壮性
|
代码
|
📖 模型支持
开源模型 | API 模型 |
|
🔜 路线图
- 主观评测
- 发布主观评测榜单
- 发布主观评测数据集
- 长文本
- 支持广泛的长文本评测集
- 发布长文本评测榜单
- 代码能力
- 发布代码能力评测榜单
- 提供非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}
}