【AI推理部署教程】使用 vLLM 运行智谱 GLM-4.5V 视觉语言模型推理服务
一、前言
GLM-4.5V 是智谱 AI 发布的新一代多模态大语言模型(Visual Language Model,VLM),具备图像理解 + 文本生成能力。
结合 vLLM 高性能推理框架,可以实现低延迟、高吞吐的在线推理服务部署。
本文将带你从环境准备到运行推理 API 服务,完成一个可直接调用的 GLM-4.5V-AWQ 推理平台。
文章目录
二、环境准备
1. 新建 conda 环境
首先查看当前已有的 conda 环境(可选,用于确认要克隆的环境名称):
conda env list
克隆一个已有可用的深度学习环境:
conda create --name glm45v --clone base
glm45v
为新环境名称base
为被克隆的环境(可换成你已有的 CUDA/PyTorch 环境)
激活新环境:
conda activate glm45v
2. 确认 PyTorch 与 CUDA 版本
python -c "import torch; print('PyTorch:', torch.__version__); print('CUDA:', torch.version.cuda)"
python --version
示例输出:
PyTorch: 2.7.1+cu126
CUDA: 12.6
Python 3.12.9
3. 确认 flash_attn
版本
flash_attn
是高效注意力计算库,用于加速推理。
pip install flash_attn-2.8.1+cu12torch2.7cxx11abiFALSE-cp312-cp312-linux_x86_64.whl
确保版本与 CUDA / PyTorch 对应,否则会运行时报错。
4. 检查 transformers 版本
pip show transformers
示例输出:
Name: transformers
Version: 4.56.0.dev0
三、模型准备
1. 模型压缩
为了降低推理显存占用,我们使用 AWQ(Activation-aware Weight Quantization)量化。
GLM-4.5V 原始模型 + AWQ 压缩技术 = GLM-4.5V-AWQ
压缩后的优势:
- 显存占用显著降低
- 部署所需硬件资源减少
- 推理速度提升
压缩后模型大小示例:
原始模型: ~ 20GB
AWQ量化后: ~ 8GB
四、运行 vLLM 推理服务
1. 启动命令
vllm serve GLM-4.5V-AWQ \
--served-model-name GLM-4.5V-AWQ \
--tool-call-parser glm45 \
--reasoning-parser glm45 \
--enable-auto-tool-choice \
--enable-expert-parallel \
--max-num-seqs 512 \
--tensor-parallel-size 2
2. 参数详细解释
参数 | 说明 |
---|---|
GLM-4.5V-AWQ |
要部署的模型路径(已AWQ量化) |
--served-model-name |
服务对外的模型名称,客户端调用需一致 |
--tool-call-parser glm45 |
使用适配 GLM-4.5 系列的工具调用解析器 |
--reasoning-parser glm45 |
推理逻辑解析器 |
--enable-auto-tool-choice |
允许模型自动选择外部工具 |
--enable-expert-parallel |
针对 MoE 架构的专家并行计算 |
--max-num-seqs 512 |
最大并发请求序列数 |
--tensor-parallel-size 2 |
使用 2 张 GPU 进行张量并行 |
五、推理调用示例
启动后,vLLM 会默认监听 http://0.0.0.0:8000
API 接口。
你可以使用 curl 或 Python 发送请求。
Python 调用示例
import requests
url = "http://localhost:8000/v1/chat/completions"
headers = {"Content-Type": "application/json"}
payload = {
"model": "GLM-4.5V-AWQ",
"messages": [
{"role": "user", "content": "你是谁?"}
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
示例输出:
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1710000000,
"model": "GLM-4.5V-AWQ",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "我是由智谱AI研发的人工智能多模态模型GLM-4.5V..."
},
"finish_reason": "stop"
}
]
}
六、总结与优化建议
- 环境匹配是关键:PyTorch / CUDA / flash_attn 必须版本对应
- AWQ量化极大降低显存占用,推荐在资源有限时使用
- vLLM 的 tensor-parallel-size 与 GPU 数量匹配,否则会报错
- 可通过
--max-num-seqs
调整并发,平衡吞吐与延迟