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

从零开始部署gemma4

操作系统配置指南:Ubuntu 22.04 LTS + NVIDIA 驱动 + Docker + vLLM

⚠️ 重要提示:本系统为带有定制驱动的 Ubuntu 22.04 LTS,务必锁定内核并关闭自动更新,避免驱动与内核版本不兼容导致系统故障。


🔐 一、内核锁定与自动更新管理

1.1 锁定当前内核版本

# 锁定当前运行的内核及头文件
sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r)# 验证锁定状态
apt-mark showhold# (可选)取消锁定(注意:需使用与锁定时一致的包名)
sudo apt-mark unhold linux-image-$(uname -r) linux-headers-$(uname -r)# 查看系统中已安装的内核包
dpkg --get-selections | grep linux-image

💡 建议:若需长期锁定所有通用内核包,可改为:

sudo apt-mark hold linux-generic linux-image-generic linux-headers-generic

1.2 关闭系统自动更新

# 查看 unattended-upgrades 服务状态
systemctl status unattended-upgrades# 禁用自动更新配置(交互式)
sudo dpkg-reconfigure -p low unattended-upgrades
# 选择 "No" 以禁用# 立即停止自动更新服务
sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades  # 建议同时禁用开机自启

📦 二、NVIDIA 驱动与 CUDA 安装

2.1 下载驱动安装包

# 下载 CUDA 13.2.0 + Driver 595.45.04 一体安装包
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda_13.2.0_595.45.04_linux.run

2.2 安装驱动(推荐在文本模式下操作)

# 赋予执行权限
chmod +x cuda_13.2.0_595.45.04_linux.run# 运行安装(建议添加 --silent 用于自动化,或交互式确认)
sudo sh cuda_13.2.0_595.45.04_linux.run

⚠️ 注意事项

  • 安装前建议关闭图形界面:sudo systemctl isolate multi-user.target
  • 若已安装旧驱动,建议选择 "Remove" 选项清理
  • 安装完成后执行 nvidia-smi 验证驱动状态

🐳 三、NVIDIA Container Toolkit 安装

# 配置 NVIDIA 容器仓库
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgcurl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list# 安装 toolkit
sudo apt update
sudo apt install -y nvidia-container-toolkit# 生成 Docker 运行时配置(关键步骤)
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

🐋 四、Docker 安装与配置

4.1 安装 Docker

# 使用官方脚本一键安装
curl -fsSL https://get.docker.com | bash -s docker# 将当前用户加入 docker 组(避免每次使用 sudo)
sudo usermod -aG docker $USER
# 生效组权限:重新登录或执行 newgrp docker

4.2 配置 Docker 守护进程

文件:/etc/docker/daemon.json

{"data-root": "/mnt/data0/docker","runtimes": {"nvidia": {"path": "nvidia-container-runtime","args": []}},"exec-opts": ["native.cgroupdriver=cgroupfs"]
}

4.3 配置 HTTP 代理(可选)

文件:/lib/systemd/system/docker.service.d/http-proxy.conf

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7897"
Environment="HTTPS_PROXY=http://127.0.0.1:7897"
Environment="NO_PROXY=localhost,127.0.0.1,.local"

4.4 配置端口转发(rinetd)

文件:/etc/rinetd.conf

# 格式:绑定地址 绑定端口 目标地址 目标端口
0.0.0.0 7897 10.70.200.20 7897
# 重启服务使配置生效
sudo systemctl restart rinetd
sudo systemctl restart docker

🚀 五、vLLM 镜像部署

5.1 拉取镜像

docker pull vllm/vllm-openai:gemma4-cu130

5.2 启动容器

docker run -d \--name gemma \--gpus all \--ipc=host \-v /mnt/data0:/data \-p 8000:8000 \-e TZ=Asia/Shanghai \vllm/vllm-openai:gemma4-cu130 \/data/models/gemma-4-31B-it \--served-model-name gemma4 \--tensor-parallel-size 4 \--max-model-len 262144 \--port 8000 \--reasoning-parser gemma4 \--enable-prefix-caching \--enable-auto-tool-choice \--tool-call-parser gemma4

💡 参数说明

  • --tensor-parallel-size 4:需 4 张 GPU 并行推理
  • --max-model-len 262144:支持超长上下文,需充足显存(建议 ≥80GB×4)
  • 模型路径 /data/models/gemma-4-31B-it 需提前下载并挂载

