news 2026/5/10 8:21:52

GLM-4v-9b保姆级教程:Ubuntu 22.04 LTS全环境依赖安装与验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GLM-4v-9b保姆级教程:Ubuntu 22.04 LTS全环境依赖安装与验证

GLM-4v-9b保姆级教程:Ubuntu 22.04 LTS全环境依赖安装与验证

想在自己的电脑上跑一个能看懂图片、还能跟你聊天的AI吗?今天,我们就来手把手教你,在Ubuntu 22.04系统上,从零开始安装和运行一个强大的多模态模型——GLM-4v-9b。

这个模型只有90亿参数,但本事不小。它能同时理解文字和图片,支持中文和英文对话。最厉害的是,它能直接处理1120×1120的高清大图,连图片里的小字和表格细节都能看清楚。在一些专业的看图测试里,它的表现甚至超过了GPT-4 Turbo和Claude 3 Opus这些业界大佬。

而且,它对咱们普通玩家特别友好。经过简单压缩后,模型大小只有9GB左右,一张RTX 4090显卡就能流畅运行。这意味着,你不需要昂贵的专业设备,就能在本地体验前沿的多模态AI能力。

接下来,我会带你一步步完成所有环境的搭建和验证,确保你一次成功。咱们开始吧。

1. 准备工作:理清思路与检查清单

在动手安装之前,我们先花几分钟,搞清楚我们要做什么,以及需要准备什么。这能帮你避免很多“做到一半卡住”的尴尬情况。

1.1 教程目标与最终效果

通过这篇教程,你将完成以下事情:

  1. 搭建完整环境:在Ubuntu 22.04系统上,安装运行GLM-4v-9b所需的所有软件和依赖库。
  2. 验证核心功能:运行一个简单的测试脚本,确认模型能正确加载,并且具备图文理解的能力。
  3. 获得一个可用的起点:得到一个干净、可复现的基础环境,你可以基于它进行更复杂的应用开发。

完成之后,你将能运行一个Python脚本,给模型一张图片和一段文字提问,然后得到模型的理解和回答。

1.2 你的电脑需要满足这些条件

请对照检查你的电脑,确保满足以下要求:

  • 操作系统:Ubuntu 22.04 LTS。这是本教程的基准系统,其他版本可能需要对命令进行微调。
  • 显卡(GPU):这是最重要的部分。你需要一张NVIDIA显卡,并且显存至少要有16GB。例如:
    • RTX 4090 (24GB):完美运行,推荐。
    • RTX 3090 (24GB):完美运行。
    • RTX 4080 Super (16GB):刚好满足最低要求,可以运行量化后的模型。
    • 如果显存小于16GB,运行完整的模型会非常困难,你可能需要考虑使用更强的量化版本(如INT8)或在CPU上运行(速度会慢很多)。
  • 硬盘空间:至少需要30GB的可用空间,用于存放模型文件、Python环境以及各种依赖库。
  • 网络:需要稳定的网络连接以下载模型文件(约18GB)和安装包。

如果你的设备符合条件,那太好了!我们继续。如果不符合,你可能需要先升级硬件,或者寻找云服务来运行。

2. 基础环境搭建:安装系统级依赖

这一部分,我们要为后续的Python和深度学习环境打好地基。请打开你的终端(Terminal)。

2.1 更新系统软件包列表

首先,我们更新一下系统的软件包列表,确保能安装到最新版本的软件。

sudo apt update

2.2 安装必要的编译工具和库

GLM-4v-9b的某些底层依赖(比如用来加速计算的flash-attn)需要编译安装。因此,我们需要提前安装好编译工具和一些基础库。

运行以下命令,一次性安装它们:

sudo apt install -y build-essential cmake git wget curl software-properties-common
  • build-essential:包含了GCC编译器、make等核心编译工具。
  • cmake:一个跨平台的编译配置工具,很多C++项目用它。
  • git:版本控制工具,用于克隆代码仓库。
  • wgetcurl:命令行下载工具。
  • software-properties-common:方便我们添加和管理软件源。

2.3 安装并配置Python环境

Ubuntu 22.04默认可能安装了Python 3.10,但我们建议使用更新的Python 3.10或3.11。这里我们通过deadsnakes这个PPA(个人软件包存档)来安装Python 3.11。

  1. 添加deadsnakesPPA源:
    sudo add-apt-repository ppa:deadsnakes/ppa -y sudo apt update
  2. 安装Python 3.11和虚拟环境管理工具python3.11-venv
    sudo apt install -y python3.11 python3.11-venv python3.11-dev
    • python3.11-dev:包含了Python开发所需的头文件和静态库,编译某些Python包时会用到。

