配置参数
前提条件
- 已参考《MindIE安装指南》中 章节进行环境的安装与部署,MindIE Benchmark会随着MindIE的安装自动安装。MindIE Benchmark的Wheel包所在路径/{mindie-install-path}/mindie/{version}/mindie-service/bin/mindiebenchmark-{version}-py3-none-any.whl。
- 使用镜像部署MindIE时,已参考《MindIE安装指南》中“安装开发环境 > 安装依赖”章节完成MindIE所需依赖的安装。
- tritonclient使用grpc通信时,需要依赖grpcio等模块,使用以下命令进行安装。
pip install tritonclient[all]
- 可视化功能需要依赖matplotlib模块,使用以下命令进行安装。
pip install matplotlib
- 使用Client推理模式需要提前启动MindIE Server 服务,Engine推理模式不需要提前启动。
操作步骤
- 根据用户需要设置配置参数。进入MindIE Benchmark的安装路径{$HOME}/{python版本}/site-packages/mindiebenchmark/config并打开“config.json”文件。
vim config.json
使用以下命令可查看MindIE Benchmark的安装路径。
pip show mindiebenchmark
config.json文件如下所示:
{ "INSTANCE_PATH": "./instance", # Benchmark结果保存路径 "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 # 服务端最大连接数(当前最大支持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”文件。vim 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。