README_zh-CN.md 14 KB
Newer Older
gaotongxiao's avatar
gaotongxiao committed
1
<div align="center">
Tong Gao's avatar
Tong Gao committed
2
3
4
  <img src="docs/zh_cn/_static/image/logo.svg" width="500px"/>
  <br />
  <br />
gaotongxiao's avatar
gaotongxiao committed
5

Hubert's avatar
Hubert committed
6
[![docs](https://readthedocs.org/projects/opencompass/badge)](https://opencompass.readthedocs.io/zh_CN)
Songyang Zhang's avatar
Songyang Zhang committed
7
[![license](https://img.shields.io/github/license/InternLM/opencompass.svg)](https://github.com/open-compass/opencompass/blob/main/LICENSE)
Tong Gao's avatar
Tong Gao committed
8

Hubert's avatar
Hubert committed
9
<!-- [![PyPI](https://badge.fury.io/py/opencompass.svg)](https://pypi.org/project/opencompass/) -->
gaotongxiao's avatar
gaotongxiao committed
10

Tong Gao's avatar
Tong Gao committed
11
[🌐Website](https://opencompass.org.cn/) |
Ezra-Yu's avatar
Ezra-Yu committed
12
[📘Documentation](https://opencompass.readthedocs.io/zh_CN/latest/index.html) |
13
[🛠️Installation](https://opencompass.readthedocs.io/zh_CN/latest/get_started/installation.html) |
Songyang Zhang's avatar
Songyang Zhang committed
14
[🤔Reporting Issues](https://github.com/open-compass/opencompass/issues/new/choose)
gaotongxiao's avatar
gaotongxiao committed
15
16
17
18
19

[English](/README.md) | 简体中文

</div>

20
<p align="center">
21
    👋 加入我们的 <a href="https://discord.gg/KKwfEbFj7U" target="_blank">Discord</a><a href="https://r.vansin.top/?r=opencompass" target="_blank">微信社区</a>
22
23
</p>

Songyang Zhang's avatar
Songyang Zhang committed
24
25
26
## 🧭	欢迎

来到**OpenCompass**
Tong Gao's avatar
Tong Gao committed
27
28
29

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

Songyang Zhang's avatar
Songyang Zhang committed
30
31
🚩🚩🚩 欢迎加入 OpenCompass!我们目前**招聘全职研究人员/工程师和实习生**。如果您对 LLM 和 OpenCompass 充满热情,请随时通过[电子邮件](mailto:zhangsongyang@pjlab.org.cn)与我们联系。我们非常期待与您交流!

32
33
34
🔥🔥🔥 祝贺 **OpenCompass 作为大模型标准测试工具被Meta AI官方推荐**, 点击 Llama 的 [入门文档](https://ai.meta.com/llama/get-started/#validation) 获取更多信息.

> **注意**<br />
Songyang Zhang's avatar
Songyang Zhang committed
35
> 我们正式启动 OpenCompass 共建计划,诚邀社区用户为 OpenCompass 提供更具代表性和可信度的客观评测数据集!
Songyang Zhang's avatar
Songyang Zhang committed
36
> 点击 [Issue](https://github.com/open-compass/opencompass/issues/248) 获取更多数据集.
Songyang Zhang's avatar
Songyang Zhang committed
37
38
> 让我们携手共进,打造功能强大易用的大模型评测平台!

Songyang Zhang's avatar
Songyang Zhang committed
39
## 🚀 最新进展 <a><img width="35" height="20" src="https://user-images.githubusercontent.com/12782558/212848161-5e783dd6-11e8-4fe0-bbba-39ffb77730be.png"></a>
Leymore's avatar
Leymore committed
40

41
42
- **\[2023.11.22\]** 我们已经支持了多个于API的模型,包括**百度、字节跳动、华为、360**。欢迎查阅[模型](https://opencompass.readthedocs.io/en/latest/user_guides/models.html)部分以获取更多详细信息。🔥🔥🔥。
- **\[2023.11.20\]** 感谢[helloyongyang](https://github.com/helloyongyang)支持使用[LightLLM](https://github.com/ModelTC/lightllm)作为后端进行评估。欢迎查阅[使用LightLLM进行评估](https://opencompass.readthedocs.io/en/latest/advanced_guides/evaluation_lightllm.html)以获取更多详细信息。🔥🔥🔥。
Songyang Zhang's avatar
Songyang Zhang committed
43
- **\[2023.11.13\]** 我们很高兴地宣布发布 OpenCompass v0.1.8 版本。此版本支持本地加载评估基准,从而无需连接互联网。请注意,随着此更新的发布,**您需要重新下载所有评估数据集**,以确保结果准确且最新。🔥🔥🔥。
44
- **\[2023.11.06\]** 我们已经支持了多个基于 API 的模型,包括ChatGLM Pro@智谱清言、ABAB-Chat@MiniMax 和讯飞。欢迎查看 [模型](https://opencompass.readthedocs.io/en/latest/user_guides/models.html) 部分以获取更多详细信息。🔥🔥🔥。
45
46
- **\[2023.10.24\]** 我们发布了一个全新的评测集,BotChat,用于评估大语言模型的多轮对话能力,欢迎查看 [BotChat](https://github.com/open-compass/BotChat) 获取更多信息.
- **\[2023.09.26\]** 我们在评测榜单上更新了[Qwen](https://github.com/QwenLM/Qwen), 这是目前表现最好的开源模型之一, 欢迎访问[官方网站](https://opencompass.org.cn)获取详情.
Songyang Zhang's avatar
Songyang Zhang committed
47
- **\[2023.09.20\]** 我们在评测榜单上更新了[InternLM-20B](https://github.com/InternLM/InternLM), 欢迎访问[官方网站](https://opencompass.org.cn)获取详情.
Leymore's avatar
Leymore committed
48
49
- **\[2023.09.19\]** 我们在评测榜单上更新了WeMix-LLaMA2-70B/Phi-1.5-1.3B, 欢迎访问[官方网站](https://opencompass.org.cn)获取详情.
- **\[2023.09.18\]** 我们发布了[长文本评测指引](docs/zh_cn/advanced_guides/longeval.md).
Songyang Zhang's avatar
Songyang Zhang committed
50
51

> [更多](docs/zh_cn/notes/news.md)
Leymore's avatar
Leymore committed
52

Songyang Zhang's avatar
Songyang Zhang committed
53
## ✨ 介绍
gaotongxiao's avatar
gaotongxiao committed
54

55
56
![image](https://github.com/open-compass/opencompass/assets/22607038/30bcb2e2-3969-4ac5-9f29-ad3f4abb4f3b)

Tong Gao's avatar
Tong Gao committed
57
58
59
60
OpenCompass 是面向大模型评测的一站式平台。其主要特点如下:

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

Leymore's avatar
Leymore committed
61
- **全面的能力维度**:五大维度设计,提供 70+ 个数据集约 40 万题的的模型评测方案,全面评估模型能力
Tong Gao's avatar
Tong Gao committed
62
63
64
65
66
67
68
69
70

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

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

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

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

Songyang Zhang's avatar
Songyang Zhang committed
71
## 📊 性能榜单
Tong Gao's avatar
Tong Gao committed
72
73
74

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

Songyang Zhang's avatar
Songyang Zhang committed
75
<p align="right"><a href="#top">🔝返回顶部</a></p>
Tong Gao's avatar
Tong Gao committed
76

Leymore's avatar
Leymore committed
77
78
79
80
## 🛠️ 安装

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

81
82
83
84
85
### 💻 环境配置

#### 面向开源模型的GPU环境

```bash
Leymore's avatar
Leymore committed
86
87
88
89
90
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 .
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
```

#### 面向API模型测试的CPU环境

```bash
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模型的相关依赖
```

### 📂 数据准备

```bash
Leymore's avatar
Leymore committed
107
# 下载数据集到 data/ 处
108
109
wget https://github.com/open-compass/opencompass/releases/download/0.1.8.rc1/OpenCompassData-core-20231110.zip
unzip OpenCompassData-core-20231110.zip
Leymore's avatar
Leymore committed
110
111
```

112
有部分第三方功能,如 Humaneval 以及 Llama,可能需要额外步骤才能正常运行,详细步骤请参考[安装指南](https://opencompass.readthedocs.io/zh_CN/latest/get_started/installation.html)
Leymore's avatar
Leymore committed
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143

<p align="right"><a href="#top">🔝返回顶部</a></p>

## 🏗️ ️评测

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

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

OpenCompass 预定义了许多模型和数据集的配置,你可以通过 [工具](./docs/zh_cn/tools.md#ListConfigs) 列出所有可用的模型和数据集配置。

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

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

```bash
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 推理,避免精度损失
Tong Gao's avatar
Tong Gao committed
144
--num-gpus 1  # 运行该模型所需的最少 gpu 数
Leymore's avatar
Leymore committed
145
146
```

Tong Gao's avatar
Tong Gao committed
147
148
149
> **注意**<br />
> 若需要运行上述命令,你需要删除所有从 `# ` 开始的注释。

150
通过命令行或配置文件,OpenCompass 还支持评测 API 或自定义模型,以及更多样化的评测策略。请阅读[快速开始](https://opencompass.readthedocs.io/zh_CN/latest/get_started/quick_start.html)了解如何运行一个评测任务。
Leymore's avatar
Leymore committed
151
152
153
154
155

更多教程请查看我们的[文档](https://opencompass.readthedocs.io/zh_CN/latest/index.html)

<p align="right"><a href="#top">🔝返回顶部</a></p>

Songyang Zhang's avatar
Songyang Zhang committed
156
## 📖 数据集支持
Tong Gao's avatar
Tong Gao committed
157
158
159
160
161
162
163
164
165
166
167
168
169
170

<table align="center">
  <tbody>
    <tr align="center" valign="bottom">
      <td>
        <b>语言</b>
      </td>
      <td>
        <b>知识</b>
      </td>
      <td>
        <b>推理</b>
      </td>
      <td>
Leymore's avatar
Leymore committed
171
        <b>考试</b>
Tong Gao's avatar
Tong Gao committed
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
      </td>
    </tr>
    <tr valign="top">
      <td>
<details open>
<summary><b>字词释义</b></summary>

- WiC
- SummEdits

</details>

<details open>
<summary><b>成语习语</b></summary>

- CHID

</details>

<details open>
<summary><b>语义相似度</b></summary>

- AFQMC
- BUSTM

</details>

<details open>
<summary><b>指代消解</b></summary>

- CLUEWSC
- WSC
- WinoGrande

</details>

<details open>
<summary><b>翻译</b></summary>

- Flores
Leymore's avatar
Leymore committed
212
- IWSLT2017
Tong Gao's avatar
Tong Gao committed
213
214

</details>
Leymore's avatar
Leymore committed
215

Tong Gao's avatar
Tong Gao committed
216
<details open>
Leymore's avatar
Leymore committed
217
<summary><b>多语种问答</b></summary>
Tong Gao's avatar
Tong Gao committed
218

Leymore's avatar
Leymore committed
219
220
- TyDi-QA
- XCOPA
Tong Gao's avatar
Tong Gao committed
221
222
223
224

</details>

<details open>
Leymore's avatar
Leymore committed
225
<summary><b>多语种总结</b></summary>
Tong Gao's avatar
Tong Gao committed
226

Leymore's avatar
Leymore committed
227
228
229
230
231
232
233
234
235
236
237
238
- XLSum

</details>
      </td>
      <td>
<details open>
<summary><b>知识问答</b></summary>

- BoolQ
- CommonSenseQA
- NaturalQuestions
- TriviaQA
Tong Gao's avatar
Tong Gao committed
239
240
241
242
243
244
245
246
247
248
249
250
251
252

</details>
      </td>
      <td>
<details open>
<summary><b>文本蕴含</b></summary>

- CMNLI
- OCNLI
- OCNLI_FC
- AX-b
- AX-g
- CB
- RTE
Leymore's avatar
Leymore committed
253
- ANLI
Tong Gao's avatar
Tong Gao committed
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280

</details>

<details open>
<summary><b>常识推理</b></summary>

- StoryCloze
- COPA
- ReCoRD
- HellaSwag
- PIQA
- SIQA

</details>

<details open>
<summary><b>数学推理</b></summary>

- MATH
- GSM8K

</details>

<details open>
<summary><b>定理应用</b></summary>

- TheoremQA
Leymore's avatar
Leymore committed
281
282
- StrategyQA
- SciBench
Tong Gao's avatar
Tong Gao committed
283
284
285
286
287
288
289
290
291
292
293
294
295
296

</details>

<details open>
<summary><b>综合推理</b></summary>

- BBH

</details>
      </td>
      <td>
<details open>
<summary><b>初中/高中/大学/职业考试</b></summary>

Leymore's avatar
Leymore committed
297
- C-Eval
Tong Gao's avatar
Tong Gao committed
298
299
300
- AGIEval
- MMLU
- GAOKAO-Bench
301
- CMMLU
Tong Gao's avatar
Tong Gao committed
302
- ARC
Leymore's avatar
Leymore committed
303
304
305
306
307
308
309
310
- Xiezhi

</details>

<details open>
<summary><b>医学考试</b></summary>

- CMB
Tong Gao's avatar
Tong Gao committed
311
312
313

</details>
      </td>
Leymore's avatar
Leymore committed
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
    </tr>
</td>
    </tr>
  </tbody>
  <tbody>
    <tr align="center" valign="bottom">
      <td>
        <b>理解</b>
      </td>
      <td>
        <b>长文本</b>
      </td>
      <td>
        <b>安全</b>
      </td>
      <td>
        <b>代码</b>
      </td>
    </tr>
    <tr valign="top">
Tong Gao's avatar
Tong Gao committed
334
335
336
337
338
339
340
341
342
      <td>
<details open>
<summary><b>阅读理解</b></summary>

- C3
- CMRC
- DRCD
- MultiRC
- RACE
Leymore's avatar
Leymore committed
343
344
345
- DROP
- OpenBookQA
- SQuAD2.0
Tong Gao's avatar
Tong Gao committed
346
347
348
349
350
351
352
353
354

</details>

<details open>
<summary><b>内容总结</b></summary>

- CSL
- LCSTS
- XSum
Leymore's avatar
Leymore committed
355
- SummScreen
Tong Gao's avatar
Tong Gao committed
356
357
358
359
360
361
362
363
364
365

</details>

<details open>
<summary><b>内容分析</b></summary>

- EPRSTMT
- LAMBADA
- TNEWS

Leymore's avatar
Leymore committed
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
</details>
      </td>
      <td>
<details open>
<summary><b>长文本理解</b></summary>

- LEval
- LongBench
- GovReports
- NarrativeQA
- Qasper

</details>
      </td>
      <td>
<details open>
<summary><b>安全</b></summary>

- CivilComments
- CrowsPairs
- CValues
- JigsawMultilingual
- TruthfulQA

</details>
<details open>
<summary><b>健壮性</b></summary>

- AdvGLUE

</details>
      </td>
      <td>
<details open>
<summary><b>代码</b></summary>

- HumanEval
- HumanEvalX
- MBPP
- APPs
- DS1000

Tong Gao's avatar
Tong Gao committed
408
409
410
411
412
413
414
415
</details>
      </td>
    </tr>
</td>
    </tr>
  </tbody>
</table>

Songyang Zhang's avatar
Songyang Zhang committed
416
417
418
<p align="right"><a href="#top">🔝返回顶部</a></p>

## 📖 模型支持
gaotongxiao's avatar
gaotongxiao committed
419

Tong Gao's avatar
Tong Gao committed
420
421
422
423
<table align="center">
  <tbody>
    <tr align="center" valign="bottom">
      <td>
Songyang Zhang's avatar
Songyang Zhang committed
424
        <b>开源模型</b>
Tong Gao's avatar
Tong Gao committed
425
426
427
428
      </td>
      <td>
        <b>API 模型</b>
      </td>
Songyang Zhang's avatar
Songyang Zhang committed
429
      <!-- <td>
Tong Gao's avatar
Tong Gao committed
430
        <b>自定义模型</b>
Songyang Zhang's avatar
Songyang Zhang committed
431
      </td> -->
Tong Gao's avatar
Tong Gao committed
432
433
434
    </tr>
    <tr valign="top">
      <td>
gaotongxiao's avatar
gaotongxiao committed
435

436
437
438
439
440
441
442
443
444
445
446
- [InternLM](https://github.com/InternLM/InternLM)
- [LLaMA](https://github.com/facebookresearch/llama)
- [Vicuna](https://github.com/lm-sys/FastChat)
- [Alpaca](https://github.com/tatsu-lab/stanford_alpaca)
- [Baichuan](https://github.com/baichuan-inc)
- [WizardLM](https://github.com/nlpxucan/WizardLM)
- [ChatGLM2](https://github.com/THUDM/ChatGLM2-6B)
- [ChatGLM3](https://github.com/THUDM/ChatGLM3-6B)
- [TigerBot](https://github.com/TigerResearch/TigerBot)
- [Qwen](https://github.com/QwenLM/Qwen)
- [BlueLM](https://github.com/vivo-ai-lab/BlueLM)
Tong Gao's avatar
Tong Gao committed
447
- ……
gaotongxiao's avatar
gaotongxiao committed
448

Tong Gao's avatar
Tong Gao committed
449
450
</td>
<td>
gaotongxiao's avatar
gaotongxiao committed
451

Songyang Zhang's avatar
Songyang Zhang committed
452
- OpenAI
Leymore's avatar
Leymore committed
453
- Claude
454
455
456
457
458
459
460
461
462
- ZhipuAI(ChatGLM)
- Baichuan
- ByteDance(YunQue)
- Huawei(PanGu)
- 360
- Baidu(ERNIEBot)
- MiniMax(ABAB-Chat)
- SenseTime(nova)
- Xunfei(Spark)
Tong Gao's avatar
Tong Gao committed
463
- ……
gaotongxiao's avatar
gaotongxiao committed
464

Tong Gao's avatar
Tong Gao committed
465
</td>
gaotongxiao's avatar
gaotongxiao committed
466

Tong Gao's avatar
Tong Gao committed
467
468
469
</tr>
  </tbody>
</table>
gaotongxiao's avatar
gaotongxiao committed
470

Songyang Zhang's avatar
Songyang Zhang committed
471
472
<p align="right"><a href="#top">🔝返回顶部</a></p>

Songyang Zhang's avatar
Songyang Zhang committed
473
474
475
476
477
## 🔜 路线图

- [ ] 主观评测
  - [ ] 发布主观评测榜单
  - [ ] 发布主观评测数据集
478
- [x] 长文本
Songyang Zhang's avatar
Songyang Zhang committed
479
480
481
482
  - [ ] 支持广泛的长文本评测集
  - [ ] 发布长文本评测榜单
- [ ] 代码能力
  - [ ] 发布代码能力评测榜单
483
  - [x] 提供非Python语言的评测服务
Songyang Zhang's avatar
Songyang Zhang committed
484
485
486
- [ ] 智能体
  - [ ] 支持丰富的智能体方案
  - [ ] 提供智能体评测榜单
487
488
- [x] 鲁棒性
  - [x] 支持各类攻击方法
Songyang Zhang's avatar
Songyang Zhang committed
489

490
491
492
493
## 👷‍♂️ 贡献

我们感谢所有的贡献者为改进和提升 OpenCompass 所作出的努力。请参考[贡献指南](https://opencompass.readthedocs.io/zh_CN/latest/notes/contribution_guide.html)来了解参与项目贡献的相关指引。

Songyang Zhang's avatar
Songyang Zhang committed
494
## 🤝 致谢
gaotongxiao's avatar
gaotongxiao committed
495
496
497

该项目部分的代码引用并修改自 [OpenICL](https://github.com/Shark-NLP/OpenICL)

Leymore's avatar
Leymore committed
498
499
该项目部分的数据集和提示词实现修改自 [chain-of-thought-hub](https://github.com/FranxYao/chain-of-thought-hub), [instruct-eval](https://github.com/declare-lab/instruct-eval)

Songyang Zhang's avatar
Songyang Zhang committed
500
## 🖊️ 引用
gaotongxiao's avatar
gaotongxiao committed
501
502
503
504
505

```bibtex
@misc{2023opencompass,
    title={OpenCompass: A Universal Evaluation Platform for Foundation Models},
    author={OpenCompass Contributors},
Songyang Zhang's avatar
Songyang Zhang committed
506
    howpublished = {\url{https://github.com/open-compass/opencompass}},
gaotongxiao's avatar
gaotongxiao committed
507
508
509
    year={2023}
}
```
Songyang Zhang's avatar
Songyang Zhang committed
510
511

<p align="right"><a href="#top">🔝返回顶部</a></p>