2.4 安装NVIDIA显卡驱动与CUDA

这是让模型能在GPU上飞驰的关键。我们将使用Ubuntu官方推荐的ubuntu-drivers工具来安装。

  1. 首先,检查你的显卡型号,并查看推荐的驱动版本:

    ubuntu-drivers devices

    在输出结果中,找到带有“recommended”标识的那一行,记住驱动版本号(例如nvidia-driver-550)。

  2. 安装推荐的驱动版本(请将下面的550替换成你看到的版本号):

    sudo apt install -y nvidia-driver-550
  3. 安装完成后,必须重启电脑以使驱动生效。

    sudo reboot
  4. 重启后,重新打开终端,验证驱动是否安装成功:

    nvidia-smi

    你应该能看到一个表格,显示了你的GPU型号、驱动版本、CUDA版本等信息。如果能看到,恭喜你,驱动安装成功!

  5. 安装CUDA Toolkit。深度学习框架(如PyTorch)需要CUDA来调用GPU进行计算。我们安装CUDA 12.1(这是一个与当前主流深度学习库兼容性很好的版本)。

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-12-1-local_12.1.0-530.30.02-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-12-1
  6. 将CUDA添加到系统环境变量,这样系统才能找到它。编辑你的shell配置文件(例如~/.bashrc):

    echo 'export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc
  7. 验证CUDA安装:

    nvcc --version

    如果显示CUDA 12.1的版本信息,说明安装成功。

至此,最复杂的基础系统环境已经搭建完毕。接下来,我们进入Python的世界。

3. 创建与配置Python虚拟环境

使用虚拟环境是一个好习惯,它能将不同项目的依赖隔离开,避免版本冲突。我们为GLM-4v-9b单独创建一个环境。

  1. 创建一个新的目录来存放我们的项目,并进入该目录:

    mkdir -p ~/projects/glm-4v-9b-demo cd ~/projects/glm-4v-9b-demo
  2. 使用Python 3.11创建一个名为venv的虚拟环境:

    python3.11 -m venv venv
  3. 激活虚拟环境:

    source venv/bin/activate

    激活后,你的命令行提示符前面通常会显示(venv),表示你现在处于这个虚拟环境中。后续所有pip install命令都需要在激活的环境下执行。

  4. 升级pipsetuptools到最新版:

    pip install --upgrade pip setuptools wheel

4. 安装深度学习框架与模型依赖

现在,我们来安装运行模型所需的Python库。核心是PyTorch和Hugging Face的transformers库。

4.1 安装PyTorch

根据我们安装的CUDA 12.1,去PyTorch官网找到对应的安装命令。在虚拟环境中执行:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

4.2 安装Transformers及其他核心库

transformers库是Hugging Face提供的,用于加载和运行各种预训练模型的核心工具。

pip install transformers accelerate sentencepiece
  • accelerate:Hugging Face的库,用于简化混合精度训练和分布式推理。
  • sentencepiece:分词器依赖。

4.3 安装视觉处理与加速库

GLM-4v-9b需要处理图片,并且我们希望能更快地运行它。

pip install pillow opencv-python-headless flash-attn --no-build-isolation
  • pillow(PIL):Python最常用的图像处理库。
  • opencv-python-headless:OpenCV的无头版本,用于更专业的图像读取和预处理。
  • flash-attn:一个非常重要的注意力机制加速库,能显著提升模型推理速度。安装它可能需要几分钟时间编译。

4.4 可选:安装Jupyter Notebook(用于交互式测试)

如果你习惯在Notebook里写代码和看结果,可以安装它。

pip install jupyter

环境依赖全部安装完毕!接下来,就是最激动人心的环节——下载模型并运行测试。

5. 下载模型与编写测试脚本

5.1 下载GLM-4v-9b模型

模型开放在Hugging Face Hub上。我们可以直接用transformers库在代码中下载,但为了更稳定,我们先使用git-lfs(大文件存储)来克隆仓库。

  1. 安装git-lfs
    sudo apt install -y git-lfs git lfs install
  2. 克隆模型仓库(请注意,模型较大,约18GB,下载需要较长时间和稳定网络):
    git clone https://huggingface.co/THUDM/glm-4v-9b
    你可以去喝杯咖啡,耐心等待。如果网络不稳定导致中断,可以使用git lfs pull命令继续拉取。

