EvalScope新手笔记:参数全解析+直接能用的实操示例
本文为EvalScope大模型评测工具的新手入门指南。作者以自身经历出发,用通俗语言拆解核心参数:1)模型相关参数(名称/路径/API);2)推理参数(temperature/max_tokens);3)数据集参数(名称/数量限制);4)评测参数(类型/批量大小)。提供两个典型示例:本地模型评测和在线API评测,并给出新手避坑建议:从简单数据集入手、检查模型名称、调整批量大小等。全文强调实操性,建
作为刚接触大模型评测的本科小白,第一次看EvalScope官方文档直接看懵——参数又多又杂,满屏专业术语根本抓不住重点!后来自己边试边记,慢慢把核心用法理清楚了。今天就用最接地气的话,把这些参数拆明白,新手跟着走就能直接上手,干就完了奥里给!
一、先搞懂:EvalScope到底能干嘛?
简单说,它是阿里ModelScope生态里的大模型评测工具,不管是本地下载的大语言模型(比如Qwen、LLaMA),还是在线API服务,甚至图像生成模型,都能测!还能自动生成评测报告,不用自己写复杂代码,新手用来验证模型效果超方便~
核心操作超简单:在命令行输 evalscope eval --help 就能看全部参数,下面重点拆新手必用的关键内容,不用死记硬背,跟着示例跑就行!
二、核心参数拆解(新手重点记这些)
1. 模型相关参数(告诉工具你要测哪个模型)
这部分核心就是明确“评测对象”,4个关键信息记牢就够:
-
模型名称:必填项!有三种写法,按需选:
-
直接用ModelScope上的模型ID(会自动下载),比如 Qwen/Qwen2.5-0.5B-Instruct
-
本地已下载好的模型路径,比如 /home/user/my-model
-
在线API服务对应的模型ID,比如 Qwen2.5-0.5B-Instruct
-
-
模型别名:就是给模型起个好记的名字,只用来显示在报告里,默认是上面模型名称的最后一段,不用特意改
-
API端点:如果测在线API服务才需要填,比如 http://127.0.0.1:8000/v1
-
模型加载参数:控制模型怎么加载,新手直接用默认配置就行——revision=master,precision=torch.float16,device_map=auto,不用管显卡分配这些复杂事,工具会自动处理
2. 模型推理参数(控制模型输出效果)
测模型时,输出结果好不好全看这些!新手先掌握3个核心,其他默认就行:
-
生成配置:这是个参数集合,常用的有两个:
-
temperature:控制输出随机性,范围0到2。数值越低输出越稳定(比如0.3适合做问答),越高越放飞(比如1.5适合写文案)
-
max_tokens:最大输出长度,比如设成512,避免模型输出太长没重点
-
举个例子:do_sample=true,temperature=0.5,max_tokens=512
-
-
top_p:核心采样参数,只选概率总和达到top_p的token(比如0.95),能让输出更集中,不用和temperature一起调
-
stream:是否流式输出,新手选false,直接看完整结果更方便
3. 数据集相关参数(指定用什么题目考模型)
就是告诉工具“用哪些数据来评测”,3个核心参数搞定:
-
数据集名称:必填!可以填多个,用空格分开,比如 gsm8k arc(用数学题数据集gsm8k和常识题数据集arc一起测)
-
限制数据量:快速验证时用,比如填100就是测前100条数据,填0.1就是测前10%,不用等全部数据跑完
-
few-shot数量:给模型看的例题数量,比如设4个,适合数学题、逻辑题这类需要示例的任务
-
举个实用例子:datasets gsm8k,dataset-args {'gsm8k': {'few_shot_num': 4, 'shuffle': true}}(测gsm8k数据集,给4个例题,打乱数据顺序)
4. 评测相关参数(控制评测方式)
新手不用纠结太多,记住2个核心就够:
-
评测类型:默认是llm_ckpt(测本地模型),如果测在线API就改成openai_api
-
批量大小:本地模型填1到4(看显卡显存大小),在线API填8就行(支持并发请求)
-
输出路径:默认是./outputs/时间戳,所有报告、日志都会存在这里,不用手动改
5. 判定相关参数(怎么判断模型答得对不对)
新手直接用默认配置!核心参数了解下:
-
判定策略:默认是auto,工具会自动决定用规则还是裁判模型来判断,不用手动干预
-
打分方式:默认是pattern(对比参考答案打分),如果没有参考答案,就用numeric(裁判模型直接打分)
6. 其他实用参数(新手必记)
-
debug:调试模式,运行出错时设为true,能看到详细日志找问题
-
ignore-errors:忽略生成错误,设为true,避免一条数据出错导致整个评测中断
-
dry-run:只打印参数不执行,用来检查参数有没有写错
三、新手直接抄的实操示例
示例1:本地模型评测(测Qwen2.5-0.5B-Instruct)
evalscope eval \ 模型名称 Qwen/Qwen2.5-0.5B-Instruct \ 数据集名称 gsm8k \ 生成配置 do_sample=true,temperature=0.3,max_tokens=512 \ 限制数据量 50 \ few-shot数量=3 \ 批量大小=2 \ ignore-errors true
功能:用本地的Qwen小模型,测50道数学题,给3个例题,稳定输出,忽略错误数据
示例2:在线API评测(调用本地部署的模型API)
evalscope eval \ 模型名称 Qwen2.5-0.5B-Instruct \ API端点 http://127.0.0.1:8000/v1 \ 评测类型 openai_api \ 数据集名称 arc \ 限制数据量 100 \ 批量大小=8
功能:调用本地部署的API服务,测100道常识题,并发8个请求
四、新手避坑小技巧(亲测有用)
-
刚开始先从简单数据集(比如gsm8k、arc)入手,不用一上来就测复杂任务
-
模型加载失败时,先检查模型名称是不是写错了,本地路径有没有访问权限
-
显存不够就把批量大小调小,或者用precision=torch.float16(半精度加载)
-
想快速看结果就加限制数据量,不用等全部数据跑完
-
参数不确定有没有写错,就加dry-run参数,先打印出来检查
其实EvalScope不用记所有参数,先把上面的核心内容和示例跑通,之后再根据具体需求调整temperature、few-shot数量这些参数就行。 如果有具体场景(比如测图像生成模型、RAG模型),可以评论区说,我再补对应的参数示例!
更多推荐


所有评论(0)