评测矩阵:纵向是 run,横向是基准,最高分高亮。
能给什么打分
给 run 打分要求它已经导出过。提交时加
--then export 就不用记着这件事了。
有哪些基准可用
gsm8k、math、humaneval、mmlu、ceval、ifeval,加上 RTL 系列。
所有以 benchmark 包发布的也会出现在这里。
这几个轴是刻意挑的——数学、代码、知识、中文、指令遵循。
后训练会稳定地改进其中一个,同时悄悄损伤另一个,
而同时跑好几个,正是让这件事在进入生产之前而不是之后被看见。
常用选项
两个 runner 产出同一套分数契约,所以同一个基准无论谁跑的都直接可比。
选哪个 runner 不会扭曲这个数。
让每次 run 都自动打分
手动跑一次没问题。让它在每次 run 上都发生,才是阻止回退进入生产的东西:eval: 段。
读懂这个矩阵
分数是幂等入库的:同一个 run 和同一个基准再报一次是更新那一行,而不是多出一行。 每个指标都带声明好的方向,所以对比视图不用猜哪边算好。 一个基准声明了多个指标时,它们之间的差往往才是有用的那部分—— GSM8K 的严格与宽松匹配拉开差距,意味着模型会算,但没按要求的格式输出。在平台之外打分
harness 在这里跑不了时——有授权限制的工具、真实的测试台架——把分数报回来:create 返回一个 run id,submit 把分数文件报给它。--train-run 是让评测门禁和模型版本
接受这些分数的关键——不带它,分数会被记录,但不具备权威性。
它们进同一个矩阵,并标记为外部产生。
确认成功
下一步
写一个 benchmark 包
声明你自己的评测集:跑什么、读哪些数。
Rubric
规则打不了分的东西,用 LLM 裁判按成文标准打。