# 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 ```