ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

使用 OpenCompass 评测 Intern-S1:模型接入、LLM Judge 配置与完整评估流程

使用 OpenCompass 评测 Intern-S1:模型接入、LLM Judge 配置与完整评估流程 模型评测人工智能大模型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 官方针对 Intern-S1InternLM 开源的推理/思考模型提供的评测实战指南。文章围绕「部署 API 服务 → 配置模型接入 → 配置数据集与 LLM Judge → 启动评估」这条完整链路展开读者学完后可以基于 OpenCompass 将任意 OpenAI 兼容的推理模型接入评测流程并正确处理思考模式thinking mode下的输出后处理与长序列评测场景。一、评测前的准备模型下载与 API 服务部署Intern-S1 已经开源可先从 Hugging Face 下载模型权重仓库内配置默认使用internlm/Intern-S1作为模型路径。模型下载完成后官方推荐将模型部署为 API 服务供 OpenCompass 调用而不是在评测机本地直接加载权重。支持以下部署方式LMDeployInternLM 官方推理引擎对 Intern 系列模型支持完善vLLM高性能推理框架可通过 OpenAI 兼容接口对外提供服务SGLang同样提供 OpenAI 兼容服务接口。部署细节Serving以 Intern-S1 官方仓库的说明为准本文聚焦 OpenCompass 侧的接入配置不涉及具体部署命令。部署完成后你会得到一个 API Base 地址与 API Key它们将直接用于下文模型配置中的openai_api_base与key字段。二、模型接入配置intern_s1.pyOpenCompass 在opencompass/configs/models/interns1/intern_s1.py中提供了现成的 Intern-S1 模型配置示例用户只需按需修改即可。完整配置如下from opencompass.models import OpenAISDK from opencompass.utils.text_postprocessors import extract_non_reasoning_content api_meta_template dict( round[ dict(roleHUMAN, api_roleHUMAN), dict(roleBOT, api_roleBOT, generateTrue), ], ) models [ dict( abbrintern-s1, keyYOUR_API_KEY, # 填写你的 API KEY openai_api_baseYOUR_API_BASE, # 填写你的 API BASE typeOpenAISDK, pathinternlm/Intern-S1, temperature0.7, meta_templateapi_meta_template, query_per_second1, batch_size8, max_out_len64000, max_seq_len65536, openai_extra_kwargs{ top_p: 0.95, }, retry10, extra_body{ chat_template_kwargs: {enable_thinking: True} # 基于 vllm 或 sglang 部署时控制思考模式开关 }, pred_postprocessordict(typeextract_non_reasoning_content), # 开启思考模式后提取非推理内容用于评测 ), ]关键字段说明字段作用说明type模型封装类型使用OpenAISDK即 OpenAI SDK 风格的 API 模型封装见 openai_api.pypath模型标识传给 API 服务的模型名/路径默认internlm/Intern-S1abbr模型缩写用于结果文件命名与报告展示可自定义openai_api_baseAPI 服务地址指向已部署服务的 OpenAI 兼容端点从源码看也支持传入list此时会随机选择一个以做多端点负载均衡openai_api.pykeyAPI 密钥也支持传入密钥列表实现轮换temperature/top_p采样参数思考类模型通常配合一定的随机性采样top_p通过openai_extra_kwargs透传给 OpenAI SDKquery_per_second请求速率上限控制每秒最大请求数避免打爆服务端batch_size并发批大小并发请求条数需与服务端容量匹配max_out_len最大生成长度Intern-S1 为长推理模型配置为 64000覆盖其长 CoT 输出max_seq_len最大序列长度配置为 65536与长上下文的评测需求匹配retry失败重试次数API 调用失败后的重试次数meta_template元提示模板定义 HUMAN/BOT 角色轮次generateTrue标记生成角色用于组装对话请求extra_body额外请求体字段当基于 vLLM/SGLang 部署时通过chat_template_kwargs.enable_thinking控制思考模式开/关pred_postprocessor预测后处理器开启思考模式后用于剔除推理thinking内容仅保留最终答案参与评测思考模式与extract_non_reasoning_content的底层原理当enable_thinkingTrue时模型输出会携带think.../think推理标签。评测指标如准确率匹配只应针对最终答案计算因此需要把推理内容剥离开。这一后处理由注册在opencompass/utils/text_postprocessors.py中的extract_non_reasoning_content完成text_postprocessors.py其核心逻辑为若文本中只存在结束标签/think则按结束标签切分并取最后一段若起止标签都存在则用正则think(.*?)/thinkre.DOTALL模式将中间推理段落整体删除。该函数还支持自定义思考标签如think_start_token与think_end_token参数仓库内 HuatuoGPT-O1 等模型配置即传入了## Thinking/## Final Response这类自定义标记。对应单元测试见 test_text_postprocessors.py覆盖了「仅含结束标签」与「成对标签」两种典型场景。三、数据集配置与 LLM Judgeeval_bench_intern_s1.pyOpenCompass 在examples/eval_bench_intern_s1.py中提供了评测 Intern-S1 使用的数据集配置也可按需追加其他数据集。该示例文件实际上是一份可直接运行的完整评测配置其内部结构如下数据集导入通过read_base批量引入 8 个数据集配置涵盖多个能力维度数学推理aime2025级联评测配置科学推理GPQA_diamond、ChemBenchLLM Judge 评测、ProteinLMBenchLLM Judge 评测通识知识mmlu_pro指令遵循IFEval实验科学matbenchLLM Judge 评测指令生成SmolInstruct的 0-shot instruct 系列子集。模型导入复用上文opencompass/configs/models/interns1/intern_s1.py中的models。推理长度适配遍历所有数据集将infer_cfg[inferencer][max_out_len]统一设为 65536以匹配思考模型的长输出需求。LLM Judge 注入将统一的judge_cfg注入到需要 LLM 评判的评估器judge_cfg字段或llm_evaluator.judge_cfg中。配置 LLM Judge评判模型对于 ChemBench、ProteinLMBench、matbench 这类主观/生成式评测任务需要额外配置一个 LLM 评判模型来打分。文档给出的示例配置如下judge_cfg dict( abbrYOUR_JUDGE_MODEL, typeOpenAISDK, pathYOUR_JUDGE_MODEL_PATH, keyYOUR_API_KEY, openai_api_baseYOUR_API_BASE, meta_templatedict( round[ dict(roleHUMAN, api_roleHUMAN), dict(roleBOT, api_roleBOT, generateTrue), ]), query_per_second1, batch_size1, temperature0.001, max_out_len8192, max_seq_len32768, modemid, )与待评模型配置相比Judge 配置有以下差异值得注意temperature0.001评判任务追求稳定一致几乎退化为贪心解码避免同一答案在不同次打分中出现明显波动max_out_len8192/max_seq_len32768评判模型无需覆盖超长 CoT输出上限可以收紧modemid指定输入超长时的截断策略为从中间截断OpenAI 基类支持front/mid/rear三种截断位置默认none见 openai_api.pybatch_size1评判请求单条串行保证打分质量与稳定性。在examples/eval_bench_intern_s1.py中judge_cfg先被置为空dict()随后通过循环注入到每个数据集的评估器配置中因此自行追加数据集时必须保证该数据集若依赖 LLM 评判其judge_cfg能被正确覆盖。摘要与输出目录示例文件还内置了summarizer配置按「Knowledge / Instruction Following / General Reasoning / Math Calculation / Academic / SmolInstruct」等分组汇总各数据集成绩如[mmlu_pro, accuracy]、[GPQA_diamond, accuracy]、[aime2025, accuracy]、[ChemBench, naive_average]等并指定输出目录work_dir ./outputs/oc_bench_intern_s1。四、推理与评测执行配置examples/eval_bench_intern_s1.py中还包含推理与评测阶段的任务调度配置与 OpenCompass 通用的infer/eval字典结构一致# 推理阶段8 个 worker 并行推理本地 runner最多 16 个并发进程 infer dict( partitionerdict(typeNumWorkerPartitioner, num_worker8), runnerdict( typeLocalRunner, max_num_workers16, retry0, # 按需修改 taskdict(typeOpenICLInferTask), ), ) # 评测阶段Naive 切分 10 份本地 runner 执行 OpenICLEvalTask eval dict( partitionerdict(typeNaivePartitioner, n10), runnerdict(typeLocalRunner, max_num_workers16, taskdict(typeOpenICLEvalTask)), )其中NumWorkerPartitioner按 worker 数量切分推理任务NaivePartitioner将评测数据朴素均分为n份。由于 Intern-S1 输出极长推理答案任务切分粒度与并发度需结合服务端吞吐能力调整避免单 worker 超时或请求堆积。五、启动评估完成上述模型与数据集配置后在仓库根目录执行以下命令即可启动评估opencompass examples/eval_bench_intern_s1.pyOpenCompass 会依次完成配置读取与合并 → 推理任务切分与下发对 Intern-S1 执行长上下文推理→ 结果评测含 LLM Judge 打分→ 汇总输出报告到work_dir指定目录。六、常见实践要点小结思考模式与评测解耦enable_thinkingTrue仅影响服务端推理时的输出格式评测侧通过pred_postprocessordict(typeextract_non_reasoning_content)剥离think内容保证打分只看最终答案。长序列参数必须匹配Intern-S1 的max_out_len64000、max_seq_len65536与数据集侧max_out_len65536三者需保持一致口径否则可能出现截断导致答案不完整。Judge 模型独立配置LLM 评判任务使用低温、单并发、中截断策略与待评模型的采样参数相互独立可分别调优。可扩展性如需追加数据集只需在read_base中引入对应数据集配置即可若新数据集依赖 LLM 评判确保其评估器中的judge_cfg会被示例文件中的循环覆盖逻辑捕获。参考资源模型配置opencompass/configs/models/interns1/intern_s1.py完整评测示例examples/eval_bench_intern_s1.py思考内容提取实现opencompass/utils/text_postprocessors.py对应单元测试tests/utils/test_text_postprocessors.pyOpenAI SDK 模型封装opencompass/models/openai_api.py赞分享模型评测人工智能大模型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点击查看免费下载相关推荐CloudCLI 应用图标 SVG 转 PNG 全流程指南多尺寸 PWA 图标生成与转换实战CloudCLI 应用图标 SVG 转 PNG 全流程指南多尺寸 PWA 图标生成与转换实战 本篇指南以 CloudCLIClaude Code UI仓库模型评测人工智能大模型AI 评测如何把 Amazon Bedrock 模型接入 DeepEval 用作评估 judge如何把 Amazon Bedrock 模型接入 DeepEval 用作评估 judge DeepEval 里几乎所有指标 GEval 、 AnswerRel人工智能大模型模型评测AI 评测测试红蓝对抗提示工程Oumi 评估配置完全指南用 EvaluationConfig 与 YAML 定制 LLM/VLM 评测流程Oumi 评估配置完全指南用 EvaluationConfig 与 YAML 定制 LLM/VLM 评测流程 Oumi OSS 提供了一套统一的评估框架用于人工智能大模型预训练微调强化学习模型推理服务模型评测MCP 服务分布式训练模型量化上一篇Local Deep Research全面解析构建本地AI研究助手的架构设计与最佳实践下一篇手机秒变文件服务器prim-ftpd的5个实用技巧提升传输效率创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表