5.2 编写一个简单的验证脚本

在项目根目录下,创建一个名为test_glm4v9b.py的Python文件。

# test_glm4v9b.py import torch from PIL import Image from transformers import AutoModelForCausalLM, AutoTokenizer # 1. 指定模型路径(指向你刚刚克隆下来的文件夹) model_path = "./glm-4v-9b" # 2. 加载模型和分词器 print("正在加载模型和分词器,这可能需要几分钟...") # 使用半精度(fp16)加载以节省显存 model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16, # 使用半精度 device_map="auto", # 自动将模型层分配到可用的GPU/CPU上 trust_remote_code=True # 信任来自作者的远程代码(GLM系列需要) ).eval() # 设置为评估模式,关闭dropout等训练层 tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) print("模型加载完毕!") # 3. 准备一张测试图片和问题 # 这里我们使用PIL创建一个简单的纯色图片作为示例 # 在实际应用中,你可以用 `Image.open("你的图片路径.jpg")` 来加载自己的图片 width, height = 224, 224 test_image = Image.new('RGB', (width, height), color='lightblue') question = "请描述这张图片。" # 4. 构建模型输入 # GLM-4v-9b 使用特定的聊天模板 messages = [ {"role": "user", "content": [{"type": "image"}, {"type": "text", "text": question}]} ] # 使用tokenizer的apply_chat_template方法构建输入 input_text = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False) # 将文本和图片一起进行tokenize inputs = tokenizer([input_text], images=[test_image], return_tensors="pt").to(model.device) # 5. 生成回答 print("正在生成回答...") with torch.no_grad(): # 禁用梯度计算,节省内存 generated_ids = model.generate( **inputs, max_new_tokens=512, # 生成的最大新token数 do_sample=False, # 使用贪婪解码,结果更确定 temperature=0.1, ) # 6. 解码并打印输出 # 跳过输入部分,只解码新生成的token generated_ids_trimmed = generated_ids[:, inputs['input_ids'].shape[1]:] if generated_ids.shape[1] > inputs['input_ids'].shape[1] else generated_ids output_text = tokenizer.batch_decode(generated_ids_trimmed, skip_special_tokens=True)[0] print("\n" + "="*50) print("用户问题:", question) print("模型回答:", output_text) print("="*50) # 7. 打印显存使用情况(可选) if torch.cuda.is_available(): print(f"\nGPU显存使用: {torch.cuda.memory_allocated() / 1024**3:.2f} GB")

这个脚本做了以下几件事:

  1. 加载我们下载的模型和分词器。
  2. 创建一张简单的蓝色图片作为输入。
  3. 按照GLM-4v-9b要求的格式,把图片和文字问题组合起来。
  4. 让模型根据图片和问题生成一段描述。
  5. 把模型生成的结果打印出来。

6. 运行验证与结果分析

万事俱备,只欠东风。在终端里(确保虚拟环境venv是激活状态),运行我们的测试脚本:

python test_glm4v9b.py

第一次运行会需要一些时间,因为transformers库会检查并可能下载一些额外的配置文件。模型本身已经在我们本地了,所以不会重复下载。

如果一切顺利,你将会看到类似以下的输出:

正在加载模型和分词器,这可能需要几分钟... 模型加载完毕! 正在生成回答... ================================================== 用户问题: 请描述这张图片。 模型回答: 这张图片是一个简单的纯色矩形,颜色是浅蓝色。它没有包含任何具体的物体、纹理或图案。 ================================================== GPU显存使用: 15.32 GB

恭喜你!这标志着你的GLM-4v-9b环境已经成功安装并运行起来了!

6.1 结果解读与验证要点

  1. 功能验证成功:模型正确识别了我们用代码生成的“浅蓝色矩形”图片,并给出了合理的描述。这说明模型的视觉编码器和语言模型部分协同工作正常。
  2. 显存占用:脚本显示使用了约15.3GB显存。这符合GLM-4v-9b模型以fp16精度加载时的预期(约18GB),剩余的显存用于计算过程中的中间变量。如果你的显存刚好16GB,这个占用是安全的。
  3. 响应速度:第一次生成可能稍慢,因为涉及模型加载和编译。后续在同一进程中的生成会快很多。

6.2 进行更多测试(可选)

