努力
加油

本地GPU服务器安装Ubuntu哪个版本更适合运行大语言模型?

直接给结论:首选 Ubuntu 22.04 LTS,次选 Ubuntu 24.04 LTS。

除非你有极特殊的老旧硬件或特定软件依赖,否则不要碰 20.04(太老,驱动支持开始边缘化)和 23.x/21.x 等非长期支持版本。

下面从几个核心维度拆解为什么这么选,以及在实际部署大模型(LLM)时你会遇到的坑。

1. 为什么是 22.04 LTS?(当前最稳妥的选择)

目前主流的 AI 框架生态(PyTorch, TensorFlow, Hugging Face Transformers, vLLM, TGI 等)对 CUDA Toolkit 的依赖是最关键的瓶颈。

  • CUDA 兼容性最佳:NVIDIA 官方推荐的 CUDA 版本通常与特定的 GCC 编译器绑定。Ubuntu 22.04 默认搭载 GCC 11/12,这与 CUDA 11.8、12.1、12.2 等主流版本的编译环境完美契合。
  • 社区支持最广:当你遇到 ImportError 或者编译报错时,90% 的 StackOverflow 和 GitHub Issue 都是基于 22.04 + CUDA 11.x/12.x 的解决方案。用其他版本,你大概率是在自己填坑。
  • 内核稳定性:对于长时间运行的推理服务或训练任务,LTS(长期支持)版本的内核更新频率低,不会突然因为一个内核升级导致 NVIDIA 驱动失效或 NVLink 通信异常。

2. Ubuntu 24.04 LTS 的情况(新玩家可选,但需谨慎)

如果你刚买服务器,且打算使用最新的硬件(如 RTX 4090, A100/H100 的最新驱动),24.04 是可以考虑的,但要注意以下几点:

  • GCC 版本较高:24.04 默认 GCC 13+。虽然 NVIDIA 驱动和 CUDA 12.4+ 已经适配,但在编译一些第三方库(如某些旧版的 xformers 或特定算子)时,可能会遇到 C++ 标准兼容性问题。
  • Python 版本较新:自带 Python 3.12。虽然 PyTorch 已经支持 3.12,但部分小众库可能还没完全跟进。建议在安装前确认你的关键依赖是否支持 3.12。
  • 优势:对新硬件(尤其是 USB 4、新型号网卡)的支持更好,系统资源管理略有优化。

3. 避坑指南:比系统版本更关键的因素

在本地 GPU 服务器上跑 LLM,系统版本只是基础,以下三点才是决定你能否跑起来的关键:

A. 驱动 vs CUDA Toolkit 的版本匹配

很多人混淆了“显卡驱动”和“CUDA Toolkit”。

  • 显卡驱动:负责让操作系统识别 GPU。建议直接去 NVIDIA 官网下载最新稳定版驱动(如 535.xx, 550.xx)。
  • CUDA Toolkit:这是开发环境。现在 PyTorch 等框架大多通过 pip 安装预编译好的 wheel 包,这些包里已经包含了所需的 CUDA Runtime。你通常不需要在系统中全局安装完整的 CUDA Toolkit,除非你要编译自定义算子(Custom Kernels)。
  • 建议:保持驱动为最新稳定版,然后在 Python 虚拟环境中通过 pip install torch --index-url https://download.pytorch.org/whl/cu121 这种方式获取对应版本的 CUDA 运行时。

B. 禁用 Swap 交换空间

这是新手最容易踩的坑。LLM 加载权重时内存占用极大,如果触发 Swap,性能会暴跌甚至 OOM(Out of Memory)。

# 检查 swap
free -h
# 如果开启了 swap,建议临时关闭用于推理测试
sudo swapoff -a

在生产环境中,可以通过调整 vm.swappiness=10 来降低系统使用 Swap 的倾向,但最好还是保证物理内存充足。

C. 容器化优先(Docker + nvidia-container-toolkit)

与其在宿主机上折腾各种库依赖冲突,不如直接用 Docker。

  • 优势:环境隔离,随时可重建。
  • 操作:
    1. 安装 Docker。
    2. 安装 nvidia-container-toolkit。
    3. 使用 NVIDIA 官方镜像或社区维护的镜像(如 nvidia/cuda:12.1.0-devel-ubuntu22.04)。
    4. 运行容器时加上 --gpus all 参数。

4. 针对国内用户的额外建议

  • 网络问题:Ubuntu 默认源在国内访问慢。安装完系统后,第一时间更换清华源或阿里源。
    # 示例:备份并替换 sources.list
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo nano /etc/apt/sources.list
    # 将 deb http://archive.ubuntu.com/ubuntu 替换为 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu
  • NVIDIA 驱动离线安装:如果服务器无法直接连接网络下载驱动,提前在另一台有网的机器上下载 .run 文件或 .deb 包拷贝过来。注意禁用 Nouveau 开源驱动(修改 /etc/modprobe.d/blacklist-nouveau.conf 并更新 initramfs),否则驱动安装会失败。

总结

场景 推荐版本 理由
生产环境 / 追求稳定 Ubuntu 22.04 LTS 生态最成熟,CUDA 11.8/12.1 支持最好,出错概率最低。
新购硬件 / 尝鲜 Ubuntu 24.04 LTS 支持最新内核和硬件,但需留意 Python 3.12 和 GCC 13 的兼容性。
老旧项目迁移 Ubuntu 20.04 LTS 仅当必须兼容 CUDA 10.2 或极老代码时才考虑,否则不建议。

最后提醒:比起纠结 22.04 还是 24.04,花更多精力确保 NVIDIA 驱动正确安装、PCIe 带宽未被限制、Swap 已关闭,以及 使用 Docker 隔离环境,对你的实际体验提升要大得多。