鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

执行测试

本文提供推理阶段性能测试方法,可以使用已经存在的模型文件直接进行推理阶段性能测试。

推理阶段性能测试

  1. 进入ModelZoo所在路径。
    1
    cd /path/to/sra_benchmark/modelzoo
    
  2. 执行推理阶段性能测试命令,即可对Wide_and_Deep,DLRM,DeepFM,DFFM,DSSM五个模型进行推理阶段性能测试。
    1
    python inference_throughput_test.py --test_method entire --meta_path /path/to/sra_benchmark --serving_path /path/to/tfserving --image nvcr.io/nvidia/tritonserver:24.05-py3-sdk --intra 0 --inter 0
    

    性能测试命令参数说明如表1所示。各模型推理时的吞吐量保存在“modelzoo”“inference_log”文件夹中。

    部分模型性能测试结果保存的文件如下图所示。

    在整机4个NUMA的测试场景中,以DeepFM模型为例,测试结果按NUMA编号分别记录在“inference_log”文件夹下deepfm_client0.txt,deepfm_client1.txt,deepfm_client2.txt,deepfm_client3.txt中。若是单NUMA测试,则测试结果记录在“inference_log”文件夹下的deepfm_client0.txt中(因为限制使用NUMA0)。

    表1 推理性能测试命令参数说明

    参数名称

    参数说明

    --test_method

    用于指定推理阶段时所用的NUMA资源。

    • single:使用单NUMA,限制为使用NUMA0。
    • entire:使用整台服务器的所有NUMA。默认使用整台服务器的所有NUMA。

    --meta_path

    sra_benchmark所在路径。

    --serving_path

    包含TensorFlow Serving可执行二进制文件的路径。

    --image

    用于执行性能测试的TritonServer的容器名称及版本。

    --intra

    tensorflow_intra_op_parallelism,表示TensorFlow所有算子中各个算子内并行线程数,默认为“0”

    --inter

    tensorflow_inter_op_parallelism,表示TensorFlow所有算子中各个算子间并行线程数,默认为“0”

测试结果说明

以DeepFM的推理性能测试结果为例,deepfm_client0.txt中的部分内容如图1所示。

图1 DeepFM模型推理性能测试结果示例图(结果存放于deepfm_client0.txt文件中)
  • Concurrency:性能测试时客户端发送请求的并发数。
  • throughput:吞吐量,单位为infer/sec,指每秒推理次数。
  • latency:p99时延,单位为usec,指99%的请求延迟都低于此值。