下载
中文
注册

输入参数

MindIE Benchmark的Engine推理模式和Client推理模式输入参数说明如表1所示。

表1 MindIE Benchmark输入参数

参数

参数类型

说明(Engine推理模式)

说明(Client推理模式)

--DatasetPath

String

必选。

数据集文件所在的目录,根据数据集路径获取数据,解析后根据批次和分词标识进行处理。

  • Tokenizer为True时:采用文本推理模式,该参数应该传入原始数据集文件夹路径;
  • Tokenizer为False时:采用tokenids推理模式,该参数传入已经将数据集处理为tokenids的csv文件的路径。(--Tokenizer为False时,数据集转换方式参考数据集使用

必选。

数据集文件所在的目录;根据数据集路径获取数据,解析后根据批次和分词标识进行处理。

  • Tokenizer为True时,采用文本推理模式,该参数传入原始数据集文件夹路径。
  • Tokenizer为False时:采用token推理样例,该参数传入已经将数据集处理为tokenids的csv文件的路径。(--Tokenizer为False时,数据集转换方式参考数据集使用

--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。

  • stream:流式推理接口;
  • text:非流式推理接口;
  • stream_token:token流式推理接口。

--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:表示输入结果为tokens。

可选。

分词向量化标识,取值True或者False,默认值为True。

  • True:输入结果为文本;
  • False:表示输入结果为tokens。

--MaxInputLen

Int

可选。

最大输入tokenids长度,超过会截断,取值范围:[0,4096];默认不开启,取值为0。

不涉及。

--MaxOutputLen

Int

可选。

最大输出长度,取值范围:[1,4096],默认值:20。

  • 该参数与ScheduleConfig参数说明中的“maxlterTimes”参数取小作为最大输出长度。
  • “DatasetType”取值为“synthetic”时,该参数无效,通过配置文件synthetic_config.json中的“Output”参数控制最大输出长度,详情请参见2

可选。

最大输出长度,取值范围:[1,4096],默认值:20。

  • 当TaskKind=triton_client时,该参数无效,通过设置“maxlterTimes”参数控制最大输出长度,参数解释请见ScheduleConfig参数说明
  • “DatasetType”取值为“synthetic”时,该参数无效,通过配置文件synthetic_config.json中的“Output”参数控制最大输出长度,详情请参见2

--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。

  • uniform:请求发送为均一分布;
  • poisson:请求发送为泊松分布。

--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

  1. 对于所有的数据集性能测试默认开启, 精度测试开启需要添加参数--TestAccuracy True,且仅支持ceval、gsm8k和mmlu数据集。
  2. 输入数据token长度加上最大输出长度--MaxOutputLen不能超过ModelDeployConfig参数说明中的maxSeqLen长度,建议使用--MaxInputLen做输入截断。
  3. “--DatasetType”配置为“synthetic”,使用--SyntheticConfigPath的配置确定输入和输出token数量时,此时“--MaxOutputLen”参数配置的值将不会生效,其中输入的token全为大写字母“A“。
  • 对于所有的数据集性能测试默认开启, 精度测试开启需要添加参数“--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能够避免首次推理时的性能瓶颈。