配置参数
前提条件
- 已参考《MindIE安装指南》中 章节进行环境的安装与部署,MindIE Benchmark会随着MindIE的安装自动安装。MindIE Benchmark的Wheel包所在路径/{mindie-install-path}/mindie/{version}/mindie-service/bin/mindiebenchmark-{version}-py3-none-any.whl。
- 使用镜像部署MindIE时,已参考《MindIE安装指南》中“安装开发环境 > 安装依赖”章节完成MindIE所需依赖的安装。
- 使用Client推理模式需要提前启动MindIE Server 服务,Engine推理模式不需要提前启动。
- Client模式进行推理的前置条件是服务端正常运行,即在使用Benchmark进行服务化测评前:
操作步骤
- 根据用户需要设置配置参数。进入MindIE Benchmark的安装路径{$HOME}/{python版本}/site-packages/mindiebenchmark/config并打开“config.json”文件。
vim config.json
使用以下命令可查看MindIE Benchmark的安装路径。
pip show mindiebenchmark
config.json文件如下所示:
{ "INSTANCE_PATH": "./instance", "LOG_PATH": "./instance", "LOG_LEVEL": "DEBUG", "CA_CERT": "/path/to/cacert.pem", "KEY_FILE": "/path/to/cacert.pem.key", "CERT_FILE": "/path/to/client.pem", "CRL_FILE": "/path/to/crl.pem", "ENABLE_MANAGEMENT": false, "MAX_LINK_NUM": 1000 }
表1 MindIE Benchmark配置参数说明 参数
参数类型
说明
INSTANCE_PATH
String
MindIE Benchmark结果保存路径,默认保存在./instance。
LOG_PATH
String
MindIE Benchmark日志保存路径,默认保存在./instance。
LOG_LEVEL
String
日志等级,默认为"DEBUG"。
其他等级为"INFO"、"WARNING"、"ERROR"和"CRITICAL"。
CA_CERT
String
验签证书文件路径,为MindIE Server服务端证书的验签证书/根证书。
当使用MindIE Benchmark的Client推理模式且MindIE Server的配置参数httpsEnabled为true时,必须配置。
KEY_FILE
String
客户端私钥文件路径。
当使用MindIE Benchmark的Client推理模式且MindIE Server的配置参数httpsEnabled为true时,必须配置。
CERT_FILE
String
客户端证书文件路径。
当使用MindIE Benchmark的Client推理模式且MindIE Server的配置参数httpsEnabled为true时,必须配置。
CRL_FILE
String
客户端吊销列表证书文件路径。
可选配置,当使用MindIE Benchmark的Client推理模式且MindIE Server的配置参数httpsEnabled为true时,会校验验签证书是否在吊销列表内。
ENABLE_MANAGEMENT
Bool
MindIE Benchmark管理端口使能。
MindIE Benchmark是否通过管理端口查询服务端健康状态。
默认值:false
MAX_LINK_NUM
Int
服务端最大连接数,默认为1000。当前支持最大连接数为1000,不可配置超过1000。
- (可选)如果需要使用合成数据(synthetic),指定输入输出分布进行性能测试,则需要指定合成数据长度的分布方式。
合成数据自动生成,指定输入token数量后,将生成内容全为 "A" 的数据作为prompt,中间用空格连接(例如:token数量为5,则对应的合成数据为 "A A A A A")。输出数据的token数量也可以指定,此时模型不会因为结束符eos而停止输出。
进入MindIE Benchmark的默认安装路径{$HOME}/{python版本}/site-packages/mindiebenchmark/config/synthetic_config.json并打开synthetic_config.json文件。vim synthetic_config.json
也可以在任意路径自行创建synthetic_config.json文件,然后在Benchmark命令行中使用以下命令使其生效。
--SyntheticConfigPath {path}/synthetic_config.json
“synthetic_config.json”文件配置样例如下所示:{ "Input":{ "Method": "uniform", "Params": {"MinValue": 1, "MaxValue": 200} }, "Output": { "Method": "gaussian", "Params": {"Mean": 100, "Var": 200, "MinValue": 1, "MaxValue": 100} }, "RequestCount": 100 }
其中,采样的的可选采样方法和对应的参数请参见表2。
表2 合成数据可选采样方法和对应参数 名称
采样方法(Method)
参数(Params)
均匀分布
uniform
{"MinValue": 最小值, "MaxValue": 最大值}
高斯分布
gaussian
{"Mean": 均值, "Var": 方差, "MinValue": 最小值, "MaxValue": 最大值}
zipf分布
zipf
{"Alpha": Zipf参数, "MinValue": 最小值, "MaxValue": 最大值}
其中,使用各种采样方法采样后的数字将再通过MinValue和MaxValue进行截断,确保采样的数值在[MinValue, MaxValue]范围内。MinValue和MaxValue为对应的token数量,具体的取值范围请参见表3,计数时只计算增量Token的数量。
表3 合成数据参数配置说明 参数
含义
取值范围
Input
输入配置
-
Output
输出配置
-
RequestCount
请求次数,即样本数量
[1,1048576]
Method
采样方法
取 "uniform"、"gaussian"或"zipf"。
Params
采样方法中对应的采样参数
取值详情请参见表2。
"Input" 中的 "MinValue"
token 数量最小值
[1,1048576]
"Input" 中的 "MaxValue"
token 数量最大值
[1,1048576]
"Output" 中的 "MinValue"
token 数量最小值
[1,1048576]
"Output" 中的 "MaxValue"
token 数量最大值
[1,1048576]
"gaussian" 中的 "Mean"
高斯分布均值
[-3.0 x 10^38, 3.0 x 10^38]
"gaussian" 中的 "Var"
高斯分布方差
[0, 3.0 x 10^38]
"zipf" 中的 "Alpha"
zipf分布Alpha系数
(1.0,10.0]
注:1048576 = 2^20 = 1 M。