Shortcuts

如何使用OpenCompass测评LLMs

LMDeploy设计了TurboMind推理引擎用来加速大模型推理,其推理精度也支持使用OpenCompass测评。

准备

我们将配置用于测评的环境

安装 lmdeploy

使用 pip (python 3.8+) 安装 LMDeploy,或者源码安装

pip install lmdeploy

安装 OpenCompass

执行如下脚本,从源码安装OpenCompass。更多安装方式请参考installation

git clone https://github.com/open-compass/opencompass.git
cd opencompass
pip install -e .

如果想快速了解OpenCompass基本操作,可翻阅Quick Start

下载数据集

OpenCompass提供了多个版本的数据集,在这里我们下载如下版本数据集

# 切换到OpenCompass根目录
cd opencompass
wget https://github.com/open-compass/opencompass/releases/download/0.1.8.rc1/OpenCompassData-core-20231110.zip
unzip OpenCompassData-core-20231110.zip

准备测评配置文件

OpenCompass采用OpenMMLab风格的配置文件来管理模型和数据集,用户只需添加简单的配置就可以快速开始测评。OpenCompass已支持通过python API来 测评TurboMind推理引擎加速的大模型。

数据集配置

在OpenCompass根目录,准备测评配置文件$OPENCOMPASS_DIR/configs/eval_lmdeploy.py

在配置文件开始,导入如下OpenCompass支持的数据集datasets和格式化输出测评结果的summarizer

from mmengine.config import read_base


with read_base():
    # choose a list of datasets
    from .datasets.mmlu.mmlu_gen_a484b3 import mmlu_datasets
    from .datasets.ceval.ceval_gen_5f30c7 import ceval_datasets
    from .datasets.SuperGLUE_WiC.SuperGLUE_WiC_gen_d06864 import WiC_datasets
    from .datasets.SuperGLUE_WSC.SuperGLUE_WSC_gen_7902a7 import WSC_datasets
    from .datasets.triviaqa.triviaqa_gen_2121ce import triviaqa_datasets
    from .datasets.gsm8k.gsm8k_gen_1d7fe4 import gsm8k_datasets
    from .datasets.race.race_gen_69ee4f import race_datasets
    from .datasets.crowspairs.crowspairs_gen_381af0 import crowspairs_datasets
    # and output the results in a chosen format
    from .summarizers.medium import summarizer

datasets = sum((v for k, v in locals().items() if k.endswith('_datasets')), [])

模型配置

这个部分展示如何在测评配置文件中添加模型配置。让我们来看几个示例:

from opencompass.models.turbomind import TurboMindModel

internlm_20b = dict(
        type=TurboMindModel,
        abbr='internlm-20b-turbomind',
        path="internlm/internlm-20b",  # this path should be same as in huggingface
        engine_config=dict(session_len=2048,
                           max_batch_size=8,
                           rope_scaling_factor=1.0),
        gen_config=dict(top_k=1, top_p=0.8,
                        temperature=1.0,
                        max_new_tokens=100),
        max_out_len=100,
        max_seq_len=2048,
        batch_size=8,
        concurrency=8,
        run_cfg=dict(num_gpus=1, num_procs=1),
    )

models = [internlm_20b]

执行测评任务

完成测评配置文件编写后,在OpenCompass根目录执行run.py脚本,指定工作目录即可开启测评任务。 测评脚本更多参数可参考执行测评

# in the root directory of opencompass
python3 run.py configs/eval_lmdeploy.py --work-dir ./workdir
Read the Docs v: latest
Versions
latest
stable
v0.4.1
v0.4.0
v0.3.0
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.0
v0.1.0
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.