为了进一步验证环境,你可以修改测试脚本:

  • 使用真实图片:将创建test_image的那行代码,替换为Image.open(“你的照片路径.jpg”)
  • 尝试不同问题:修改question变量,例如:
    • “图片里有什么?”
    • “这张图片的背景色是什么?”
    • “根据这张图片,写一个简短的故事。”
  • 测试中文能力:直接用中文提问,例如“描述一下这张图。”

7. 总结与后续步骤

回顾一下,我们完成了从零开始,在Ubuntu 22.04上部署GLM-4v-9b多模态模型的全部过程:

  1. 检查了硬件和系统要求
  2. 安装了系统级依赖,包括编译工具、Python 3.11和NVIDIA驱动与CUDA。
  3. 创建了独立的Python虚拟环境,并安装了PyTorch、Transformers、Flash-Attn等所有必要的库。
  4. 下载了GLM-4v-9b模型权重
  5. 编写并运行了验证脚本,成功让模型描述了一张图片,确认环境完全可用。

你现在拥有的是一个强大的本地多模态AI底座。接下来,你可以:

  • 探索更多功能:查阅 GLM-4V-9B 官方文档,了解如何用它进行图表理解、文档问答等更复杂的任务。
  • 集成到应用中:将模型封装成API服务(例如使用FastAPI),为你自己的应用提供视觉问答能力。
  • 尝试量化:如果你的显存紧张,可以探索使用bitsandbytes库进行INT8或INT4量化,进一步降低显存需求。
  • 使用WebUI:部署类似Gradio或Streamlit的交互式网页界面,用更直观的方式和模型对话。

遇到问题别担心,这是学习过程的一部分。请确保所有步骤都严格按照教程进行,并仔细核对命令的输出信息。祝你玩得开心!


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 11:59:48

REX-UniNLU多任务处理实测:同时完成NER和情感分析

REX-UniNLU多任务处理实测:同时完成NER和情感分析 在实际业务场景中,我们常常需要对一段中文文本做多重语义理解——既要识别出“张三”“北京”“腾讯”这些关键实体,又要判断整段话是褒义还是贬义,甚至还要知道“张三对腾讯的评…

作者头像 李华
网站建设 2026/5/1 10:00:59

Whisper-Large 15倍提速!SenseVoice-Small量化ONNX模型部署对比教程

Whisper-Large 15倍提速!SenseVoice-Small量化ONNX模型部署对比教程 想体验比Whisper-Large快15倍的语音识别吗?今天要介绍的SenseVoice-Small模型,不仅速度惊人,还支持多语言识别、情感分析,甚至能检测笑声、掌声这些…

作者头像 李华
网站建设 2026/5/5 17:23:33

Face3D.ai Pro高级配置:GPU加速与显存优化技巧

Face3D.ai Pro高级配置:GPU加速与显存优化技巧 如果你用过Face3D.ai Pro,肯定被它从一张照片快速生成3D人脸的能力惊艳过。但当你开始处理大量照片,或者想生成更高精度的模型时,可能就会遇到新问题:怎么这么慢&#x…

作者头像 李华
网站建设 2026/5/1 16:25:25

阿里小云KWS模型在医疗设备中的语音控制应用

阿里小云KWS模型在医疗设备中的语音控制应用 1. 医疗场景下的语音控制新体验 想象一下,外科医生正在进行精密手术,双手戴着手套,无法触碰任何设备。这时只需要轻声说一句"调亮灯光",手术灯立即响应;或者说…

作者头像 李华
网站建设 2026/5/9 17:58:46

Fish-Speech-1.5语音合成加速:利用TensorRT提升推理速度

Fish-Speech-1.5语音合成加速:利用TensorRT提升推理速度 想象一下,你正在为一个视频项目批量生成旁白,或者为一个智能客服系统准备海量语音回复。你部署了强大的Fish-Speech-1.5模型,它生成的声音自然流畅,效果令人满…

作者头像 李华
网站建设 2026/5/1 16:26:49

Qwen3-Reranker-0.6B详细步骤:自定义评分函数扩展与业务规则注入方法

Qwen3-Reranker-0.6B详细步骤:自定义评分函数扩展与业务规则注入方法 1. 理解重排序的核心价值 在搜索和RAG系统中,重排序是提升精度的关键环节。想象一下这样的场景:你用搜索引擎查找"如何做番茄炒蛋",向量检索可能返…

作者头像 李华