构建评测指数(Index)#
通过 Collection,你可以在 EvalScope 中定义属于自己的 评测指数(Index):
把多个数据集按业务价值“配比”在一起,一次跑测,得到贴合你真实场景的综合评分。
什么时候需要自定义 Index?#
很多团队在选型时只看单一基准(例如 MMLU 分数),但往往遇到几个典型问题:
单一数据集不等于真实场景
你的实际场景可能是:RAG 问答(知识库检索 + 回答)
金融/法律等垂直领域分析
代码补全与代码审查 这些往往难以被某一个公开数据集完全覆盖。
公共榜单不等于你的最佳模型
榜单关注“通用能力”,而你更关心“业务价值”:哪个模型更适合你的 RAG workflow?
哪个模型在你关心的领域错误率最低?
哪个模型在成本和效果之间更平衡?
你需要一个“反映自己价值观”的指数
就像:Vals Index 聚焦商业价值
你也可以定义一个 只服务于你业务决策的 Index。
EvalScope 的 Collection 就是为此设计的:
你可以把多个数据集“打包”,按业务重要性设置权重,形成一个真正属于你的评测指数。
核心心智模型:Collection = 带权重的多数据集评测#
可以把 Collection 理解为:
一个描述“我关心什么,以及各占多少比重”的 配置文件
→ 抽样出一个混合数据集
→ 用 EvalScope 一次性评测
→ 得到一份按你价值观加权的“模型综合得分表”。
从使用者角度,你只需要关心三件事:
我要评哪些 数据集?
每个数据集在我的决策里 占多少权重?
我希望从这些数据集中 怎么抽样(多少样本、如何分布)?
从 0 到 1:如何使用 Collection 构建 Index?#
下面是一个最小可用的工作流,帮助你快速上手。
1. 定义 Schema:声明“我在意什么”#
在 Schema 中,你需要做两件事:
选定要纳入 Index 的 数据集列表
例如:gsm8k:基础数学推理一个内部构造的 RAG 问答数据集
一个代码补全数据集
为每个数据集设置 权重(weight)
权重可以反映你对不同能力维度的重视程度:RAG 场景占 50%
金融问答占 30%
一般推理能力占 20%
更多细节请见: 定义你的 Schema。
2. 采样数据:从多个数据集中抽出代表性样本#
基于 Schema,EvalScope 可以为你生成一个 混合数据集 JSONL。
你可以通过几种常见策略来控制采样方式:
按权重采样:数据量大致按权重比例分配;
分层采样:不同难度等级/子任务都能被覆盖;
均匀采样:每个数据集取固定数量样本,方便做对比。
最终得到的是一个“已经混好”的 JSONL 文件,后续评测只需要对这个 JSONL 跑一遍即可。
采样方式与命令示例: 见 如何采样。
3. 统一评测:一次跑出你的专属指数得分#
拿到混合 JSONL 以后,你可以:
像评测普通数据集一样调用
evalscope eval一次性得到:
各个子数据集的得分
按权重聚合后的 Index 总分
对应的详细日志、预测、评审与报告
评测完成后,你可以用:
报表汇总不同模型在同一个 Index 下的表现;
EvalScope 的 可视化应用(
evalscope service) 直观对比模型优劣。
具体评测命令与示例输出: 见 如何评测。