GLM-4v-9b部署教程:Ubuntu 22.04 LTS + NVIDIA Driver 535 + CUDA 12.2完整配置
1. 教程概述
今天我们来手把手教你如何在Ubuntu 22.04系统上,从零开始部署GLM-4v-9b这个强大的多模态模型。这个模型有90亿参数,不仅能看懂文字,还能理解图片内容,支持中英文对话,特别适合做图像描述、视觉问答、图表分析这些任务。
学完这篇教程,你将能够:
- 在Ubuntu 22.04上正确安装NVIDIA驱动和CUDA环境
- 下载并配置GLM-4v-9b模型
- 用最简单的方式启动模型服务
- 通过网页界面与模型进行图文对话
不需要任何深度学习基础,只要会基本的Linux命令就能跟着做。整个部署过程大概需要30-60分钟,主要时间花在下载模型文件上。
2. 环境准备
2.1 硬件要求
先来看看你的电脑需要满足什么条件:
最低配置:
- GPU:NVIDIA RTX 3090 24GB 或 RTX 4090 24GB
- 内存:32GB RAM
- 存储:至少50GB可用空间(模型文件很大)
推荐配置:
- GPU:RTX 4090 24GB 或更好的显卡
- 内存:64GB RAM
- 存储:100GB SSD空间
模型本身大概需要18GB显存(FP16精度)或者9GB显存(INT4量化版本)。如果你只有一张24GB的卡,建议用INT4版本;如果有两张卡,可以用完整版获得更好效果。
2.2 系统要求
确保你的系统是Ubuntu 22.04 LTS版本,可以用这个命令查看:
lsb_release -a如果显示"Ubuntu 22.04"就可以继续。还需要安装一些基础工具:
sudo apt update sudo apt install -y wget curl git build-essential3. NVIDIA驱动安装
3.1 卸载旧驱动
如果你之前装过NVIDIA驱动,最好先清理干净:
sudo apt purge -y nvidia* sudo apt autoremove -y3.2 安装535版本驱动
Ubuntu 22.04的默认软件源里就有535版本的驱动,这是最稳定的安装方式:
# 添加官方PPA源 sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # 安装驱动和CUDA工具包 sudo apt install -y nvidia-driver-535 nvidia-cuda-toolkit # 重启系统让驱动生效 sudo reboot重启后,用这个命令检查驱动是否安装成功:
nvidia-smi你应该能看到类似这样的输出,重点是Driver Version显示535.x,CUDA Version显示12.2:
+---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 On | Off | | 0% 43C P8 22W / 450W | 689MiB / 24564MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+如果显示正常,说明驱动安装成功了。
4. CUDA 12.2环境配置
虽然刚才安装了CUDA工具包,但我们还需要设置环境变量:
# 编辑bash配置文件 echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc # 立即生效 source ~/.bashrc验证CUDA安装:
nvcc --version应该显示CUDA 12.2版本信息。
5. 模型下载与配置
5.1 创建项目目录
我们先创建一个专门的工作目录:
mkdir -p ~/glm-4v-9b && cd ~/glm-4v-9b5.2 下载模型权重
GLM-4v-9b的模型文件需要在官方渠道获取。你可以通过以下方式下载:
- 访问智谱AI的官方GitHub仓库
- 或者使用Hugging Face的模型库
这里以Hugging Face为例(需要先安装git-lfs):
# 安装git大文件支持 sudo apt install -y git-lfs # 克隆模型仓库(这里用示例地址,实际请用官方提供的地址) git clone https://huggingface.co/THUDM/glm-4v-9b下载时间会比较长,模型文件大概有18GB(FP16版本)或9GB(INT4版本)。
5.3 安装Python环境
建议使用conda或者venv创建独立的Python环境:
# 安装miniconda(如果还没安装) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda # 初始化conda ~/miniconda/bin/conda init bash source ~/.bashrc # 创建专用环境 conda create -n glm4v python=3.10 -y conda activate glm4v6. 依赖包安装
现在安装运行模型需要的Python包:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install transformers>=4.35.0 pip install vllm>=0.2.6 pip install open-webui这些包分别用来:
- torch:PyTorch深度学习框架
- transformers:Hugging Face的模型加载库
- vllm:高性能推理引擎
- open-webui:网页界面
7. 模型启动与测试
7.1 使用vLLM启动模型
vLLM是目前最高效的推理引擎之一,启动命令很简单:
python -m vllm.entrypoints.openai.api_server \ --model ~/glm-4v-9b \ --tensor-parallel-size 2 \ --served-model-name glm-4v-9b \ --host 0.0.0.0 \ --port 8000这里的参数说明:
--tensor-parallel-size 2:使用2张GPU卡(如果只有1张卡就改成1)--port 8000:API服务端口
7.2 启动Web界面
等模型加载完成后(需要几分钟),另开一个终端启动网页界面:
conda activate glm4v cd ~/glm-4v-9b open-webui --port 7860现在打开浏览器,访问http://你的服务器IP:7860就能看到聊天界面了。
8. 基本使用演示
8.1 文本对话测试
在网页界面中输入:
你好,请介绍一下你自己模型应该会回复类似这样的内容:
"你好!我是GLM-4v-9b,一个多模态人工智能模型。我能够理解和处理文本和图像信息,支持中英文对话,可以帮助你进行图像描述、视觉问答、图表分析等多种任务..."
8.2 图片理解测试
点击上传图片按钮,选择一张图片,然后问:
请描述这张图片的内容模型会分析图片并给出详细的描述。你可以试试各种类型的图片:风景、人物、图表、文档等。
8.3 多轮对话
GLM-4v-9b支持连续对话,你可以基于之前的对话内容继续提问:
用户:这张图片里有什么动物? AI:图片中有一只橘色的猫在草地上玩耍。
用户:它是什么品种的猫? AI:从外观特征来看,这很可能是一只橘色虎斑猫...
9. 常见问题解决
9.1 显存不足错误
如果遇到CUDA out of memory错误,可以尝试:
- 使用INT4量化版本(只需要9GB显存)
- 减少
--tensor-parallel-size(如果用2张卡报错,试试1张卡) - 调整vLLM的
--max-model-len参数减少序列长度
9.2 模型加载慢
第一次加载需要编译内核,可能会比较慢(5-10分钟),之后启动就会快很多。
9.3 端口冲突
如果8000或7860端口被占用,可以修改启动命令中的--port参数。
9.4 中文显示问题
确保你的系统支持中文字符集:
sudo apt install -y fonts-noto-cjk10. 性能优化建议
10.1 使用INT4量化
如果你的显存紧张,可以使用INT4量化版本,显存占用减半,性能损失很小:
# 下载INT4版本模型 git clone https://huggingface.co/THUDM/glm-4v-9b-int410.2 调整推理参数
根据你的需求调整vLLM参数:
# 更快的推理速度 --max-num-seqs 16 \ --max-num-batched-tokens 2048 # 更长的上下文 --max-model-len 819210.3 使用Docker部署
对于生产环境,建议使用Docker确保环境一致性:
FROM nvidia/cuda:12.2.2-runtime-ubuntu22.04 # 安装基础依赖 RUN apt update && apt install -y python3.10 python3-pip git-lfs # 复制模型文件和代码 COPY glm-4v-9b /app/model COPY requirements.txt /app/ # 安装依赖 RUN pip install -r /app/requirements.txt # 启动命令 CMD ["python", "-m", "vllm.entrypoints.openai.api_server", "--model", "/app/model", "--port", "8000"]11. 总结
通过这个教程,你应该已经成功在Ubuntu 22.04上部署了GLM-4v-9b模型。这个模型真的很强大,特别是对于中文场景的图文理解任务,效果相当不错。
关键要点回顾:
- 确保NVIDIA驱动是535版本,CUDA是12.2
- 使用vLLM推理引擎可以获得最佳性能
- INT4量化版本让24GB显存的卡也能流畅运行
- Open-WebUI提供了友好的聊天界面
下一步建议:
- 尝试不同的图片类型,看看模型的表现
- 测试多轮对话能力,体验连续对话的流畅度
- 如果要做商业应用,记得查看开源协议要求
GLM-4v-9b在图表理解、文档分析这些方面特别强,如果你有相关需求,一定要试试看。部署过程中遇到问题,可以查看官方文档或者在技术社区提问。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。