使用Ubuntu系统进行大模型开发需要安装哪些依赖环境?

在 Ubuntu 系统上进行大模型(LLM)开发,需构建一个兼顾深度学习训练/推理、GPU提速、Python生态、工具链与工程化支持的完整环境。以下是系统化、分层次的依赖环境安装指南(以 Ubuntu 22.04/24.04 为主,兼顾通用性):


✅ 一、基础系统准备(前提检查)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装基础编译与开发工具
sudo apt install -y build-essential cmake git curl wget vim tmux htop nload 
    python3-dev python3-pip python3-venv libssl-dev libffi-dev 
    libglib2.0-dev libsm6 libxext6 libxrender-dev libglib2.0-0

# (可选)启用 systemd-resolved 或配置国内 DNS 提升 pip/apt 速度
echo "nameserver 114.114.114.114" | sudo tee /etc/resolv.conf

⚠️ 注意:确保使用 python3(Ubuntu 22.04+ 默认已弃用 python2),推荐用 python3.10+(PyTorch 2.3+ 要求 ≥3.8,但建议 ≥3.10)


✅ 二、GPU 驱动与 CUDA/cuDNN(如使用 NVIDIA GPU)

组件 推荐版本(2024 年主流) 说明
NVIDIA 驱动 ≥535.x(对应 CUDA 12.2+) 官网下载 或 ubuntu-drivers autoinstall
CUDA Toolkit 12.1 或 12.4(PyTorch 官方预编译包支持) ❌ 不要 apt install nvidia-cuda-toolkit(旧且不全)→ ✅ 从 NVIDIA CUDA 下载页 安装 .run.deb
cuDNN 8.9.x(匹配 CUDA 12.1/12.4) 需 NVIDIA 开发者账号下载,解压后复制头文件/库到 CUDA 目录

验证 GPU 环境

nvidia-smi                    # 查看驱动和 GPU 状态
nvcc --version                # 查看 CUDA 编译器版本
cat /usr/local/cuda/version.txt  # 确认 CUDA 版本

💡 建议:直接使用 NVIDIA Container Toolkit + Docker(见下文「容器化」部分),更干净、可复现。


✅ 三、Python 环境管理(强烈推荐)

# 创建虚拟环境(避免污染系统 Python)
python3 -m venv ~/llm-env
source ~/llm-env/bin/activate

# 升级 pip & setuptools(关键!)
pip install --upgrade pip setuptools wheel

# (可选)配置清华镜像提速国内下载
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/

✅ 四、核心深度学习框架(按需选择)

🔹 PyTorch(最主流,Hugging Face / LLaMA-Factory / vLLM 等均强依赖)

# ✅ 推荐:安装匹配 CUDA 的预编译版本(以 CUDA 12.1 为例)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

# 或 CUDA 12.4(2024 Q2 新版)
# pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

# ✅ CPU-only(无 GPU 时测试用,性能极低,仅调试)
# pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

✅ 验证:

import torch
print(torch.__version__, torch.cuda.is_available(), torch.cuda.device_count())
# 应输出类似:2.3.0 True 1

🔹 其他可选框架(按项目需求)

  • JAX(适合 Flax、Pax 等):pip install jax[cuda12](需额外安装 CUDA drivers 和 cuDNN)
  • TensorFlow(较少用于新 LLM 训练,但某些部署场景仍用):pip install tensorflow[and-cuda]

✅ 五、大模型专用生态库(必备)

# 🧠 Hugging Face 生态(绝对核心)
pip install transformers accelerate datasets sentence-transformers 
    peft bitsandbytes trl unsloth  # ← 后 4 个是高效微调关键库

# 🚀 推理优化与部署
pip install vllm  # 高性能推理(支持 PagedAttention)
pip install llama-cpp-python[cuda]  # 本地 GGUF 模型推理(需 CUDA 支持)
pip install text-generation-inference  # TGI(Docker 部署首选)

