HiDeepSeekDev
高峰时段
OPENCOMPASS · EVALHiDeepSeek / Open Infra

$ configure → infer → evaluate

REASONING HARNESSOPEN SOURCE
教程指南OpenCompass推理评测DeepSeek

用 OpenCompass 评测 DeepSeek 推理模型:配置、答案提取与结果复现

H
HiDeepSeek 编辑部
阅读大约 10 分钟

OpenCompass 是配置驱动的大模型评测平台,流程可以概括为 Configure、Inference、Evaluation 和 Visualization。它支持 Hugging Face、本地推理后端和 API 模型,也提供了面向 DeepSeek-R1 等推理模型的评测说明。

一、先选择生成式任务

推理模型通常需要生成完整解题过程和最终答案,因此应优先选择名称带 _gen 的生成式配置。名称带 _ppl 的配置依赖困惑度或选项概率,更适合能够返回 logits 的本地基础模型,不能简单套到聊天 API 上。

conda create --name opencompass python=3.10 -y
conda activate opencompass
pip install -U opencompass

# 先确认本地版本中的配置名称
opencompass --help

二、把 DeepSeek API 配成显式实验

OpenCompass 可以通过兼容 OpenAI 的模型封装调用 API。正式评测时,不要只记录“DeepSeek”四个字;配置中应冻结模型名、接口地址、并发、重试、最大输出长度、温度和系统指令。密钥通过环境变量提供,不要写入 Python 配置。

export DEEPSEEK_API_KEY='你的密钥'

# 建议从仓库的 API 示例复制当前配置类,
# 再替换 api_base、key 环境变量和 model 字段。

三、答案提取比生成本身更容易出错

数学任务可能要求答案位于 \boxed{} 中,代码任务可能使用 Markdown 围栏,选择题则可能只接受单个字母。模型答对但格式不同,会被规则评分判错;过度宽松的正则又可能从错误推理中捞出一个偶然数字。

  • 先运行少量样本,人工比对原始输出和提取结果。
  • 优先使用任务自带的 MathVerify 或官方 evaluator。
  • 保存失败样本,区分内容错误、格式错误和调用错误。

四、谨慎处理思考内容

DeepSeek 推理模型的思考段可能增加输出长度,并改变最终答案的位置。若服务返回独立 reasoning 字段,应明确评测器使用哪个字段;若思考与答案混在文本中,则需要冻结分隔规则。不要在不同模型间使用不同的答案清洗策略后直接比较总分。

五、复现清单

  1. 记录 OpenCompass 版本、数据集 revision 与配置文件。
  2. 记录模型版本、Prompt、采样参数和最大 Token。
  3. 报告完成率、API 错误率与被截断样本数。
  4. 导出 CSV/TXT 结果,并保留一份脱敏后的原始响应。
OpenCompass 能统一实验流程,但推理模型是否被公平评分,最终仍取决于 Prompt、输出边界和答案验证器。

参考资料

本文按下列官方资料核验。模型能力、价格与接口可能调整,请以最新文档为准。