参数说明#
执行 evalscope eval --help 可获取全部参数说明。
模型参数#
--model: 被评测的模型名称。指定为模型在ModelScope中的
id,将自动下载模型,例如Qwen/Qwen2.5-0.5B-Instruct;指定为模型的本地路径,例如
/path/to/model,将从本地加载模型;评测目标为模型API端点时,需要指定为
model_id,例如Qwen2.5-0.5B-Instruct。
--model-id: 被评测的模型的别名。默认为model的最后一部分,例如Qwen/Qwen2.5-0.5B-Instruct的model-id为Qwen2.5-0.5B-Instruct--model-args: 模型加载参数,以逗号分隔,key=value形式,默认参数:revision: 模型版本,默认为masterprecision: 模型精度,默认为torch.float16device_map: 模型分配设备,默认为auto
--generation-config: 生成参数,以逗号分隔,key=value形式,默认参数:do_sample: 是否使用采样,默认为falsemax_length: 最大长度,默认为2048max_new_tokens: 生成最大长度,默认为512
--chat-template: 模型推理模板,默认为None,表示使用transformers的apply_chat_template;支持传入jinjia模版字符串,来自定义推理模板--template-type: 模型推理模板,已弃用,参考--chat-template--api-url: (仅在eval-type=service时有效) 模型API端点,默认为None;支持传入本地或远端的OpenAI API格式端点,例如http://127.0.0.1:8000/v1/chat/completions--api-key: (仅在eval-type=service时有效) 模型API端点密钥,默认为EMPTY
数据集参数#
--datasets: 数据集名称,支持输入多个数据集,使用空格分开,数据集将自动从modelscope下载,支持的数据集参考数据集列表--dataset-args: 评测数据集的设置参数,以json格式传入,key为数据集名称,value为参数,注意需要跟--datasets参数中的值一一对应:local_path: 数据集本地路径,指定后将尝试加载本地数据prompt_template: 评测数据集的prompt模板,指定后将拼接在每个评测数据内容之前subset_list: 评测数据子集列表,指定后将只使用子集数据few_shot_num: few-shot的数量few_shot_random: 是否随机采样few-shot数据,默认为False
--dataset-dir: 数据集下载路径,默认为~/.cache/modelscope/datasets--dataset-hub: 数据集下载源,默认为modelscope,可选huggingface--limit: 每个数据集最大评测数据量,不填写则默认为全部评测,可用于快速验证
评测参数#
--eval-stage: 评测阶段,可选all,infer,reviewall: 完整评测,包含推理和评测infer: 仅进行推理,不进行评测review: 仅进行数据评测,不进行推理
--eval-type: 评测类型,可选checkpoint,custom,service;默认为checkpoint--eval-backend: 评测后端,可选Native,OpenCompass,VLMEvalKit,RAGEval,ThirdParty,默认为Native--eval-config: 使用非Native评测后端时,需要传入该参数
其他参数#
--work-dir: 模型评测输出路径,默认为./outputs/{timestamp}--use-cache: 使用本地缓存的路径,默认为None;如果为指定路径,例如outputs/20241210_194434,将重用路径下的模型推理结果,若未完成推理则会继续推理,之后进行评测。--seed: 随机种子,默认为42--debug: 是否开启调试模式,默认为false--dry-run: 预检参数,不进行推理,只打印参数,默认为false