OpenCompass 大模型评估工具快速入门指南
概述
OpenCompass 是一个专业的大语言模型评估工具,它提供了一套完整的评估流程,帮助研究人员和开发者全面了解模型性能。本文将详细介绍如何使用 OpenCompass 进行模型评估。
核心评估流程
OpenCompass 的评估工作流分为四个关键阶段:
- 配置阶段:设定评估任务的基本参数
- 推理阶段:模型对测试数据集进行预测
- 评估阶段:将预测结果与标准答案对比
- 可视化阶段:生成直观的评估报告
环境准备
在开始评估前,请确保:
- 已安装 OpenCompass
- 至少有一块 GTX 1660 6G 显卡
- 网络连接正常(如需离线运行请参考相关文档)
评估任务配置
OpenCompass 提供三种配置方式,满足不同需求:
1. 命令行配置(自定义 HF 模型)
适用于快速评估单个 HuggingFace 模型:
python run.py --datasets siqa_gen winograd_ppl \
--hf-type base \
--hf-path facebook/opt-125m
2. 命令行配置(预定义模型)
使用预定义的模型和数据集配置:
python run.py --models hf_opt_125m hf_opt_350m --datasets siqa_gen winograd_ppl
可通过工具查看可用配置:
python tools/list_configs.py
3. 配置文件方式
创建 Python 格式的配置文件(如 eval_demo.py):
from mmengine.config import read_base
with read_base():
from .datasets.siqa.siqa_gen import siqa_datasets
from .datasets.winograd.winograd_ppl import winograd_datasets
from .models.opt.hf_opt_125m import opt125m
from .models.opt.hf_opt_350m import opt350m
datasets = [*siqa_datasets, *winograd_datasets]
models = [opt125m, opt350m]
然后运行:
python run.py configs/eval_demo.py
启动评估
建议首次运行时使用调试模式:
python run.py configs/eval_demo.py -w outputs/demo --debug
确认无误后,使用正常模式运行:
python run.py configs/eval_demo.py -w outputs/demo
常用参数说明:
-w
:指定工作目录-r
:重用已有结果--mode
:指定运行阶段(all/infer/eval/viz)--max-partition-size
:数据集分片大小--max-num-workers
:最大并行任务数
结果可视化
评估完成后,结果会以表格形式显示:
dataset version metric mode opt350m opt125m
--------- --------- -------- ------ --------- ---------
siqa e78df3 accuracy gen 21.55 12.44
winograd b6c7ed accuracy ppl 51.23 49.82
结果文件结构:
outputs/default/
├── 20200220_120000
│ ├── configs # 配置文件备份
│ ├── logs # 运行日志
│ ├── predictions # 预测结果
│ ├── results # 评估结果
│ └── summary # 汇总报告
高级功能
OpenCompass 还支持:
- 分布式评估(Slurm/DLC)
- 自定义评估指标
- 多维度结果分析
- 实时进度监控
最佳实践建议
- 首次评估建议使用小规模数据集测试
- 关注 GPU 内存使用情况,适当调整 batch_size
- 大型模型评估建议使用分布式环境
- 定期保存中间结果,防止意外中断
通过本指南,您应该已经掌握了 OpenCompass 的基本使用方法。如需更深入的了解,可以参考完整的用户文档,探索更多高级功能和定制选项。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考