模型评测人工智能大模型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 中思维链Chain of Thought, CoT相关评测能力的配置与原理。OpenCompass 在PromptTemplate与各类 Inferencer 层面原生支持 Zero-Shot CoT、Few-Shot CoT、Self-ConsistencySC与 Tree-of-ThoughtsToT四种方法覆盖数学推理、关系推理等复杂任务的评测需求。读完本文你将掌握每种方法的最小配置示例、关键参数语义并能基于源码理解其底层采样、投票与搜索机制进而为自定义数据集接入相应推理策略。背景为什么评测需要 CoT在推理过程中CoT思维链是帮助 LLM 处理复杂问题的有效手段典型场景包括数学问题求解与关系推理。OpenCompass 支持多种类型的 CoT 方法既可以通过PromptTemplate模板改造快速实现 Zero-Shot / Few-Shot CoT也可以通过替换 Inferencer 实现需要多轮采样与后处理的 Self-Consistency 和 Tree-of-Thoughts。下文分别介绍这四类方法在评测配置中的落地方式。1. Zero-Shot CoT在 PromptTemplate 中追加一句提示Zero-Shot CoT 不需要任何示例只需在数据集配置的PromptTemplate模板末尾追加Lets think step by step即可引导模型逐步推理。示例如下qa_infer_cfg dict( prompt_templatedict( typePromptTemplate, templateAnswer the question:\nQ: {question}?\nLets think step by step:\n ), retrieverdict(typeZeroRetriever) )其中template字段中的{question}会被替换为reader_cfg中声明的输入列内容retrieverdict(typeZeroRetriever)表示不进行上下文检索zero-shot直接基于模板构造生成型提示。该配置作用于infer_cfg的prompt_template部分评测时模型将先输出推理过程再给出答案后续可由对应的后处理器pred_postprocessor从生成文本中抽取最终答案。2. Few-Shot CoT把带推理过程的示例写进模板Few-Shot CoT 让模型更易遵循指令并给出更可靠的答案。做法是把问题 逐步推理 答案的完整示例写进PromptTemplate。下面是一个 one-shot 配置示例源自 gsm8k 官方示例 的模板结构qa_infer_cfg dict( prompt_templatedict( typePromptTemplate, template Question: Marks basketball team scores 25 2 pointers, 8 3 pointers and 10 free throws. Their opponents score double the 2 pointers but half the 3 pointers and free throws. Whats the total number of points scored by both teams added together? Lets think step by step Answer: Marks team scores 25 2 pointers, meaning they scored 25*2 50 points in 2 pointers. His team also scores 6 3 pointers, meaning they scored 8*3 24 points in 3 pointers They scored 10 free throws, and free throws count as one point so they scored 10*110 points in free throws. All together his team scored 502410 84 points Marks opponents scored double his teams number of 2 pointers, meaning they scored 50*2100 points in 2 pointers. His opponents scored half his teams number of 3 pointers, meaning they scored 24/2 12 points in 3 pointers. They also scored half Marks teams points in free throws, meaning they scored 10/25 points in free throws. All together Marks opponents scored 100125117 points The total score for the game is both teams scores added together, so it is 84117201 points The answer is 201 Question: {question}\nLets think step by step:\n{answer} ), retrieverdict(typeZeroRetriever) )需要说明的是模板中示例的数量one-shot、few-shot 的多条示例与推理质量直接相关{answer}是生成占位符模型在提示末尾生成的内容即最终评测样本。仓库中的 gsm8k_gen_a3e34a.py 即采用了含多道带完整推理步骤的 few-shot 模板4 道示例 1 道待测问题来构造生成型评测。3. Self-Consistency多次采样 多数投票Self-ConsistencySC方法由论文《Self-Consistency Improves Chain of Thought Reasoning in Language Models》arXiv:2203.11171提出对同一问题采样多条推理路径再对生成的答案进行多数投票从而提升推理任务的准确率。该方法的代价是推理阶段更耗时、更消耗资源因为需要多次生成并投票。OpenCompass 中只需把GenInferencer替换为SCInferencer并设置相应参数# 完整配置见 opencompass/configs/datasets/gsm8k/gsm8k_gen_a3e34a.py gsm8k_infer_cfg dict( inferencerdict( typeSCInferencer, # 将 GenInferencer 替换为 SCInferencer generation_kwargsdict(do_sampleTrue, temperature0.7, top_k40), # 设置采样参数以确保模型输出多样化目前仅对 HuggingFace 加载的模型生效 infer_typeSC, sc_sizeSAMPLE_SIZE ) ) gsm8k_eval_cfg dict(sc_sizeSAMPLE_SIZE)注意OpenCompass 默认使用 argmax 方式采样下一个 token。因此如果不显式指定采样参数模型每次推理结果将完全一致多轮采样评测将失去意义。SAMPLE_SIZE即 Self-Consistency 的推理路径条数取值越大通常性能越高。但不同推理任务存在边际收益递减部分任务在路径数增加到一定阈值后继续增加带来的提升有限。因此需要针对具体任务实验调参寻找最合适的路径数量。3.1 源码级原理SCInferencer 如何工作SCInferencer的实现位于 icl_sc_inferencer.py构造参数sc_size默认 1表示采样次数infer_type用于标注 CoT 推理类型generation_kwargs透传给model.generate()在inference()中模型对每个 prompt 循环self.sc_size次调用generate_from_template将sc_size组结果收集为sc_results再通过sc_prediction list(map(list, zip(*sc_results)))把同一样本的多次生成归组为列表见 icl_sc_inferencer.py输出的每个样本prediction是该问题sc_size条推理结果的列表后续由带投票逻辑的评测器/汇总器完成多数投票中间结果通过tmp_output_json_filename.json断点保存中断后可从已保存进度恢复见 icl_sc_inferencer.py。实际使用中sc_size需要同时在infer_cfg与eval_cfg中声明如 gsm8k_gen_a3e34a.py 中inferencer内sc_size20、eval_cfg内同样sc_size20保证推理采样条数与后续投票统计口径一致。评测端例如 gsm8k.py 中的Gsm8kEvaluator通过is_equal对最终答案做数值容差比较允许浮点误差 1e-6计算accuracy。3.2 调参建议generation_kwargs必须设置do_sampleTrue并配合较高temperature如 0.7与top_k如 40否则默认 argmax 采样会使sc_size次生成完全相同投票退化为单次生成sc_size从 20 起步gsm8k 官方配置即 20在小规模评测集上先验证收益曲线再决定是否放大该方案目前仅对从 HuggingFace 加载的模型保证采样效果与 ToT 的限制一致API 模型场景需自行确认其采样参数是否生效。4. Tree-of-Thoughts多路径探索 自评估 搜索与只考虑单一推理路径的传统 CoT 不同Tree-of-ThoughtsToT允许模型同时探索多条不同的推理路径通过自我评估判断推理过程并在必要时执行 lookahead前瞻或 backtracking回溯从而做出全局选择。整个过程分为四个阶段1. Thought Decomposition思维分解根据问题性质将问题拆解为多个中间步骤每一步可以是一个短语、一个方程或一个写作计划取决于问题形态。2. Thought Generation思维生成假设解决问题需要 k 步有两种生成推理内容的方式独立采样independent sampling对每个状态模型从 CoT 提示中独立抽取 k 条推理内容不依赖其他推理内容顺序生成sequential generation依次使用提示引导推理内容生成每条推理内容可能依赖前一条。3. Heuristic Evaluation启发式评估用启发式方法评估每条生成的推理内容对问题求解的贡献。这种自评估基于模型的自我反馈通过设计提示让模型对多条生成结果打分。4. Search Algorithm Selection搜索算法选择根据生成与评估推理内容的方式选择合适的搜索算法例如广度优先搜索BFS或深度优先搜索DFS系统性地遍历思维树执行前瞻与回溯。4.1 OpenCompass 中的 ToT 配置在 OpenCompass 中需要按需设置 ToT 参数。以下为官方论文arXiv:2305.10601中 24 点游戏Game of 24的示例配置。目前 ToT 推理仅支持 HuggingFace 模型# 完整配置见 opencompass/configs/datasets/game24/game24_gen_52a460.py from opencompass.datasets import (Game24Dataset, game24_postprocess, Game24Evaluator, Game24PromptWrapper) generation_kwargs dict(temperature0.7) game24_infer_cfg dict( prompt_templatedict( typePromptTemplate, template{input}), # 直接透传输入内容因为分步提示需要在 task_wrapper 中指定 retrieverdict(typeZeroRetriever), inferencerdict(typeToTInferencer, # 将 GenInferencer 替换为 ToTInferencer generation_kwargsgeneration_kwargs, method_generatepropose, # 推理内容生成方式独立采样(sample) 或 顺序生成(propose) method_evaluatevalue, # 推理内容评估方式投票(vote) 或 打分(value) method_selectgreedy, # 推理内容选择方式贪心(greedy) 或 随机(sample) n_evaluate_sample3, n_select_sample5, task_wrapperdict(typeGame24PromptWrapper) # 该 Wrapper 类包含各步骤提示及生成、评估推理内容的方法需按任务定制 ))各参数含义如下参数可选值说明method_generatesample/propose推理内容生成方式独立采样多条思维或顺序提出候选下一步method_evaluatevalue/vote推理内容评估方式逐状态打分或多状态合并投票method_selectgreedy/sample每步保留候选的方式取分值最高的或按分值概率随机抽取n_evaluate_sampleint每个状态被评估的次数评估采样数n_select_sampleint每步保留的状态数即 ToT 论文 ToT BFS 算法中的 btask_wrapperdict封装各阶段提示与生成/评估方法的 Wrapper 类需按任务定制说明仓库实际配置中的prompt_wrapper参数名与本文档的task_wrapper指同一概念在 game24_gen_52a460.py 中通过prompt_wrapperdict(typeGame24PromptWrapper)传入ToTInferencer内部以TOT_WRAPPER.build(prompt_wrapper)完成构建见 icl_tot_inferencer.py 与注册表 registry.py。4.2 源码级原理ToTInferencer 的四步循环ToTInferencer继承自GenInferencer核心算法在tot_solve()见 icl_tot_inferencer.py中实现对每一步迭代执行生成 → 评估 → 选择生成若method_generate sample调用get_samples()用n_generate_sample的 beam 数采样多条完整思维若为propose调用get_proposals()让模型提出若干下一步候选icl_tot_inferencer.py评估若method_evaluate vote调用get_votes()让模型对全部候选投票若为value调用get_values()逐个打分value 输出经value_outputs_unwrap映射为数值见 game24.py其中impossible0.001、likely1、sure20选择若method_select greedy按分值降序保留前n_select_sample个候选若为sample按分值归一化后的概率随机抽取n_select_sample个icl_tot_inferencer.py循环直到 wrapper 定义的steps步数完成Game24 为 4 步返回最终候选集合由评测器从候选答案中判定是否得到 24。以 24 点为例Game24PromptWrapper 内置了standard_prompt5-shot 直接求解、cot_prompt5-shot 分步求解、propose_prompt1-shot 提出下一步、value_prompt/value_last_step_prompt评估打分等多套提示模板并通过value_cache缓存评估结果避免重复调用Game24Evaluator使用 sympy 化简表达式验证结果是否等于 24 且数字集合与题目一致见 game24.py。4.3 在自定义数据集上使用 ToT若要在自定义数据集上使用 ToT 方法需要在opencompass/datasets/YourDataConfig.py文件中做额外配置定义YourDataPromptWrapper类。该类负责 ToT 框架内的思维生成与启发式评估环节。对于与 24 点类似的推理任务可参考 opencompass/datasets/game24.py 中的实现核心包括定义steps最大推理步数与各阶段提示模板standard / cot / propose / value实现propose_prompt_wrap、value_prompt_wrap等包装方法把当前状态如剩余数字拼接到对应提示上实现value_outputs_unwrap将模型打分文本sure / likely / impossible映射为数值供选择阶段排序或抽样使用定义与 wrapper 配套的postprocess与 Evaluator用于从最终输出中抽取答案并验证正确性。小结按评测目标选择 CoT 方法方法核心改动适用场景资源开销Zero-Shot CoT仅改PromptTemplate模板快速验证模型基础推理能力低Few-Shot CoT模板内嵌带推理的示例引导模型遵循指令、提升稳定性低Self-ConsistencyGenInferencer→SCInferencer设置sc_size与采样参数追求更高推理准确率可容忍多轮采样中多次生成 投票Tree-of-ThoughtsGenInferencer→ToTInferencer 任务 Wrapper需要多路径探索、回溯的复杂推理如 24 点高多步生成 评估相关参考资料可进一步阅读 PromptTemplate 文档 与 prompt 总览SC 完整配置见 gsm8k_gen_a3e34a.pyToT 完整配置见 game24_gen_52a460.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点击查看免费下载相关推荐3大维度彻底掌握eSpeak NG从零开始构建你的多语言语音合成系统终极指南3大维度彻底掌握eSpeak NG从零开始构建你的多语言语音合成系统终极指南 你是否曾为语音合成系统的笨重、昂贵和语言支持有限而苦恼想象一下你正在开发一个语音音频state-threads与SRS集成案例构建高并发流媒体服务器的最佳实践state threads与SRS集成案例构建高并发流媒体服务器的最佳实践 在当今互联网时代流媒体服务的需求呈爆发式增长构建高性能、高并发的流媒体服务器成网络与通信基础架构Tree of Thoughts核心算法解析BFS搜索与思维生成评估机制Tree of Thoughts核心算法解析BFS搜索与思维生成评估机制 Tree of ThoughtsToT是大语言模型推理领域的突破性算法它通过构人工智能大模型提示工程上一篇tQuery 类名与数据操作像 jQuery 一样管理 3D 对象下一篇Claude Code UI的WebSocket通信机制深度解析构建实时AI代码交互的完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
加密流量恶意行为检测:基于时序与TLS指纹的免解密机器学习方案 简介:本资源是一个面向网络安全与机器学习交叉领域的高分实践项目,适用于高校信息安全、网络工程专业学生及初级安全研发工程师,聚焦加密恶意流量的自动化识别与检测难题。项目基于Scapy实现正常流量采集与大规模攻击PCAP解析,完成… · 2026/9/28 2:56:34
Win32 GDI AlphaBlend半透明绘制:预乘Alpha与实战避坑 简介:面向Windows开发者的AlphaBlend半透明绘制示例工程,由开发者u010918911整理并提供完整可编译运行的C项目,适合有C基础、希望掌握图形界面半透明绘制的读者;工程围绕Windows GDI中的Alpha混合技术展开,演示如何借助… · 2026/9/28 2:56:27
Spingboot启动预热的实现 启动预热的适用场景启动预热适合以下情况:数据主要来自第三方接口,无法直接从本地数据库读取。第三方接口响应较慢,首次访问容易超时。一个页面需要调用多个第三方接口或逐项查询。数据读取频繁,但变化不频繁。希望服务启动后&… · 2026/9/28 3:40:12
学Java别走弯路,这5个方向最吃香 学Java的人很多,但学明白的人不多。有人学了半年还在写控制台程序,有人一年就能独当一面。差别不在天赋,而在方向。Java生态太庞大了,什么都学等于什么都没学。选对方向,事半功倍。今天盘点当前最吃香的5个Java方向&am… · 2026/9/28 3:32:15
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
制作网页比较方便的软件怎么选?一文搞懂避坑指南 制作网页比较方便的软件怎么选?一文搞懂避坑指南 很多老板一上来就问:做个网站多少钱?但我反问他:你的域名买了吗?服务器租了吗?他一脸懵。这就是典型的“域名服务器搞不懂”。别急,今天咱们不聊虚的,直接 一文搞懂 那些让你头秃的技术名词。… · 2026/9/28 0:00:06
婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量 婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量 找婚恋网站建站公司,最怕的就是被坑高价。很多同行跟我吐槽,报价单上写得模棱两可,功能栏里全是“高级定制”、“专属UI”,结果落地全是套壳。今天不聊虚的,直接甩几个我经手的 实战案例… · 2026/9/28 0:00:19
济南做网站多少钱:3个案例拆解,防黑源码下载全攻略 济南做网站多少钱:3个案例拆解,防黑源码下载全攻略 上周济南一个做建材的老板找我,脸都绿了。他的官网首页弹出了赌博广告,后台被植入了挖矿脚本。他慌得问我:“网站被黑挂马不知道怎么办?能不能直接找之前的外包公司要源码下载,看看哪里被动了手脚?… · 2026/9/28 0:00:25