3.9 KiB
构建评测指数(Index)
通过 Collection,你可以在 EvalScope 中定义属于自己的 评测指数(Index):
把多个数据集按业务价值“配比”在一起,一次跑测,得到贴合你真实场景的综合评分。
什么时候需要自定义 Index?
很多团队在选型时只看单一基准(例如 MMLU 分数),但往往遇到几个典型问题:
-
单一数据集不等于真实场景
你的实际场景可能是:- RAG 问答(知识库检索 + 回答)
- 金融/法律等垂直领域分析
- 代码补全与代码审查 这些往往难以被某一个公开数据集完全覆盖。
-
公共榜单不等于你的最佳模型
榜单关注“通用能力”,而你更关心“业务价值”:- 哪个模型更适合你的 RAG workflow?
- 哪个模型在你关心的领域错误率最低?
- 哪个模型在成本和效果之间更平衡?
-
你需要一个“反映自己价值观”的指数
就像:- Artificial Analysis Intelligence Index 聚焦通用智力能力
- 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) 直观对比模型优劣。
具体评测命令与示例输出: 见 如何评测。
:::{toctree} :maxdepth: 1
schema.md sample.md evaluate.md :::