签到成功

知道了

CNDBA社区CNDBA社区

大模型部署普遍采用 Ubuntu 系统的原因

2025-12-11 14:53 146 0 转载 大模型
作者: dave

大模型(如 Llama、Qwen、DeepSeek 等)的部署普遍采用 Ubuntu 而非 CentOS,背后有技术生态、社区支持、硬件兼容性和开发效率等多方面原因。以下是详细分析:

http://www.cndba.cn/cndba/dave/article/131774
http://www.cndba.cn/cndba/dave/article/131774


一、核心原因总结

维度 Ubuntu 优势 CentOS 劣势
NVIDIA 驱动 & CUDA 支持 官方优先支持,更新快 支持滞后,常需手动编译
Python / AI 框架生态 PyTorch/TensorFlow 官方推荐 依赖库版本旧,兼容性差
包管理与依赖安装 apt + PPA,安装便捷 yum/dnf 包老旧,EPEL 补充有限
社区与文档 GitHub / Hugging Face / vLLM 官方教程默认 Ubuntu 社区示例少,排错困难
系统更新策略 滚动更新快(尤其 LTS) RHEL 兼容性优先,新特性滞后

二、详细原因解析

1. NVIDIA 官方对 Ubuntu 的优先支持

  • NVIDIA CUDA Toolkit 官方文档驱动安装指南 默认以 Ubuntu 为例;
  • 新 GPU(如 L20、H100)的驱动往往先在 Ubuntu 上验证发布,CentOS/RHEL 需等待数周甚至数月;
  • Docker + NVIDIA Container Toolkit 在 Ubuntu 上开箱即用,而在 CentOS 7/8 上常因 glibc 版本过低 报错。

💡 示例:
CUDA 12.4 在 Ubuntu 22.04 上可直接 apt install
而在 CentOS 7 上需升级 GCC、glibc,极易失败。

http://www.cndba.cn/cndba/dave/article/131774
http://www.cndba.cn/cndba/dave/article/131774

2. AI 框架(PyTorch/TensorFlow)的官方构建目标

  • PyTorch 官网提供的预编译 wheel(.whl)仅支持:
    • Ubuntu 18.04+
    • CUDA 11.8 / 12.1
  • 在 CentOS 上安装 PyTorch 常遇到:
    • GLIBC_2.27 not found(CentOS 7 的 glibc 是 2.17)
    • 需从源码编译,耗时且易出错

📌 vLLM、DeepSpeed、Megatron-LM 等大模型推理/训练框架的 Dockerfile 几乎全部基于 ubuntu:22.04

3. Python 生态依赖问题

  • 大模型依赖大量 C/C++ 扩展库(如 tokenizers, flash-attn, xformers);
  • 这些库在 Ubuntu 上可通过 pip install 直接安装预编译版本;
  • 在 CentOS 上常因 缺少新版 GLIBC、GCC、libstdc++ 而编译失败。

🔧 典型报错:
ImportError: /lib64/libstdc++.so.6: version 'GLIBCXX_3.4.29' not found

http://www.cndba.cn/cndba/dave/article/131774
http://www.cndba.cn/cndba/dave/article/131774

4. 容器化与 DevOps 工具链

  • 主流 AI 平台(Kubeflow、MLflow、Ray)的 Helm Chart 和 Operator 默认适配 Ubuntu 节点;
  • CI/CD 流水线(GitHub Actions、GitLab CI)的 runner 镜像多为 Ubuntu;
  • Docker Hub 上 90%+ 的 AI 镜像基于 Ubuntu(如 pytorch/pytorch:2.1-cuda12.1-cudnn8-runtime-ubuntu22.04

5. CentOS 的战略转向(致命打击)

  • CentOS 8 于 2021 年底提前 EOL,社区震惊;
  • CentOS Stream 变为 RHEL 的上游开发版不再适合生产环境
  • 企业被迫迁移到 Rocky Linux / AlmaLinux,但生态迁移需要时间;
  • Ubuntu LTS(20.04/22.04/24.04)提供 5–10 年稳定支持,更适合长期部署。

三、例外情况:何时仍用 CentOS/Rocky?

场景 说明
强合规要求 某些国企/金融系统强制使用 RHEL 兼容系统
已有运维体系 全栈 Ansible/SaltStack 基于 CentOS 构建
使用 OpenShift Red Hat 主导的 Kubernetes 发行版

✅ 此时通常采用 Rocky Linux 8/9 或 AlmaLinux 替代 CentOS,并配合以下措施:http://www.cndba.cn/cndba/dave/article/131774http://www.cndba.cn/cndba/dave/article/131774

  • 使用 Conda / Miniforge 管理 Python 环境(绕过系统包)
  • 通过 NVIDIA NGC 容器镜像(如 nvcr.io/nvidia/pytorch:24.04-py3)规避依赖问题
  • 在容器内运行大模型,宿主机仅提供 GPU 资源

四、数据佐证

指标 Ubuntu CentOS
Hugging Face 文档示例 OS >95% Ubuntu <2%
vLLM GitHub Issues 提问环境 87% Ubuntu 5% CentOS
NVIDIA NGC 容器基础镜像 ubuntu20.04 / 22.04 无官方 CentOS 镜像
PyTorch 官网安装命令 默认 Ubuntu 无 CentOS 选项

✅ 结论:为什么选 Ubuntu?

不是“不能用 CentOS”,而是“用 Ubuntu 更省事、更稳定、社区支持更好”http://www.cndba.cn/cndba/dave/article/131774

对于大模型部署这种高度依赖新版本 CUDA、Python、C++ 库的场景:http://www.cndba.cn/cndba/dave/article/131774

  • Ubuntu = 开箱即用 + 快速迭代 + 丰富文档
  • CentOS = 依赖地狱 + 编译噩梦 + 社区冷落

因此,除非有强制合规要求,Ubuntu 22.04 LTS 是当前大模型部署的事实标准操作系统


🔧 建议

  • 新项目:直接使用 Ubuntu 22.04 LTS(或 24.04 LTS);
  • 已有 CentOS 环境
    → 方案1:在 Ubuntu 虚拟机/容器 中运行大模型;
    → 方案2:迁移到 Rocky Linux 9 + Conda + NGC 容器
用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2297
    原创
  • 3
    翻译
  • 658
    转载
  • 198
    评论
  • 访问:9704429次
  • 积分:4556
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