一、测试条件
sdk4.4版、X86环境(Intel(R) Xeon(R) Gold 6148 CPU @ 2.40GHz)
、MR100卡、镜像corex-docker-installer-4.4.0-10.2-ubuntu20.04-llm-py3.10-x86_64.run
二、创建容器
1、获取镜像
sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn 访问密码请咨询天数售后
get /SDK_4.4.0/x86/sdk/corex-docker-installer-4.4.0-10.2-ubuntu20.04-llm-py3.10-x86_64.run
2、镜像部署
bash corex-docker-installer-4.4.0-10.2-ubuntu20.04-llm-py3.10-x86_64.run
3、创建容器
docker run -dit -v /usr/src:/usr/src -v /lib/modules:/lib/modules -v /dev:/dev -v /data:/data -v /home:/home --network=host --name=sdk440llm --ipc=host --privileged --cap-add=ALL --pid=host 41fb7447b7b9 /bin/bash
三、启动服务
1、魔搭上下载权重
pip install modelscope
modelscope download --model Qwen/Qwen2.5-Coder-32B-Instruct --local_dir /data/models/Qwen2.5-Coder-32B-Instruct
2、启动模型
export VLLM_ENFORCE_CUDA_GRAPH=1
python3 -m vllm.entrypoints.openai.api_server --model /data/models/Qwen2.5-Coder-32B-Instruct/ --gpu-memory-utilization 0.9 --max-model-len 8192 --max-num-seqs 32 --tensor-parallel-size 4 --host 0.0.0.0 --port 8000 --trust-remote-code --enable-auto-tool-choice --tool-call-parser qwen3_coder --compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY", "level": 0, "cudagraph_capture_sizes":[1,2,4,8]}'
四、curl请求测试
1、普通Curl请求测试
-H "Content-Type: application/json" \
-d '{
"model": "/data/models/Qwen2.5-Coder-32B-Instruct/",
"messages": [
{
"role": "user",
"content": "介绍一下人工智能"
}
],
"temperature": 0.0,
"max_tokens": 512
}'
2、使用jq格式化curl输出
1)、安装jq
apt-get update
apt-get install jq
2)、curl请求测试
-H "Content-Type: application/json" \
-d '{
"model": "/data/models/Qwen2.5-Coder-32B-Instruct/",
"messages": [
{
"role": "user",
"content": "请介绍一下人工智能"
}
],
"temperature": 0.0,
"max_tokens": 512
}' | jq -r '.choices[0].message.content'
五、Benchmark测试
1、benchmark工具下载
sftp -P 29880 iluvatar_mr@iftp.iluvatar.com.cn 访问密码请咨询天数售后
get /client_tmp/support/kk/vllm_benchmark.tar.gz /home/
2、进入容器,执行测试
docker exec -it sdk440llm bash
cd /data/models/vllm_benchmark
python3 benchmark_serving.py --model /data/models/Qwen2.5-Coder-32B-Instruct/ --dataset-name random --random-input-len 4096 --random-output-len 4096 --num-prompts 1 --host "0.0.0.0" --port 8000
3、测试结果
============ Serving Benchmark Result ============
Successful requests: 1
Benchmark duration (s): 136.79
Total input tokens: 4096
Total generated tokens: 4096
Request throughput (req/s): 0.01
Output token throughput (tok/s): 29.94
Total Token throughput (tok/s): 59.89
---------------Time to First Token----------------
Mean TTFT (ms): 98.62
Median TTFT (ms): 98.62
P99 TTFT (ms): 98.62
------------------Generate time-------------------
Mean LATENCY (ms): 136786.35
Median LATENCY (ms): 136786.35
P99 LATENCY (ms): 136786.35
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms): 33.38
Median TPOT (ms): 33.38
P99 TPOT (ms): 33.38
---------------Inter-token Latency----------------
Mean ITL (ms): 33.43
Median ITL (ms): 33.36
P99 ITL (ms): 44.28
==================================================