下载
中文
注册

功能介绍

服务化MindIE Benchmark工具是通过部署昇腾服务化配套包后,以调用终端命令的方式测试大语言模型在不同配置参数下的推理性能和精度,并通过表格的形式展示模型在各个阶段的推理耗时(例如FirstTokenTime、DecodeTime等),以及对应时延的平均值、最小值、最大值、75分位(P75)、90分位(P90、SLO_P90)和99分位(P99)概率统计值,最后将计算结果保存到本地csv文件中。

Benchmark当前运行路径的属主和属组必须和当前用户所在组对应,可以通过 "ls -l <路径>" 查看指定路径的属主和属组,通过 "chown <属主>:<属组> <路径>" 的方式更改指定路径的属主和属组。日志文件、权重配置文件和用户配置文件等通常涉及文件或目录属主/属组检验。

应用场景

  • 支持Client和Engine两种不同的推理模式:
    • Client模式:MindIE Benchmark支持调用MindIE Client接口的方式,与Server-Endpoint进行通信并完成测试。
    • Engine模式:MindIE Benchmark支持通过直接调用MindIE LLM中LLM Manger提供的Python接口进行全量推理,接口详情请参见《MindIE LLM开发指南》的“API接口说明 > LLM Manger提供的Python接口
      • 支持token ID到token ID异步推理,数据集转换为token ID的具体转换方法请参考数据集使用
      • 支持文本到文本的异步推理。
  • 支持精度测试的数据集,包括CEval 5-shot、GSM8K和MMLU 5-shot,Engine模式和Client模式都支持测试,请参见数据集使用获取数据集。
  • 支持性能测试的数据集,包括Gsm8k、OA、CEval 5-shot、MMLU 5-shot、BoolQ、HumanEval、mtbench和cocotest,主要使用GSM8K和OA两个数据集来测试模型的性能,请参见数据集使用获取数据集。
  • Client模式适用于模拟多用户并发场景,兼容TGI、Triton和vLLM等多种接口,主要用于测量服务化性能。Client测量的吞吐量为用户真实感知的吞吐量,其计入包括网络请求和数据处理等消耗的时间。
  • Engine模式直接调用底层API,并将NPU推理返回的结果暂存,当所有推理完成后再由CPU处理暂存的数据,其测量的吞吐量更接近NPU卡的真实性能。
  • Engine模式中使用到的ModelName(模型名称)和ModelPath(模型权重路径)需要和MindIE Server的config.json配置文件中modelName(模型名称)和modelWeightPath(模型权重路径)参数保持一致,而npuDeviceIds(NPU卡编号)和maxBatchSize(最大decode batch size)参数的值是由MindIE Server中的config.json配置文件决定,详情请参见配置参数说明