OpenCompass 大模型评测平台:从环境搭建到一键评测的完整实践指南 模型评测人工智能大模型AI 评测【免费下载链接】opencompassOpenCompass is an LLM evaluation platform, supporting a wide range of models from OpenAI, Anthropic, Gemini, Qwen, GLM, DeepSeek, etc, across 100 datasets covering knowledge, reasoning, coding, science, language, long-context, and safety.项目地址https://gitcode.com/gh_mirrors/op/opencompass点击查看免费下载OpenCompass 是一站式大模型评测平台为开源模型与 API 模型提供公平、开放、可复现的评测基准。本文以仓库根目录的 README.md 为主线结合run.py、CLI 入口、示例配置等源码完整讲解环境安装、数据集准备、首次评测、API 评测、加速评测与自定义模型的实战流程读完即可在本地跑通第一个评测任务。项目定位一站式大模型评测平台OpenCompass 的核心目标是以罗盘般的指引作用帮助研究者在复杂的大模型评测版图中评估模型质量与效果。其公开仓库描述为支持 OpenAI、Anthropic、Gemini、Qwen、GLM、DeepSeek 等广泛模型生态覆盖 100 数据集横跨知识、推理、编程、科学、语言、长上下文与安全等能力维度。README 中列出的五大核心特性README.md全面的模型与数据集支持预支持 20 HuggingFace 与 API 模型覆盖 70 数据集、约 40 万道评测题从五个维度综合评估模型能力高效分布式评测一行命令完成任务切分与分布式评测数小时内即可完成十亿级参数模型的完整评测多样化评测范式支持 zero-shot、few-shot、chain-of-thought 评测并可组合标准或对话式 prompt 模板模块化高扩展设计新增模型、数据集、自定义任务切分策略乃至新的集群管理系统均可扩展实验管理与上报机制用配置文件完整记录每次实验支持结果实时上报。环境准备与安装Python 版本约束OpenCompass 常规安装与完整安装均支持Python 3.12。但如果评测依赖pyext后端的代码执行数据集则需改用Python 3.10pyext0.7在 Python 3.11 上会被跳过因为它依赖在 Python 3.11 中被移除的inspect.getargspec。缺少pyext时APPSapps、apps_mini、TACO、LiveCodeBench Code Generation 等数据集不可用。创建虚拟环境官方强烈推荐使用 conda 管理 Python 环境conda create --name opencompass python3.12 -y conda activate opencompass通过 pip 安装pip install -U opencompass ## 完整安装支持更多数据集 # pip install opencompass[full] ## 加速框架环境 ## 加速框架之间通常存在依赖冲突建议用虚拟环境分别管理 # pip install opencompass[lmdeploy] # pip install opencompass[vllm] ## API 模型评测如 OpenAI、Qwen # pip install opencompass[api]从源码安装需要使用最新特性或参与开发时可从源码构建git clone https://gitcode.com/gh_mirrors/op/opencompass opencompass cd opencompass pip install -e . # pip install -e .[full] # pip install -e .[vllm]数据集准备仓库提供了三种数据集获取方式。离线准备下载并解压官方发布的数据包到data/目录# Download dataset to data/ folder wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip unzip OpenCompassData-core-20240207.zip从 OpenCompass 存储服务器自动下载OpenCompass 支持从自建存储服务器自动下载数据集在评测命令中附加--dry-run即可触发下载。当前支持的数据集清单记录在 opencompass/utils/datasets_info.py 中。--dry-run模式下调度器不会真正运行任务只会打印待执行命令opencompass/cli/main.py 将其与--debug联动适合先下载数据、再正式评测。通过 ModelScope 按需加载可选安装 ModelScope 后按需加载数据集无需把全部数据下载到本地pip install modelscope[framework] export DATASET_SOURCEModelScope可用数据集包括humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, summedits, GAOKAO-BENCH, OCNLI, cmnli。跑通第一次评测OpenCompass 支持通过CLI或Python 脚本两种方式配置评测简单评测推荐 CLI复杂评测推荐脚本方式。CLI 方式opencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_genPython 脚本方式opencompass examples/eval_chat_demo.py更多脚本示例位于 examples 目录。以 examples/eval_chat_demo.py 为例脚本通过 mmengine 的read_base机制引入预置的模型与数据集配置再拼接成datasets与models列表交给评测框架from mmengine.config import read_base with read_base(): from opencompass.configs.datasets.demo.demo_gsm8k_chat_gen import \ gsm8k_datasets from opencompass.configs.datasets.demo.demo_math_chat_gen import \ math_datasets from opencompass.configs.models.hf_internlm.hf_internlm2_chat_1_8b import \ models as hf_internlm2_chat_1_8b_models from opencompass.configs.models.qwen.hf_qwen2_1_5b_instruct import \ models as hf_qwen2_1_5b_instruct_models datasets gsm8k_datasets math_datasets models hf_qwen2_1_5b_instruct_models hf_internlm2_chat_1_8b_models其中demo_gsm8k_chat_genopencompass/configs/datasets/demo/demo_gsm8k_chat_gen.py复用完整 GSM8K 生成式评测配置但将测试集范围截断为[0:64]用于快速验证链路模型配置opencompass/configs/models/hf_internlm/hf_internlm2_chat_1_8b.py则通过HuggingFacewithChatTemplate指定模型路径、max_out_len、batch_size与单卡运行配置run_cfgdict(num_gpus1)。底层执行流程从源码结构看一条评测命令的完整链路是run.py入口仅转发到opencompass.cli.main→ opencompass/cli/main.py 的main()先由get_config_from_arg组装配置随后进入infer推理与eval评测两个阶段每个阶段依次执行Partitioner 切分任务 → Runner 分发运行最后通过Summarizer汇总结果opencompass/cli/main.py。所有中间产物默认输出到outputs/default/时间戳/下配置文件也会被自动 dump 到该目录的configs/子目录中保证实验可复现。API 模型评测OpenCompass 在设计上不区分开源模型与 API 模型两种模型可用完全相同的方式、甚至在同一个配置里评测。export OPENAI_API_KEYYOUR_OPEN_API_KEY # CLI opencompass --models gpt_4o_2024_05_13 --datasets demo_gsm8k_chat_gen # Python scripts opencompass examples/eval_api_demo.py # 也可使用 o1_mini_2024_09_12 / o1_preview_2024_09_12默认 max_completion_tokens8192对应的脚本 examples/eval_api_demo.py 与本地模型评测结构完全一致仅将模型替换为 OpenAI 系列。其模型配置opencompass/configs/models/openai/gpt_4o_2024_05_13.py展示了 API 模型的关键字段from opencompass.models import OpenAI api_meta_template dict(round[ dict(roleHUMAN, api_roleHUMAN), dict(roleBOT, api_roleBOT, generateTrue), ], ) models [ dict( abbrGPT-4o-2024-05-13, typeOpenAI, pathgpt-4o-2024-05-13, keyENV, # 从 $OPENAI_API_KEY 读取也可直接填 key meta_templateapi_meta_template, query_per_second1, max_out_len2048, max_seq_len4096, batch_size8), ]其中keyENV表示密钥从环境变量OPENAI_API_KEY获取query_per_second控制请求速率以避免触发限流meta_template定义了对话轮次中 HUMAN/BOT 的角色映射是 API 对话式评测的核心配置。加速评测LMDeploy / vLLM若希望使用 HuggingFace 之外的推理后端如 LMDeploy、vLLM加速评测可附加-a--accelerator参数。前提是已安装对应后端包且模型支持该加速推理方式。以 LMDeploy 为例# CLI opencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy # Python scripts opencompass examples/eval_lmdeploy_demo.pyexamples/eval_lmdeploy_demo.py 的结构与普通评测脚本相同仅将模型配置替换为lmdeploy_internlm2_5_1_8b_chat。CLI 层面-a参数目前支持vllm与lmdeploy两种取值opencompass/cli/main.py。各加速后端的详细说明见 docs/en/advanced_guides/accelerator_intro.md。支持的自定义模型与数据集OpenCompass 为大量模型与数据集预置了配置。使用 tools/list_configs.py 可列出全部可用配置其内部通过match_files对opencompass/configs/models/与opencompass/configs/datasets/做通配符模糊匹配tools/list_configs.py# 列出全部配置 python tools/list_configs.py # 列出与 llama、mmlu 相关的配置 python tools/list_configs.py llama mmlu评测 HuggingFace 模型若模型不在预置列表但只要受 HuggingFaceAutoModel或基于 OpenAI 接口的推理引擎封装支持即可直接评测opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat--hf-type取值为base或chat默认chat--hf-path指定模型路径。CLI 还提供了--hf-num-gpus、--tokenizer-path、--model-kwargs、--generation-kwargs、--max-seq-len、--max-out-len默认 256、--batch-size默认 8等一系列快速构造 HuggingFace 模型的参数opencompass/cli/main.py。数据并行与模型并行--hf-num-gpus模型并行HuggingFace 格式即把单个模型切分到多张 GPU--max-num-worker数据并行即同一模型在多张 GPU 上并行处理不同数据分片。CUDA_VISIBLE_DEVICES0,1 opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat --max-num-worker 2关于_gen与_ppl配置以_ppl结尾的配置面向base 模型基座模型通常用困惑度评测以_gen结尾的配置可同时用于base 模型与 chat 模型生成式评测以_gen.py或_llm_judge_gen.py结尾的配置文件指向官方为该数据集推荐的标准配置。例如对 AIME2024 的两种推荐评测方式# 基于规则的推荐评测配置 opencompass --datasets aime2024_gen --models hf_internlm2_5_1_8b_chat # 基于 LLM Judge 的推荐评测配置 opencompass --datasets aime2024_llmjudge_gen --models hf_internlm2_5_1_8b_chatCLI 进阶参数源码级解读除评测核心参数外opencompass/cli/main.py 还暴露了以下常用参数适合在规模化评测场景中使用--mode / -m运行模式可选all默认、infer仅推理、eval仅评测、viz仅可视化。注意仅用eval/viz模式时必须配合-r或--read-from-station指定结果来源--reuse / -r复用历史输出与结果仅运行缺失任务不带参数时默认复用work_dir下最新一次实验也可传入具体时间戳如20230516_144254--work-dir / -w工作目录所有输出slurm 日志、评测结果、汇总结果均保存于此默认outputs/default--dry-run只打印待运行命令而不实际执行可配合数据自动下载--debug调试模式任务在单进程内运行且输出不重定向到文件--max-num-workers并行 worker 上限会被配置中的max_num_workers覆盖--max-workers-per-gpu单张 GPU 上并行任务数仅 local runner 生效--retryslurm/dlc 任务失败后的重试次数默认 2--slurm / --dlc切换集群调度后端需配合--partition或--aliyun-cfg--dump-eval-details是否 dump 每个样本的评测细节默认开启较占空间--lark通过飞书机器人上报运行状态--analysis-repeat在 viz 阶段分析模型输出的重复内容与循环输出对应 tools/analyze_repeat.py。OpenCompass 2.0 生态OpenCompass 2.0 由三大组件构成README.mdCompassRank升级后的榜单平台同时纳入开源与私有基准实现对行业模型的更全面评估CompassHub基准浏览器便于研究者快速探索与使用海量 benchmark也支持提交自有 benchmarkCompassKit面向 LLM 与 LVLM 的评测工具包集合。后续学习路径本文覆盖了 README 中的全部实操主线。若要继续深入仓库内的文档体系可帮助逐层进阶完整安装细节docs/en/get_started/installation.md快速开始docs/en/get_started/quick_start.md新增模型docs/en/advanced_guides/new_model.md新增数据集docs/en/advanced_guides/new_dataset.md加速后端docs/en/advanced_guides/accelerator_intro.md推理模型如 DeepSeek-R1评测docs/en/user_guides/deepseek_r1.mdLLM Judge 与数学评测docs/en/advanced_guides/llm_judge.md、docs/en/advanced_guides/math_verify.md版本更新日志docs/en/notes/news.md中文读者可同步查阅 README_zh-CN.md 与 docs/zh_cn 下的对应文档赞分享模型评测人工智能大模型AI 评测【免费下载链接】opencompassOpenCompass is an LLM evaluation platform, supporting a wide range of models from OpenAI, Anthropic, Gemini, Qwen, GLM, DeepSeek, etc, across 100 datasets covering knowledge, reasoning, coding, science, language, long-context, and safety.项目地址https://gitcode.com/gh_mirrors/op/opencompass点击查看免费下载相关推荐OpenCompass 大模型评测平台指南从安装配置到分布式评测实战OpenCompass 大模型评测平台指南从安装配置到分布式评测实战 OpenCompass司南是面向大语言模型评测的一站式开源平台提供公平、公开、可复模型评测人工智能大模型AI 评测Qwen2.5-Coder Base 模型代码能力评测套件实战指南从环境搭建到四大 Benchmark 全量评测Qwen2.5 Coder Base 模型代码能力评测套件实战指南从环境搭建到四大 Benchmark 全量评测 导读 本文基于 qwencoder eval大模型代码模型微调模型评测强化学习TouchVisualizer原理揭秘iOS触摸事件拦截与可视化实现技术TouchVisualizer原理揭秘iOS触摸事件拦截与可视化实现技术 在iOS开发中调试触摸交互一直是个挑战。TouchVisualizer作为一款轻量上一篇如何扩展Quality Prompts自定义提示技术与评估方法终极指南下一篇robot_localization完整教程多传感器融合定位的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考