一、QWQ-32B 介绍
QWQ-32B
是阿里巴巴最新开源的一款新型推理模型,规模仅拥有320
亿参数,但在多项基准测试中,性能几乎媲美 DeepSeek-R1 满血版
,甚至某些测试中超越了 DeepSeek-R1 满血版
。
官方提供的评估对比图:
从上图可以看出 QwQ-32B
表现出色,整体几乎超越 OpenAI-o1-mini
,在 AIME24(数学推理)
和 LiveCodeBench(代码评测)
测试集上与DeepSeek-R1满血版
几乎持平,在 LiveBench(混合任务)
、IFEval(指令遵循)
、BFCL(函数调用)
测试中,均超越 DeepSeek-R1满血版
。但其只有 32B
的参数量,在如此优秀效果的前提下又大幅降低了部署使用的成本。
modelscope 地址:
huggleface 地址:
本次本地部署 QWQ-32B
推理优化框架采用 vLLM
,使用 Open-WebUI
交互测试,依赖的版本如下:
torch==2.5.1+cu118
modelscope==1.23.1
transformers==4.49.0
vllm==0.7.2
二、vLLM 部署 QWQ-32B
首先使用 modelscope
下载 QWQ-32B
模型到本地:
modelscope download --model="Qwen/QwQ-32B" --local_dir QwQ-32B
使用 vLLM
读取模型启动API
服务。
export CUDA_VISIBLE_DEVICES=0,1
vllm serve "QwQ-32B" \
--host 0.0.0.0 \
--port 8060 \
--dtype bfloat16 \
--tensor-parallel-size 2 \
--cpu-offload-gb 0 \
--gpu-memory-utilization 0.8 \
--max-model-len 8126 \
--api-key token-abc123 \
--enable-prefix-caching \
--trust-remote-code
关键参数说明:
export CUDA_VISIBLE_DEVICES=0,1
:指定所使用的GPU
。dtype
: 数据类型,其中bfloat16
,16
位浮点数,适合NVIDIA A100
等设备。tensor-parallel-size
:Tensor
并行的数量,当多GPU
分布式推理时使用,建议和GPU
的数量一致。cpu-offload-gb
:允许将部分模型权重或中间结果卸载到CPU
的内存中,单位为GB
。,模拟GPU
内存扩展,如果部署的模型大于了显存大小可以设置该参数,但是推理速度会大大下降。gpu-memory-utilization
:设置GPU
内存利用率的上限。max-model-len
:允许模型最大处理的Token
数,该参数越大占用显存越大。enable-prefix-caching
:启用前缀缓存减少重复计算。
显存占用情况:
如果启动显存不足,可适当调整 gpu-memory-utilization
和 max-model-len
参数,或通过 cpu-offload-gb
将部分模型权重卸载到内存中。
启动成功后,可通过 /v1/models
接口可查看模型列表:
curl http://localhost:8060/v1/models -H "Authorization: Bearer token-abc123"
测试API
方式交互:
curl http://localhost:8060/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer token-abc123" \
-d '{
"model": "QwQ-32B",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你好,介绍一下你自己"}
]
}'
三、Open-WebUI 交互测试
连接 QWQ-32B
模型。
模型ID
可以留空,会自动从 /v1/models
接口中获取。
保存后,回到对话窗口, 可在左上角选择 QWQ-32B
模型: