在 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)
⚠️ 注意
bitsandbytes、flash-attn、xformers等需 CUDA 编译,若pip install失败,请参考其 GitHub README 源码编译(通常需torch-dev、cuda-toolkit头文件等)。
✅ 六、开发与工程化工具
| 类别 | 工具 | 安装方式 |
|---|---|---|
| IDE/编辑器 | VS Code(推荐) + Python / Jupyter / Remote-SSH 插件 | sudo snap install code --classic |
| Notebook | Jupyter Lab | pip install jupyterlab ipykernel → python -m ipykernel install --user --name llm-env |
| 版本控制 | Git LFS(大模型权重/数据集) | sudo apt install git-lfs && git lfs install |
| 模型管理 | Hugging Face CLI | pip install huggingface-hub → huggingface-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
📌 最佳实践建议
- 永远用虚拟环境(
venv或conda),避免系统污染; - 优先使用预编译 wheel(如 PyTorch 官方渠道),避免源码编译踩坑;
- GPU 环境务必验证
nvidia-smi+torch.cuda.is_available(); - 生产部署 → 用 Docker + vLLM/TGI;研究调试 → 用
transformers+accelerate; - 微调入门推荐路径:
transformers + peft + bitsandbytes + accelerate→ LoRA 微调 Qwen/Llama3
→ 再进阶Unsloth(更快)或QLoRA(显存更低); - 中文模型注意:加载时加
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 / 企业私有部署),我可以为你定制化方案 👇
是否需要? 😊
PHPWP博客