# Bench命令 - 飞桨大语言模型推理部署工具包

跳转至

# bench：基准测试

## 1 bench latency：离线延迟测试

### 参数

参数 | 说明 | 默认值
--- | --- | ---
--input-len | 输入序列长度（token） | 32
--output-len | 输出序列长度（token） | 128
--batch-size | 批量大小 | 8
--n | 每个提示生成序列数 | 1
--use-beam-search | 是否使用束搜索 | False
--num-iters-warmup | 预热迭代次数 | 10
--num-iters | 实际测试迭代次数 | 30
--profile | 是否进行性能分析 | False
--output-json | 保存延迟结果 JSON 文件路径 | None
--disable-detokenize | 是否禁用 detokenization | False

### 示例

    #对推理引擎进行延迟测试
    fastdeploy bench latency --model baidu/ERNIE-4.5-0.3B-Paddle

## 2 bench serve：在线延迟与吞吐量测试

### 参数

参数 | 说明 | 默认值
--- | --- | ---
--backend | 后端类型 | "openai-chat"
--base-url | 服务器或 API 基础 URL | None
--host | 主机地址 | "127.0.0.1"
--port | 端口 | 8000
--endpoint | API 路径 | "/v1/chat/completions"
--model | 模型名称 | 必需
--dataset-name | 数据集名称 | "sharegpt"
--dataset-path | 数据集路径 | None
--num-prompts | 处理提示数 | 1000
--request-rate | 每秒请求数 | inf
--max-concurrency | 最大并发数 | None
--top-p | 采样 top-p (OpenAI 后端) | None
--top-k | 采样 top-k (OpenAI 后端) | None
--temperature | 采样温度 (OpenAI 后端) | None

### 示例

    #对在线服务进行性能测试
    fastdeploy bench serve --backend openai-chat \
      --model baidu/ERNIE-4.5-0.3B-Paddle \
      --endpoint /v1/chat/completions \
      --host 0.0.0.0 \
      --port 8891 \
      --dataset-name EBChat \
      --dataset-path /datasets/filtered_sharedgpt_2000_input_1136_output_200.json \
      --percentile-metrics ttft,tpot,itl,e2el,s_ttft,s_itl,s_e2el,s_decode,input_len,s_input_len,output_len \
      --metric-percentiles 80,95,99,99.9,99.95,99.99 \
      --num-prompts 1 \
      --max-concurrency 1 \
      --save-result

## 3 bench throughput：吞吐量测试

### 参数

参数 | 说明 | 默认值
--- | --- | ---
--backend | 推理后端 | "fastdeploy"
--dataset-name | 数据集 | "random"
--model | 模型名称 | 必需
--input-len | 输入序列长度 | None
--output-len | 输出序列长度 | None
--prefix-len | 前缀长度 | 0
--n | 每个 prompt 生成序列数 | 1
--num-prompts | prompt 数量 | 50
--output-json | 保存 JSON 文件路径 | None
--disable-detokenize | 是否禁用 detokenization | False
--lora-path | LoRA adapter 路径 | None

### 示例

    #对推理引擎进行吞吐量测试
    fastdeploy bench throughput --model baidu/ERNIE-4.5-0.3B-Paddle \
    --backend fastdeploy-chat \
    --dataset-name EBChat \
    --dataset-path /datasets/filtered_sharedgpt_2000_input_1136_output_200.json \
    --max-model-len 32768

## 4 bench eval：在线任务效果评估

### 参数

参数 | 说明 | 默认值
--- | --- | ---
--model, -m | 模型名称 | "hf"
--tasks, -t | 任务列表 | None
--model_args, -a | 模型参数 | ""
--num_fewshot, -f | Few-shot 样本数量 | None
--samples, -E | 样本数量 | None
--batch_size, -b | 批量大小 | 1
--device | 设备 | None
--output_path, -o | 输出路径 | None
--write_out, -w | 是否写出结果 | False

### 示例

    #对服务进行相关任务的效果评估
    fastdeploy bench eval
    --model local-completions
    --model_args pretrained=./baidu/ERNIE-4.5-0.3B-Paddle,base_url=http://0.0.0.0:8490/v1/completions
    --write_out --tasks ceval-valid_accountant