!231 update best practice doc for opencompass
Merge pull request !231 from 金勇旭/opencompass
This commit is contained in:
87
docs/zh/best_practice/opencompass.md
Normal file
87
docs/zh/best_practice/opencompass.md
Normal file
@ -0,0 +1,87 @@
|
||||
# 在NPU上使用OpenCompass进行模型评测
|
||||
|
||||
OpenCompass是一个LLM评估平台,它提供全面的大模型评测功能,包括广泛的模型支持、高效的评测速度、主观的评测能力、数据污染检查和丰富的长文本评测能力。本教程介绍如何使用OpenCompass第三方套件在npu上对本地模型完成评测。
|
||||
|
||||
## 环境准备
|
||||
|
||||
```bash
|
||||
git clone https://github.com/open-compass/opencompass.git
|
||||
cd opencompass
|
||||
git checkout -b v0.4.2 tags/0.4.2
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
接下来,将基于qwen-2.5-7b-instruct模型和gsm8k数据集进行演示。
|
||||
|
||||
## 模型准备
|
||||
|
||||
可通过带lfs的git 从魔乐社区进行模型下载
|
||||
|
||||
```bash
|
||||
git clone https://modelers.cn/AI-Research/Qwen2.5-7B-Instruct.git
|
||||
```
|
||||
|
||||
由于模型路径后续会使用到,这里假设下载后模型的位置在 `/model/Qwen2.5-7B-Instruct/`
|
||||
|
||||
## 数据集准备
|
||||
|
||||
大部分数据集会随着评测的启动自动下载,部分数据集需要手动下载。可通过`opencompass/utils/datasets_info.py`文件查看数据集下载链接,下载后将文件存在`/root/.cache/opencompass/`。本示例使用的gsm8k数据集会由OpenCompass自动下载。
|
||||
|
||||
## 启动评测
|
||||
|
||||
可通过以下命令查看或过滤当前可用的模型和数据集配置
|
||||
|
||||
```bash
|
||||
python tools/list_configs.py llama mmlu
|
||||
```
|
||||
|
||||
可通过以下命令启动评测
|
||||
|
||||
```bash
|
||||
cd opencompass
|
||||
python run.py \
|
||||
--datasets gsm8k_gen \
|
||||
--hf-type chat \
|
||||
--hf-path /model/Qwen2.5-7B-Instruct/ \
|
||||
--tokenizer-kwargs padding_side="left" truncation="left" trust_remote_code="True" \
|
||||
--model-kwargs device_map="auto" \
|
||||
--max-seq-len 2048 \
|
||||
--max-out-len 4096 \
|
||||
--min-out-len 16 \
|
||||
--batch-size 32 \
|
||||
--max-num-workers 4
|
||||
```
|
||||
|
||||
- datasets中可以传入多个数据集,从而一次评估多个数据集。
|
||||
|
||||
若有需要,可通过添加`generation-kwargs`参数,使得模型输出具有一定的随机性。
|
||||
|
||||
```bash
|
||||
--generation-kwargs do_sample="True" temperature=0.7 top_k=50 top_p=0.8
|
||||
```
|
||||
|
||||
## 可视化评估结果
|
||||
|
||||
评估完成后,评估结果表格将打印如下:
|
||||
|
||||
```text
|
||||
dataset version metric mode _hf
|
||||
-------- -------- -------- ------ -----
|
||||
gsm8k 1d7fe4 accuracy gen 80.52
|
||||
|
||||
```
|
||||
|
||||
所有运行输出将定向到`outputs/default/`目录,结构如下:
|
||||
|
||||
```text
|
||||
outputs/default/
|
||||
├── 20230220_183030 # 每个实验一个文件夹
|
||||
│ ├── configs # 用于记录的已转储的配置文件。如果在同一个实验文件夹中重新运行了不同的实验,可能会保留多个配置
|
||||
│ ├── logs # 推理和评估阶段的日志文件
|
||||
│ │ ├── eval
|
||||
│ │ └── infer
|
||||
│ ├── predictions # 每个任务的推理结果
|
||||
│ ├── results # 每个任务的评估结果
|
||||
│ └── summary # 单个实验的汇总评估结果
|
||||
├── ...
|
||||
```
|
Reference in New Issue
Block a user