在构建大模型(LLM)推理环境时,首选 Ubuntu 22.04 LTS (Jammy Jellyfish)。
以下是详细的选型逻辑和关键考量因素:
1. 为什么选择 Ubuntu 22.04 LTS?
- 生态兼容性最佳:目前主流的大模型推理框架(如 vLLM, TGI, Ollama, Hugging Face Transformers)以及底层依赖库(CUDA, cuDNN, TensorRT)对 Ubuntu 22.04 的支持最为成熟。NVIDIA 的官方驱动和 CUDA Toolkit 通常优先针对 LTS 版本进行验证和优化。
- 长期支持周期:LTS(Long Term Support)版本提供 5 年的安全更新和维护,这对于生产环境的稳定性至关重要。
- 包管理器优势:22.04 自带的
apt仓库中包含较新的 GCC、Python 3.10+ 以及必要的系统库,减少了手动编译安装基础组件的麻烦。
2. 为什么不推荐其他版本?
- Ubuntu 20.04 LTS:虽然依然可用,但其默认 Python 版本较旧(3.8),且部分新版的深度学习框架(特别是基于 PyTorch 2.x 或最新版本的 vLLM)可能不再提供预编译的二进制包,需要手动编译,增加了配置复杂度和出错概率。
- Ubuntu 24.04 LTS:作为最新的 LTS 版本,它提供了更新的内核和软件栈。虽然理论上更好,但在大模型领域,部分企业级 GPU 驱动或特定推理引擎可能尚未完全适配或经过充分测试。除非你明确知道你的硬件和软件栈已完全支持 24.04,否则建议等待社区反馈更稳定后再部署。
- 非 LTS 版本(如 23.10):仅支持 9 个月,不适合需要长期运行的推理服务。
3. 核心依赖与配置建议
无论选择哪个版本,构建大模型推理环境时请务必关注以下配套资源:
| 组件 | 推荐版本/策略 | 注意事项 |
|---|---|---|
| 操作系统 | Ubuntu 22.04 LTS | 64-bit 架构 |
| GPU 驱动 | NVIDIA Driver 535+ 或最新版 | 需与 CUDA 版本严格匹配 |
| CUDA Toolkit | 12.1 或 12.3 | 推荐与 PyTorch 官方支持的版本一致 |
| Python | 3.10 或 3.11 | 避免使用 3.12+ 除非确认所有依赖库已兼容 |
| 虚拟化 | Docker (推荐) | 使用 nvidia-docker2 或 Docker 内置的 GPU 支持,便于环境隔离 |
4. 快速开始示例 (Docker 方式)
为了减少系统污染,强烈建议使用 Docker 容器化部署。基于 Ubuntu 22.04 的 NVIDIA 官方镜像是最稳妥的选择:
# 拉取基于 Ubuntu 22.04 的 PyTorch + CUDA 12.1 镜像
docker pull nvidia/cuda:12.1.0-cudnn8-runtime-ubuntu22.04
# 或者直接使用包含 PyTorch 的完整镜像
docker pull pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime
结论
请坚定选择 Ubuntu 22.04 LTS。它在稳定性、软件包丰富度以及与 NVIDIA 生态的兼容性之间取得了最佳平衡,是目前大模型推理领域的事实标准环境。如果你是在个人开发机上尝试,也可以考虑 Ubuntu 24.04,但在生产环境中,22.04 是风险最低的方案。
PHPWP博客