配置参数
前提条件
- 已参考《MindIE安装指南》中“方式二:物理机安装方式”章节进行环境的安装与部署,MindIE Benchmark会随着MindIE的安装自动安装。MindIE Benchmark的Wheel包所在路径/{mindie-install-path}/mindie/{version}/mindie-service/bin/mindiebenchmark-{version}-py3-none-any.whl。
- 使用镜像部署MindIE时,已参考《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文件如下所示:
{ "LogConfig": { "LOG_PATH": "~/mindie/log", "LOG_TO_FILE": "1", "LOG_TO_STDOUT": "0", "LOG_LEVEL": "INFO", "LOG_VERBOSE": "true", "LOG_ROTATE": "-fs 20 -r 10" }, "CertConfig": { "CA_CERT": "/path/to/cacert.pem", "KEY_FILE": "/path/to/client.pem.key", "CERT_FILE": "/path/to/client.pem", "CRL_FILE": "/path/to/crl.pem" }, "OutputConfig": { "INSTANCE_PATH": "./instance" }, "ServerConfig": { "ENABLE_MANAGEMENT": false, "MAX_LINK_NUM": 1000 } }
表1 MindIE Benchmark配置参数说明 参数
参数类型
说明
LogConfig
LOG_PATH
string
MindIE Benchmark日志保存路径,默认保存在~/mindie/log。
LOG_TO_FILE
string
日志写文件开关,默认值为"1"。
- 0或false或False:不保存日志到文件。
- 1或true或True:保持日志到文件。
LOG_TO_STDOUT
string
日志打屏开关,默认值为"0"。
- 0或false或False:不输出日志打屏。
- 1或true或True:输出日志打屏。
LOG_LEVEL
string
日志等级,默认为"INFO"。
其他等级为"CRITICAL"、"ERROR"、"WARN"、"INFO"、 "DEBUG"或"NULL"。
说明:- 当设置为"NULL"时,该参数无效。
- 配置文件中对日志等级的字母大小写不敏感。
LOG_VERBOSE
string
控制是否打印可选日志的开关,默认值为"true"。
LOG_ROTATE
string
日志轮转配置,默认值为"-fs 20 -r 10"。
- fs:文件大小,单位是MB;
- r:单个进程写入日志文件的最大值,单位是个。
CertConfig
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时,会校验签证书是否在吊销列表内。
OutputConfig
INSTANCE_PATH
string
MindIE Benchmark结果保存路径,默认保存在./instance。
ServerConfig
ENABLE_MANAGEMENT
bool
MindIE Benchmark管理端口使能。
MindIE Benchmark是否通过管理端口查询服务端健康状态。
默认值:false
MAX_LINK_NUM
int
服务端最大连接数,默认为1000,取值范围[1,4096]。
- (可选)如果需要使用合成数据(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。