输入参数
MindIE Benchmark的Engine推理模式和Client推理模式输入参数说明如表1所示。
参数 |
参数类型 |
说明(Engine推理模式) |
说明(Client推理模式) |
---|---|---|---|
--DatasetPath |
String |
必选。 数据集文件所在的目录,根据数据集路径获取数据,解析后根据批次和分词标识进行处理。
|
必选。 数据集文件所在的目录;根据数据集路径获取数据,解析后根据批次和分词标识进行处理。 |
--DatasetType |
Enum |
必选。 数据集类型,枚举值:ceval、gsm8k、oasst1、boolq、truthfulqa、humaneval、mmlu、mtbench、cocotest和synthetic。 |
必选。 数据集类型,枚举值:ceval、gsm8k、oasst1、boolq、truthfulqa、humaneval、mmlu、mtbench、cocotest和synthetic。 |
--ModelName |
String |
必选。 模型名称。与MindIE ServerModelConfig参数说明中的modelName参数保持一致。 |
必选。 模型名称;与MindIE ServerModelConfig参数说明中的modelName参数保持一致,用于client-sdk拼接得到endpoint对应的uri:/v2/models/{model-name}/{infer,generate,generate_stream}。 |
--ModelPath |
String |
必选。 模型路径;传递模型初始化配置。与MindIE ServerModelConfig参数说明中的modelWeightPath参数保持一致。 |
必选。 模型路径;传递模型初始化配置。与MindIE ServerModelConfig参数说明中的modelWeightPath参数保持一致。 |
--ModelVersion |
String |
不涉及。 |
可选。 模型版本;在Endpoint部署同一模型多个版本时需要提供,client-sdk对应拼接的uri地址为:/v2/models/{model-name}/versions/{ModelVerson}/{generate,generate_stream} |
--TestType |
String |
必选。 模式选择;取值为engine。 |
必选。 模式选择;取值为client、vllm_client、tgi_client和triton_client。其中vllm_client、tgi_client或triton_client只能基于对应的三方框架上才能运行。 |
--Http |
String |
不涉及。 |
必选。 请求url,默认为"https://127.0.0.1:1025",实际请根据MindIE ServerServerConfig参数说明中的ipAddress和port参数进行配置。 |
--Concurrency |
Int |
可选。 并发数,限制同时发起的连接数。 取值范围:[1,1000],默认值:128。 |
可选。 并发数,限制同时发起的连接数。Client模式下,不超过endpoint所支持的最大连接数。取值范围:[1,1000],默认值:128。 |
--TaskKind |
String |
不涉及。 |
可选。 判断使用Client的哪种模式进行推理,默认值为stream。
|
--DoSampling |
Bool |
可选。 是否进行推理结果后处理,取值True或者False,默认值为False。为True时,需要与SamplingParams参数一起使用。 |
可选。 是否进行推理结果后处理,取值True或者False,默认值为False。为True时,需要与SamplingParams参数一起使用。 |
--TestAccuracy |
Bool |
可选。 是否测试精度标识,取值True或者False,默认值为False。 MindIE Benchmark目前支持精度测试数据集:ceval、gsm8k和mmlu。 仅在Tokenizer=True,非token_id的输入场景下才能配置该参数。 |
可选。 测试精度标识,取值True或者False,默认值为False。 MindIE Benchmark目前支持精度测试数据集:ceval、gsm8k和mmlu。 仅在Tokenizer=True,非token_id的输入场景下才能配置该参数。 |
--SavePath |
String |
可选。 输出结果保存路径{SavePath},默认保存在${INSTANCE_PATH}路径下。 |
可选。 输出结果保存路径{SavePath},默认保存在${INSTANCE_PATH}路径下,INSTANCE_PATH为benchmark配置参数,详情请参表1。 |
--ConfigPath |
String |
可选。 MindIE Benchmark配置文件config.json,默认为安装路径:{$HOME}/python3.10/site-packages/mindiebenchmark/config/config.json。 |
可选。 MindIE Benchmark配置文件config.json,默认安装路径为:{$HOME}/python3.10/site-packages/mindiebenchmark/config/config.json。 |
--Tokenizer |
Bool |
可选。 分词向量化标识,取值True或者False,默认值为True。
|
可选。 分词向量化标识,取值True或者False,默认值为True。
|
--MaxInputLen |
Int |
可选。 最大输入tokenids长度,超过会截断,取值范围:[0,4096];默认不开启,取值为0。 |
不涉及。 |
--MaxOutputLen |
Int |
可选。 最大输出长度,取值范围:[1,4096],默认值:20。
|
可选。 最大输出长度,取值范围:[1,4096],默认值:20。
|
--SamplingParams |
/ |
可选。 采样参数,采样标识DoSampling为True时有效。 SamplingParams参数取值说明请参见《MindIE LLM开发指南》的“API接口说明 > Infer Engine API参考(C++) > 结构体和枚举说明 > SamplingParams结构体”章节。 |
可选。 输出结果采样标识DoSampling为True时有效。 SamplingParams参数取值说明如下所示:
|
--SaveTokensPath |
String |
可选。 保存推理输入输出的tokenids到本地路径,以.csv结尾。 例如:./output.csv。 |
可选。 保存推理输入输出的tokenids到本地路径,以.csv结尾。 例如:./output.csv。 |
--SaveHumanEvalOutputFile |
String |
可选。 保存推理HumanEval数据集时输出文本结果路径,以.jsonl结尾。默认值为humaneval_output.jsonl,需要同时开启精度--TestAccuracy True。 |
可选。 保存推理HumanEval数据集时输出文本结果路径,以.jsonl结尾。默认值为humaneval_output.jsonl,需要同时开启精度--TestAccuracy True。 |
--RequestRate |
String |
不涉及。 |
可选。 指定一组发送频率,按照Distribution参数设置的模式进行发送,以每个频率完成一次推理,频率的取值范围:(0,10000]。 例如:--RequestRate "2,4,6,8"。 当推荐concurrency参数配置为1000时,可以达到高性能、低时延。 |
--Distribution |
String |
不涉及。 |
可选。 请求发送模式,仅在设置了RequestRate参数才生效,默认值为uniform。
|
--WarmupSize |
Int |
可选。 warm up的条数,默认值:10。取值范围[0, 1000]。 当取值为0时,不进行warm up。 |
可选。 warm up的条数,默认值:10。取值范围[0, 1000]。 当取值为0时,不进行warm up。 |
--ManagementHttp |
String |
不涉及。 |
可选。 管理端口的url,默认为"https://127.0.0.2:1026",与server config.json的managementIpAddress和managementPort保持一致。 实际使用协议要和Http参数设置保持一致。 当MindIE Benchmark的config.json中ENABLE_MANAGEMENT=false时,该参数无效。 |
--SyntheticConfigPath |
String |
可选。 合成数据配置路径,其为json文件。仅当“--DatasetType”为“synthetic”且“--TestType”为“engine”或“vllm_client”有效。 默认值:{$HOME}/{Python版本}/site-packages/mindiebenchmark/config/synthetic_config.json。 文件配置内容请参见表2。 |
可选。 合成数据配置路径,其为json文件。仅当“--DatasetType” 为 “synthetic”且“--TestType”为“engine”或“vllm_client”有效。 默认值:{$HOME}/{Python版本}/site-packages/mindiebenchmark/config/synthetic_config.json。 文件配置内容请参见表2。 |
注:
|

- 对于所有的数据集性能测试默认开启, 精度测试开启需要添加参数“--TestAccuracy”参数配置为“True”时,且仅支持ceval、gsm8k和mmlu数据集。
- 输入数据token长度加上最大输出长度“--MaxOutputLen”不能超过ModelDeployConfig参数说明中的“maxSeqLen”长度,建议使用“--MaxInputLen”做输入截断。
- 当“--DatasetType”配置为“synthetic”,使用“--SyntheticConfigPath”的配置确定输入和输出token数量时,此时“--MaxOutputLen”参数配置的值将不会生效,其中输入的token全为大写字母“A“。
- 当 “--DatasetType”参数取值为“synthetic”时,仅支持“--TestType”参数只能配置为“vllm_client”或“engine”。
- 性能测试推荐用OA数据集或gsm8k数据集,精度测试推荐ceval数据集,数据集获取请参见数据集使用。
- warm up通过模拟推理负载和触发硬件和软件系统的初始化,减少推理的延迟,保证推理的稳定性。在NPU或其他深度学习加速卡上,使用warm up能够避免首次推理时的性能瓶颈。