🧪 六、接口测试脚本

文件:test.sh

#!/bin/bash
# 用法:./test.sh "你的问题"if [ -z "$1" ]; thenecho "Usage: $0 \"Your prompt here\""exit 1
fi# 使用 jq 安全构造请求体
JSON_DATA=$(jq -n \--arg content "$1" \--arg model "gemma4" \'{model: $model,messages: [{role: "user",content: [{ type: "text", text: $content }]}]}')# 发送请求并解析响应
curl -s -X POST "http://172.21.19.29:8000/v1/chat/completions" \-H "Content-Type: application/json" \--data "$JSON_DATA" | jq -r '.choices[0].message.content'
# 赋予执行权限并测试
chmod +x test.sh
./test.sh "Hello, tell me about quantum computing"

🔍 附:常见问题排查

问题 检查命令 解决方案
驱动未加载 nvidia-smi 重新安装驱动,确认内核匹配
Docker 无法使用 GPU docker run --gpus all nvidia/cuda:12.0-base nvidia-smi 重装 nvidia-container-toolkit 并重启 Docker
容器启动失败 docker logs gemma 检查模型路径、显存、参数合法性
接口无响应 curl -v http://172.21.19.29:8000/health 确认容器运行状态、防火墙、代理配置

最佳实践:生产环境建议将上述步骤封装为 Ansible Playbook 或 Shell 脚本,并添加日志记录与回滚机制。

http://www.jsqmd.com/news/709932/

相关文章:

  • 5分钟掌握SRWE:解锁窗口分辨率自定义的终极工具
  • G-Helper:释放华硕笔记本隐藏性能的轻量级神器
  • Untrunc视频修复终极指南:10分钟拯救你的损坏视频文件
  • 终极视频对比分析工具:5分钟快速上手开源神器
  • 3分钟掌握GEMMA:让复杂遗传数据分析变得简单的终极指南
  • 2026年宁波短视频代运营与GEO搜索优化:中小企业同城竞争突破指南 - 精选优质企业推荐官
  • AI智能体如何30分钟构建全栈酒店预订平台:技术架构与协作机制解析
  • 3分钟揪出Windows热键冲突的“元凶“:Hotkey Detective使用全攻略
  • 简单理解:DLL 库 和 SO 库
  • DLSS Swapper革命性工具:智能游戏画质提升的一键式解决方案
  • 智能自动化助手:3个秘诀让你的Android设备更高效
  • 3分钟搭建零配置静态服务器:http-server让本地开发效率翻倍 [特殊字符]
  • 2026有实力且性价比高的工业窑炉厂家推荐哪家?破解粉体干燥能耗居高不下困局 - 品牌种草官
  • MaxKB4j:Java原生的企业级RAG与智能体引擎设计与实战
  • 2026最新中医执医考试课程选择——为何阿虎课程好 - 医考机构品牌测评专家
  • 多模态模型评估框架AdaptMMBench解析与应用
  • 皮肤管理店收银系统哪个靠谱?行业力荐品牌
  • 全面掌握ezdxf:Python处理DXF文件的终极指南
  • 工业点云必须跨过的三道生死关(噪声鲁棒性|多视角一致性|亚毫米级重复精度):一份被17家制造企业联合采纳的校准白皮书
  • 2026年宁波GEO优化与短视频引流:5大服务商实战对比与中小企业选购攻略 - 精选优质企业推荐官
  • 2026年宁波中小企业GEO搜索优化与短视频代运营深度横评:官方对接指南 - 精选优质企业推荐官
  • 高校科技成果转化难怎么办?
  • Day06-08.CNN概述介绍
  • 软件装饰器管理中的功能增强链
  • 自然语言生成解码算法的数学本质与优化实践
  • 【AI】cursor使用小技巧
  • 2026年宁波短视频代运营与GEO优化:中小企业同城竞争突破指南 - 精选优质企业推荐官
  • 洛阳熟牛肉哪个好吃?众源牛肉实测推荐,本地人都认可的靠谱选择 - 中媒介
  • Git报错救星:手把手教你用VSCode内置终端和Git Graph插件优雅解决‘pathspec’匹配失败
  • 国内免费玩转ClaudeCode