【AI推理部署教程】使用 vLLM 运行智谱 GLM-4.5V 视觉语言模型推理服务

发布于:2025-08-15 ⋅ 阅读:(15) ⋅ 点赞:(0)

【AI推理部署教程】使用 vLLM 运行智谱 GLM-4.5V 视觉语言模型推理服务

一、前言

GLM-4.5V 是智谱 AI 发布的新一代多模态大语言模型(Visual Language Model,VLM),具备图像理解 + 文本生成能力。
结合 vLLM 高性能推理框架,可以实现低延迟、高吞吐的在线推理服务部署。

本文将带你从环境准备运行推理 API 服务,完成一个可直接调用的 GLM-4.5V-AWQ 推理平台。
【AI推理部署教程】使用 vLLM 运行智谱 GLM-4.5V 视觉语言模型推理服务


二、环境准备

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 接口。
你可以使用 curlPython 发送请求。

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"
    }
  ]
}

六、总结与优化建议

  1. 环境匹配是关键:PyTorch / CUDA / flash_attn 必须版本对应
  2. AWQ量化极大降低显存占用,推荐在资源有限时使用
  3. vLLM 的 tensor-parallel-size 与 GPU 数量匹配,否则会报错
  4. 可通过 --max-num-seqs 调整并发,平衡吞吐与延迟


网站公告

今日签到

点亮在社区的每一天
去签到