一、测试条件
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-Omni-7B --local_dir /data/models/Qwen2.5-Omni-7B
2、启动模型
omni模型无法启用cuda graph。
python3 -m vllm.entrypoints.openai.api_server \
--model /data/models/Qwen2.5-Omni-7B \
--trust-remote-code \
--dtype bfloat16 \
--gpu-memory-utilization 0.9 \
--host 0.0.0.0
四、curl请求测试
1、普通Curl请求测试
#使用v1 chat接口
-H "Content-Type: application/json" \
-H "Authorization: Bearer token-abc123" \
-d '{
"model": "/data/models/Qwen2.5-Omni-7B",
"messages": [
{
"role": "user",
"content": "介绍一下人工智能\n"
}
],
"temperature": 0.7,
"max_tokens": 512,
"top_p": 0.8
}'
2、使用jq格式化curl输出
1)、安装jq
apt-get update
apt-get install jq
2)、curl请求测试
curl -s -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token-abc123" \
-d '{
"model": "/data/models/Qwen2.5-Omni-7B",
"messages": [
{
"role": "user",
"content": "请介绍一下人工智能"
}
],
"temperature": 0.0,
"max_tokens": 512
}' | jq -r '.choices[0].message.content'
关于temperature设置,参考文档“temperature 的底层原理”
五、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-Omni-7B --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): 111.21
Total input tokens: 4096
Total generated tokens: 4096
Request throughput (req/s): 0.01
Output token throughput (tok/s): 36.83
Total Token throughput (tok/s): 73.66
---------------Time to First Token----------------
Mean TTFT (ms): 127.56
Median TTFT (ms): 127.56
P99 TTFT (ms): 127.56
------------------Generate time-------------------
Mean LATENCY (ms): 111206.57
Median LATENCY (ms): 111206.57
P99 LATENCY (ms): 111206.57
-----Time per Output Token (excl. 1st token)------
Mean TPOT (ms): 27.13
Median TPOT (ms): 27.13
P99 TPOT (ms): 27.13
---------------Inter-token Latency----------------
Mean ITL (ms): 27.13
Median ITL (ms): 27.10
P99 ITL (ms): 28.10
==================================================