# 📊 数据处理与工具
pip install pandas numpy scikit-learn matplotlib seaborn tqdm jieba  # 中文需 jieba
pip install einops flash-attn  # Flash Attention 提速(需 CUDA 编译,推荐源码安装)
pip install xformers  # 更优的注意力实现(尤其对多模态/长上下文)

# 🔐 安全与量化(进阶)
pip install auto-gptq  # GPTQ 量化(需 CUDA)
pip install awq  # AWQ 量化(需 CUDA)

⚠️ 注意 bitsandbytesflash-attnxformers 等需 CUDA 编译,若 pip install 失败,请参考其 GitHub README 源码编译(通常需 torch-devcuda-toolkit 头文件等)。


✅ 六、开发与工程化工具

类别 工具 安装方式
IDE/编辑器 VS Code(推荐) + Python / Jupyter / Remote-SSH 插件 sudo snap install code --classic
Notebook Jupyter Lab pip install jupyterlab ipykernelpython -m ipykernel install --user --name llm-env
版本控制 Git LFS(大模型权重/数据集) sudo apt install git-lfs && git lfs install
模型管理 Hugging Face CLI pip install huggingface-hubhuggingface-cli login
监控 TensorBoard / wandb / mlflow pip install tensorboard wandb mlflow
容器化(生产推荐) Docker + NVIDIA Container Toolkit 官方安装指南 + nvidia-docker

✅ 七、可选但强烈推荐的增强项

  • LLM 专用终端工具
    pip install ollama  # 本地轻量运行(CPU/GPU 自动适配)
    # 或直接下载 Ollama Linux 二进制:https://ollama.com/download
  • 中文支持增强
    pip install opencc-python-reimplemented  # 简繁转换
    pip install cn2an  # 中文数字转阿拉伯数字
  • 系统级优化(GPU 服务器)
    # 启用持久化模式(减少 GPU 初始化开销)
    sudo nvidia-smi -pm 1
    # 设置计算模式(允许多进程并发)
    sudo nvidia-smi -c 1

✅ 八、一键验证脚本(保存为 check_llm_env.py

import torch, transformers, datasets, accelerate
print("✅ PyTorch:", torch.__version__, "CUDA:", torch.cuda.is_available())
print("✅ Transformers:", transformers.__version__)
print("✅ Datasets & Accelerate OK")
print("✅ GPU count:", torch.cuda.device_count())
if torch.cuda.is_available():
    print("✅ GPU name:", torch.cuda.get_device_name(0))

运行:python check_llm_env.py


📌 最佳实践建议

  1. 永远用虚拟环境venvconda),避免系统污染;
  2. 优先使用预编译 wheel(如 PyTorch 官方渠道),避免源码编译踩坑;
  3. GPU 环境务必验证 nvidia-smi + torch.cuda.is_available()
  4. 生产部署 → 用 Docker + vLLM/TGI;研究调试 → 用 transformers + accelerate
  5. 微调入门推荐路径
    transformers + peft + bitsandbytes + accelerate → LoRA 微调 Qwen/Llama3
    → 再进阶 Unsloth(更快)或 QLoRA(显存更低);
  6. 中文模型注意:加载时加 trust_remote_code=True(如 Qwen、ChatGLM、InternLM);tokenizer 添加 add_special_tokens 处理。

如需我为你生成:

  • ✅ 完整的 install_llm_deps.sh 一键脚本(含版本自适应)
  • ✅ Dockerfile(Ubuntu22.04 + CUDA12.1 + PyTorch2.3 + vLLM)
  • ✅ 针对某模型(如 Llama3-8B、Qwen2-7B)的微调/推理最小示例
  • ✅ WSL2 下 Ubuntu 的 GPU 支持注意事项(Windows 用户)

欢迎随时告诉我你的具体场景(如:个人笔记本 RTX4090 / 服务器 A100 / 无 GPU 仅 CPU / WSL2 / 企业私有部署),我可以为你定制化方案 👇

是否需要? 😊