下面为您详细梳理 OpenCompass 的使用方法,涵盖从准备到结果分析的完整流程。

核心概念
OpenCompass 是一个一站式、开源的大模型评测平台,旨在:
- 公平与全面:提供大量数据集和多种评测维度。
- 高效:支持分布式评测,大幅缩短评测时间。
- 可复现:所有配置、模型和数据集公开,确保结果可复现。
使用前准备
- 环境要求:
- Python 3.8+
- PyTorch 1.11+ 或 CUDA 11+
- 推荐使用 Linux 系统(Windows支持有限)。
- 足够的磁盘空间(用于缓存数据集和模型)。
- 安装:
# 1. 克隆仓库 git clone https://github.com/open-compass/opencompass.git cd opencompass # 2. 创建并激活虚拟环境(推荐) conda create -n opencompass python=3.10 -y conda activate opencompass # 3. 安装依赖 pip install -e . # 4. 安装推理和评测所需的额外包(可选,按需) pip install vllm
基本使用流程(四步法)
准备数据与模型
OpenCompass 的大部分数据集会自动下载,您需要准备的是待评测的模型。
- HuggingFace 模型:直接指定模型ID(如
Qwen/Qwen2.5-7B-Instruct)。 - API 模型:配置 API 密钥和 Base URL。
- 本地模型:指定本地模型的路径。
配置评测任务
这是最关键的一步,通常通过一个 YAML 配置文件 来定义。 一个极简的配置文件示例如下:
with read_base():
from .datasets.mmlu.mmlu_gen import mmlu_datasets # 导入MMLU数据集
from .models.qwen.hf_qwen_7b import models # 导入Qwen模型配置
datasets = [*mmlu_datasets] # 要评测的数据集列表
models = [*models] # 要评测的模型列表
您可以从 configs/ 目录下复制现有的配置文件(如 eval.py)并修改。
启动评测
使用 tools/run.py 脚本启动任务。
- 基础命令:
python run.py configs/my_eval.py
- 常用参数:
-w {工作目录}:指定工作目录,存储日志和结果。-r:重启上次失败的评测。--debug:调试模式,只运行少量样本。- 分布式/加速:
# 使用4个GPU(分布式推理) python run.py configs/my_eval.py -w outputs/my_eval --max-partition-size 2000 # 使用 vLLM 加速(需安装vllm) python run.py configs/my_eval.py --vllm
查看与分析结果
评测完成后,结果默认保存在 outputs/{时间戳}/ 目录下。
- 文本报告:
summary目录下的.csv或.txt文件,包含每个模型在各个数据集上的详细得分。 - 可视化报告:
# 生成对比图表 python tools/plot_radar.py -i outputs/{时间戳}/summary这会生成雷达图、条形图等,直观对比模型能力。
高级与实用功能
-
评测自定义模型/API
- 本地模型:在配置文件中,修改模型路径为本地路径。
- API模型(如 GPT-4o, DeepSeek):需要配置
api_key和base_url,参考configs/models下的openai.py或zhipuai.py模板。models = [ dict( type='OpenAIModel', abbr='gpt-4o-2024-11-20', path='gpt-4o-2024-11-20', key='YOUR_API_KEY', org_id='your_org_id', # 可选 query_per_second=10, # 限流 ) ]
-
自定义评测数据集
- 格式:支持
.jsonl格式,每行是一个样本,包含question(输入)、answer(标准答案)和judge(评测维度)。 - 步骤:
- 将数据集文件放入
data/目录。 - 在
configs/datasets/下创建对应的配置文件。 - 在评测配置中导入该数据集。
- 将数据集文件放入
- 格式:支持
-
性能优化技巧
- 利用缓存:首次运行后会缓存推理结果,后续重跑相同任务速度极快。
- 分片与并行:合理设置
--max-partition-size,根据GPU内存大小调整,充分利用多卡。 - 选择高效后端:对于支持
vLLM或LMDeploy的模型,使用--vllm或--turbomind能获得数倍加速。
注意事项
- 资源消耗:评测大模型(如70B)对GPU显存要求高,请确保硬件充足。
- API成本:评测闭源API模型会产生费用,务必提前预估。
- 结果解读:分数高低需结合具体任务和数据集背景理解,OpenCompass结果是大模型能力的重要参考,但不是唯一标准。
- 版本兼容:注意OpenCompass版本与模型框架(如 Transformers, vLLM)的兼容性。
快速开始命令示例
# 1. 克隆并安装 git clone https://github.com/open-compass/opencompass.git cd opencompass pip install -e . # 2. 下载示例数据(MMLU等,可选,部分会自动下载) python tools/list_datasets.py mmlu # 查看数据 # python tools/datasets_download.py 按需下载 # 3. 运行一个快速评测(示例:用Qwen2.5-7B评测MMLU和C-Eval部分子集) python run.py configs/eval_qwen_7b_mmlu_ceval.py -w outputs/quick_demo --max-partition-size 2000 # 4. 查看结果 cat outputs/quick_demo/**时间戳**/summary/*.txt
OpenCompass(AI小龙虾)的核心使用路径是 “安装 -> 写配置文件 -> run.py 执行 -> 分析结果”,对于新手,建议从修改官方提供的示例配置文件开始,逐步熟悉整个流程。
如需更详细的官方指南,请访问:OpenCompass GitHub 和 官方文档。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。