当前位置: 首页 > news >正文

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

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

一、前言

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

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

文章目录

  • 【AI推理部署教程】使用 vLLM 运行智谱 GLM-4.5V 视觉语言模型推理服务
    • 一、前言
    • 二、环境准备
      • 1. 新建 conda 环境
      • 2. 确认 PyTorch 与 CUDA 版本
      • 3. 确认 `flash_attn` 版本
      • 4. 检查 transformers 版本
    • 三、模型准备
      • 1. 模型压缩
    • 四、运行 vLLM 推理服务
      • 1. 启动命令
      • 2. 参数详细解释
    • 五、推理调用示例
      • Python 调用示例
    • 六、总结与优化建议


二、环境准备

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 requestsurl = "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 调整并发,平衡吞吐与延迟

http://www.dtcms.com/a/331378.html

相关文章:

  • 电商双 11 美妆数据分析总结(补充)
  • 入门概述(面试常问)
  • 中久数创——笔试题
  • Android构建工具版本兼容性对照表
  • Git 中切换到指定 tag
  • 会议系统核心流程详解:创建、加入与消息交互
  • 卫星通信链路预算之七:上行载噪比计算
  • MySQL-dble分库分表方案
  • 【最新版】怎么下载mysqlclient并成功安装?
  • 物化视图优先迁移大表,缩短逻辑迁移时间
  • MySql——binlog和redolog的区别
  • uniapp开发动态添加密码验证
  • Go语言全面解析:从入门到精通
  • C/C++ 指针与内存操作详解——从一级指针到字符串转换函数的完整解析
  • 拒绝“孤岛式”作战,全方位构筑隧道应急通信解决方案
  • Java 学习笔记(基础篇2)
  • 13、C 语言结构体尺寸知识点总结
  • LeetCode 刷题【41. 缺失的第一个正数】
  • 【力扣322】零钱兑换
  • 非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
  • GraphRAG查询(Query)流程实现原理分析
  • NetLimiter:精准掌控网络流量,优化网络体验
  • 《中国人工智能安全承诺框架》发布
  • arthas火焰图怎么看
  • 搭建 Docker 私有仓库
  • 前端css学习笔记5:列表表格背景样式设置
  • 【Golang】Golang内存泄漏问题排查(二)
  • 服务器路由相关配置Linux和Windows
  • Android POS应用在android运行常见问题及解决方案
  • 当消息队列遇上AI:飞算JavaAI实现智能流量调度与故障自愈实践