AI开发平台MODELARTS-推理性能测试:静态benchmark验证

时间:2025-01-03 09:38:55

静态benchmark验证

本章节介绍如何进行静态benchmark验证。

  1. 已经上传benchmark验证脚本到推理容器中。如果在Step3 制作推理镜像步骤中已经上传过AscendCloud-LLM-x.x.x.zip并解压,无需重复执行。
  2. 执行如下命令进入容器。
    kubectl exec -it {pod_name} bash

    ${pod_name}:pod名,例如图1${pod_name}为yourapp-87d9b5b46-c46bk。

  3. 进入benchmark_tools目录下,切换conda环境并安装依赖。
    cd /home/ma-user/AscendCloud/AscendCloud-LLM/llm_tools/llm_evaluation/benchmark_tools
    conda activate python-3.9.10
    pip install -r requirements.txt
  4. 运行静态benchmark验证脚本benchmark_parallel.py,具体操作命令如下,可以根据参数说明修改参数。
    python benchmark_parallel.py --backend vllm --host 127.0.0.1 --port 8080 --tokenizer /path/to/tokenizer  --epochs 5 \
    --parallel-num 1 4 8 16 32  --prompt-tokens 1024 2048 --output-tokens 128 256 --benchmark-csv benchmark_parallel.csv

    参数说明

    • --backend:服务类型,支持tgi、vllm、mindspore、openai等。本文档使用的推理接口是vllm。
    • --host:服务部署的IP。
    • --port:推理服务端口8080。
    • --tokenizer:tokenizer路径,HuggingFace的权重路径。
    • --epochs:测试轮数,默认取值为5
    • --parallel-num:每轮并发数,支持多个,如 1 4 8 16 32。
    • --prompt-tokens:输入长度,支持多个,如 128 128 2048 2048,数量需和--output-tokens的数量对应。
    • --output-tokens:输出长度,支持多个,如 128 2048 128 2048,数量需和--prompt-tokens的数量对应。
    • --benchmark-csv:结果保存文件,如benchmark_parallel.csv。
    • --served-model-name: 选择性添加,在接口中使用的模型名;如果没有配置,则默认为tokenizer。
    • --num-scheduler-steps: 需和服务启动时配置的num-scheduler-steps一致。默认为1。
    • --enable-prefix-caching:服务端是否启用enable-prefix-caching特性,默认为false。
  5. 脚本运行完成后,测试结果保存在benchmark_parallel.csv中,示例如下图所示。
    图1 静态benchmark测试结果(示意图)
support.huaweicloud.com/bestpractice-modelarts/modelarts_llm_infer_900927.html