前言
上篇文章《大模型训练全流程实战指南工具篇(十一)—— 大模型训练参数调优实战:从小白到调参高手》中,笔者带大家深入讲解了训练参数的调优策略,从读懂Loss曲线到针对不同异常情况“对症下药”,相信很多朋友已经学会从训练到调优的基本流程了。
但训练完成之后,一个更关键的问题随之而来:你训练出来的模型,到底好不好用?
笔者在后台收到过很多类似的提问:“我微调了一个模型,感觉回答质量提升了不少,但怎么用数据来证明呢?”“同样是微调后的模型,A和B哪个更强,该怎么比?”这些问题本质上都指向同一个话题——大模型评测。
模型训练完成只是第一步,科学、客观地评测模型效果才是决定模型能否上线的关键环节。今天笔者就带大家系统了解大模型评测的方方面面,从为什么需要评测、有哪些评测方法、常用的评测数据集,一文讲透大模型评测的相关内容。
一、为什么需要大模型评测
很多小伙伴可能会有这样的想法:“我训练完模型,自己试几个问题感觉效果不错,不就说明模型挺好的吗?”
这个想法看似有道理,但实际工作中,仅凭主观感觉来评判模型是远远不够的。主要有如下几点原因:
- 模型训练本身需要明确的“方向感”。训练过程中的Loss下降只能告诉模型在“记住”训练数据,但无法说明模型的泛化能力和实际表现是否真的提升了。就像学生在刷题,平时的练习正确率上去了,不代表他真正掌握了知识点,更不代表他能在正式考试中取得好成绩。
- 在模型选型和迭代时,需要有客观的标尺来衡量不同模型的表现。千亿参数的大模型训练极其烧钱,对于底层模型厂商来说,评测分数是企业融资、获取算力资源的重要依据;对于企业客户来说,分数是决定是否将核心业务交给AI来处理的决策依据。没有统一的评测标准,就无从对比模型的优劣,技术决策就会变成“拍脑袋”。
- 大模型评测是发现模型短板的重要手段。大模型的评估不仅仅是技术层面的工作,更是企业战略决策的重要支撑,涵盖了模型选型指导、产品质量保障、技术创新推动和生态健康发展等多个维度。一个在通用对话中表现不错的模型,可能在数学推理上一塌糊涂,或者在代码生成上漏洞百出。只有通过系统化的评测,才能全面了解模型的真实能力边界。
- 从合规和安全角度来看,大模型评测也是确保模型输出的安全性、公平性和合规性的必要手段。无论大家是做垂直领域的行业模型,还是做通用对话模型,都需要确保模型在上线后不会输出有害、冒犯性或存在偏见的内容。
正因为如此,大模型评测在整个大模型训练流程中占据着至关重要的位置。可以说,没有经过严格评测的模型,就没有资格进入生产环境。
二、大模型评测的三大方法
那么,具体该怎么评测一个大模型呢?目前业界主流的方法可以归纳为三种:人工评测、数据集评测,以及用别的大模型进行自动化评测。
2.1 人工评测:最直接,但也最费时
人工评测是模型开发初期最常用的手段。由人工设计评测数据集和评测指标项,对模型生成的回答进行打分,评测完成后基于打分结果生成评测报告。
它的优势在于直观、灵活——人可以直接判断回答的质量、逻辑性、流畅度、是否有事实性错误等维度,这些都是机器很难自动衡量的方面。尤其在需要评估创造力、幽默感、用户体验等主观维度时,人工评测几乎是不可替代的。
但人工评测的局限也非常明显:效率低、成本高、一致性差。一个团队手动检查1000条生成结果可能需要数小时,而且不同人对同一回答的评分可能存在30%以上的偏差。因此,人工评测通常不会作为大规模的常规评测手段,而更多用于模型开发早期的定性判断和上线前的最终把关。
2.2 数据集评测:标准化、可复现的“统考”
数据集评测是目前最主流、也是最具参考价值的评测方式。它的思路很简单:用一套标准的“考题”(评测数据集)来测试模型,然后通过预设的评分规则或指标来量化模型的表现。
打个比方,这就像大模型界的“高考”——统一的试卷,统一的评分标准,谁高谁低一目了然。
数据集评测的优势在于标准化、可复现、可对比。同样的数据集、同样的评测流程,可以对不同模型进行公平的横向对比。目前业界已经积累了大量的公开评测数据集,覆盖了通用知识、数学推理、代码生成、中文理解等各个维度,笔者在后文会详细介绍。
不过,数据集评测也有需要注意的地方。一是数据污染问题——如果模型在训练过程中“见过”测试集,评测分数就会失真。二是基准测试与现实应用之间可能存在脱节——在标准数据集上表现优异的模型,在实际场景中未必同样出色。
2.3 大模型自动化评测:用大模型评大模型
这是已经具备GPT,Claude等较强大模型基础后兴起的一种新型评测方式。核心思路是用一个能力更强的“裁判模型”来对被评测模型的生成结果进行打分。这种方式特别适合开放性问答或复杂对话场景——这类任务没有标准答案,传统的基于规则或相似度匹配的评测方式无法胜任。
裁判模型评测可以支持评分模式和对比模式。评分模式下,裁判模型对被评测模型的回答给出一个分数;对比模式下,裁判模型直接比较两个模型的回答质量,输出胜负判断。
这种方式的好处是兼顾了自动化的效率和人工评测的灵活性,但也存在一定的争议——裁判模型自身的偏好和偏差可能会影响评分结果,因此在使用时需要谨慎设计评测Prompt,并对裁判模型的可靠性进行验证。
小贴士:三种评测方式各有适用场景,实际工作中往往需要组合使用——用数据集评测做大规模、标准化的能力测试,用自动化评测做开放性任务的评估,最后用人工抽检做最终的质量把关。
三、典型大模型评测数据集概览
了解了评测方法之后,笔者和大家一起来认识一下业界最常用、最具代表性的几类评测数据集。这些数据集就像大模型界的“考试科目”,每一门都在考察模型不同的能力。
3.1 通用知识与语言理解
- MMLU:伯克利大学等联合发布的大规模多任务语言理解基准测试,包含57个学科领域,涵盖STEM、人文、社会科学等,共15908道选择题,是目前最权威的英文通用知识评测数据集之一。但由于许多模型已经在MMLU上已经接近饱和(>90%准确率),因此业界又推出了更具挑战性的MMLU-Pro版本。
- C-Eval:中文领域的“MMLU”,由上海交通大学、清华大学和爱丁堡大学联合发布,包含13948道选择题,覆盖52个学科和四个难度级别,是评测中文模型基础能力的权威基准。
- CMMLU:另一个全面的中文评测数据集,覆盖67个主题,从基础学科到高级专业知识均有涉及,与C-Eval互为补充。
3.2 数学与逻辑推理
- GSM8K:OpenAI发布的小学数学应用题数据集,包含8500道高质量数学题,是目前最常用的数学推理能力评测基准-。虽然题目是小学数学水平,但对大模型的多步推理能力有很高的要求。
- MATH:比GSM8K更难一个档次的数学评测集,包含12500道高中数学竞赛题,需要模型具备较强的数学推理和计算能力。
- BBH:包含204项困难任务的数据集,覆盖语言学、常识推理、软件开发等多个领域,专门评测模型处理高难度任务的能力。
3.3 代码生成与软件工程
- HumanEval:OpenAI发布的代码能力测试集,包含164道手写编程题,要求根据自然语言描述生成正确的代码片段。评测指标采用Pass@k,即生成k个答案中至少有一个通过所有测试用例的问题占比。
- SWE-Bench:由普林斯顿大学、斯坦福大学等联合发布的软件工程基准测试集,包含 2294 个真实的 GitHub Issue-Solution 对。每个样本要求模型根据给定的代码仓库和 Issue 描述(如修复 bug、添加功能),生成正确的代码补丁(patch),然后通过单元测试验证补丁是否真正解决了问题。SWE-Bench 反映了模型在实际软件工程任务中的表现,是目前评测大模型编程能力和自动化修复能力的重要基准。近年来又衍生出 SWE-Bench Verified(经过人工验证的子集,更可靠)、SWE-Bench Multilingual(多语言版本)等变体。如果你在训练 Coding Agent 或做代码自动化修复,SWE-Bench 是必测的数据集。
3.4 综合考试与专业知识
- AGIEval:微软研究院发布的评测基准,选取20种面向普通人类考生的官方标准化考试题目,包括高考、司法考试、数学竞赛、律师资格考试等,全面考察模型的认知能力和知识掌握程度。
- GPQA Diamond:由生物学、物理学和化学领域专家编写的多选问答数据集,包含448个极其困难的问题,专门用于评测模型在跨学科复杂问题上的表现。
选型建议:做通用模型评测,建议至少覆盖MMLU(英文)、C-Eval(中文)、GSM8K(数学)和HumanEval(代码)这四个维度。如果是金融、医疗等专业领域,还需要引入相应领域的评测数据集。
四、常用评测工具
有了前文的评测方法和数据集,接下来就是“怎么测”的问题。人工评测这里就不展开了,笔者重点介绍数据集测试工具和大模型评测中的提示词设计。
4.1 数据集测试:EvalScope 一站式搞定
数据集测试是最标准化的评测方式,无论公开基准数据集还是自己构造的业务数据集,都可以借助工具高效完成。这里强烈推荐 EvalScope——魔搭社区(ModelScope)官方开源的轻量级大模型评测框架。
EvalScope 的核心优势:
- 内置主流数据集:开箱即支持 MMLU、C-Eval、CMMLU、GSM8K、MATH、HumanEval、SWE-Bench 等 20+ 个业界公认的评测基准,无需手动下载和预处理。
- 支持自定义数据集:除了公开数据集,你还可以把自己构造的问答数据集(CSV / JSONL 格式)交给 EvalScope,完成评测全流程。
- 自动计算指标:根据数据集类型自动匹配评测指标(如准确率、BLEU、Rouge、Pass@k 等),输出结构化报告。
- 可视化与对比:提供 WebUI 界面,支持多模型对比和竞技场模式。
- 多模型兼容:支持本地 HuggingFace 模型、OpenAI API 兼容接口、魔搭社区模型等。
在专业领域评测中,EvalScope 支持两种数据集测试形式:
- 公开基准数据集测试:指定模型和数据集名称(如
mmlu、gsm8k),EvalScope 自动完成数据加载、模型推理、指标计算。这主要用于验证模型在训练后是否保持了通用能力。 - 自定义问答数据集测试:按照预设格式准备好业务数据,通过参数指定本地路径,EvalScope 即可完成评测。你还可以将多个自定义数据集组合成“评测集合”,按业务重要程度分配权重,一次性得到贴合真实场景的综合评分。这主要用于评估专业领域模型在训练后效果是否有实质性提升。
小贴士:自定义数据集建议控制在 100~500 条高质量样本,覆盖业务中的高频、高价值场景。数据质量远比数量重要。
4.2 大模型评测中的提示词设计:需要你自己动手
除了数据集测试,还有一种重要的评测方式——用大模型作为裁判(LLM as Judge) ,对模型的开放性回答进行质量评估。这种方式尤其适合没有标准答案的任务,如问答生成、创意写作、对话连贯性、安全性判断等。
使用裁判模型评测时,提示词的设计是决定结果准确性的关键。这部分工作需要你自行编写评测提示词,并调用大模型接口,让裁判模型对预期答案和模型生成答案进行对比评判。具体步骤如下:
- 定义评测维度:明确要评估模型的哪些方面,例如相关性、准确性、完整性、友好度、安全性等,并为每个维度给出清晰的定义。
- 设计评分量表:为每个维度设定具体的分数刻度(如 1~5 分),明确每个分数对应的表现描述,避免使用“好/中/差”等模糊表述。
- 编写裁判提示词:将评测维度和评分规则嵌入提示词中,明确告知裁判模型“你的任务是什么”“按照什么标准打分”“输出格式是什么”。可以加入少样本示例(few-shot)来稳定裁判行为。
- 编写评测脚本:自行编写脚本,依次完成:加载待评测模型和裁判模型(或调用 API)→ 读取测试问题集 → 用待评测模型生成回答 → 用裁判模型根据设计的提示词对每个回答打分 → 汇总分数,生成评测报告。
- 验证与迭代:人工抽检部分裁判打分结果,检验评分的合理性,必要时调整提示词或评分标准,重复评测直至稳定可靠。
五、总结
本文带大家系统梳理了大模型评测的完整体系。从“为什么需要评测”入手,认识到评测是模型选型、迭代优化和合规上线的决策基石;接着介绍了三种主流评测方法——人工评测、数据集评测和大模型自动化评测,各有适用场景;然后详细列举了通用知识、数学推理、代码生成、综合考试等维度的代表性数据集(MMLU、C-Eval、GSM8K、HumanEval、SWE-Bench 等),这些构成了大模型能力的“全景体检单”;最后,在工具层面区分了两种场景:数据集测试(含公开数据集和用户自定义数据集)可使用 EvalScope 一站式完成,而大模型评测中的提示词设计(如裁判模型评测)则需要用户自定义标准并编写评测脚本。
大模型评测和训练一样,是一门实践性很强的技能,需要在真实场景中不断积累经验。希望本文能够帮助大家建立起系统的评测思维,从“主观感觉”走向“数据驱动”。关于大模型评测的方法论与数据集就分享到这里了。接下来就该真正动手实操了——下一期文章笔者将带大家实战分享两种评测工具的具体使用:EvalScope 的完整操作流程(环境安装、公开数据集评测、自定义数据集评测)以及裁判模型评测脚本的编写示例(如何设计提示词、调用 API、汇总分数),大家敬请期待!
除大模型训练外,笔者也在同步更新《深入浅出LangChain&LangGraph AI Agent 智能体开发》专栏,要说明该专栏适合所有对 LangChain 感兴趣的学习者,无论之前是否接触过 LangChain。该专栏基于笔者在实际项目中的深度使用经验,系统讲解了使用LangChain/LangGraph如何开发智能体,目前已更新 45 讲,并持续补充实战与拓展内容。欢迎感兴趣的同学关注笔者的掘金账号与专栏,也可关注笔者的同名微信公众号大模型真好玩,每期分享涉及的代码均可在公众号私信: LangChain智能体开发免费获取。