MindIE中有配套的MindIE Benchmark工具,用来计算推理性能和精度,调用方式如下:
# 环境变量设置 source /usr/local/Ascend/mindie/set_env.sh # 通信掩盖,确保精度一致性 export LCCL_DETERMINISTIC=1 export HCCL_DETERMINISTIC=true export ATB_MATMUL_SHUFFLE_K_ENABLE=0 export ATB_LLM_LCOC_ENABLE=1 # 后处理采样参数,若不指定MindIE Benchmark会用默认值 SMPL_PARAM="{\"temperature\":1.0,\"top_k\":0,\"top_p\":1.0,\"typical_p\":1.0,\"do_sample\":false,\"seed\":0,\"repetition_penalty\":1.0,\"frequency_penalty\":0,\"presence_penalty\":0,\"watermark\":false}" #启动MindIE Benchmark benchmark \ --DatasetPath "/path/to/dataset/CEval" \ --DatasetType "ceval" \ --ModelName "llama3_70b" \ --ModelPath "/path/to/weights/llama3-70b" \ --TestType triton_client \ --Concurrency 1 \ --Tokenizer True \ --Http http://127.0.0.1:8111 \ --TestAccuracy True \ --SamplingParams=$SMPL_PARAM
在使用MindIE Benchmark进行性能测试时,需将DatasetPath及DatasetType换成对应性能数据集,并将TestAccuracy设为False。
参数名 |
参数解释 |
---|---|
DatasetPath |
数据集路径。 |
DatasetType |
数据集名称。 |
ModelName |
模型名。 |
ModelPath |
模型权重路径。 |
TestType |
指定MindIE Benchmark运行模式为Triton服务框架。 |
Concurrency |
并发数。 |
Tokenizer |
使用分词器。 |
Http |
用户设置的推理服务侦听IP和Port。 |
TestAccuracy |
“True”为精度测试,“False”为性能测试。 |
MaxOutputLen |
指定输出长度。 |
SamplingParams |
后处理采样参数。 |
MindIE Benchmark详细使用方法以及参数的介绍详情请参见《MindIE Service开发指南》的“MindIE Service组件 > MindIE Service Tools > MindIE Benchmark > 功能介绍”章节。