作为刚接触大模型评测的本科小白,第一次看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个请求

四、新手避坑小技巧(亲测有用)

  1. 刚开始先从简单数据集(比如gsm8k、arc)入手,不用一上来就测复杂任务

  2. 模型加载失败时,先检查模型名称是不是写错了,本地路径有没有访问权限

  3. 显存不够就把批量大小调小,或者用precision=torch.float16(半精度加载)

  4. 想快速看结果就加限制数据量,不用等全部数据跑完

  5. 参数不确定有没有写错,就加dry-run参数,先打印出来检查

        其实EvalScope不用记所有参数,先把上面的核心内容和示例跑通,之后再根据具体需求调整temperature、few-shot数量这些参数就行。 如果有具体场景(比如测图像生成模型、RAG模型),可以评论区说,我再补对应的参数示例!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