训练环境要求与说明

阅读顺序:第 0 篇 — 先确认你的机器能不能跑,再决定怎么搭建环境。


1. 为什么需要前置了解环境?

训练大模型(或哪怕是微调)对硬件和软件环境有硬性要求。与普通的 Web 开发或脚本编写不同:

  • 没有 GPU = 几乎无法训练(CPU 可以跑但慢到不可用)
  • 显存不够 = 模型加载不起来(OOM 崩溃)
  • 磁盘空间不够 = 下载到一半卡死
  • 操作系统不对 = 某些框架压根不支持

这篇文档帮你在开始之前就搞清楚自己的机器能做什么,避免花几天搭环境最后发现跑不起来。


2. 硬件要求总览

2.1 最低配置 — 入门学习 / 跑小模型

硬件最低要求说明
CPU4 核 (x86_64)Intel i5 / AMD Ryzen 5 以上
内存16 GB大模型推理至少需要
GPUNVIDIA GTX 1060 6GB(或更高)必须有 CUDA 支持
显存6 GB可运行 7B 以下的小模型
硬盘50 GB 空闲系统 + CUDA + 几个小模型
网络宽带(>10 Mbps)需要下载模型文件

⚠️ AMD 和 Intel 显卡目前不建议:ROCm(AMD)支持有限,Intel ARC 生态不成熟。如果不是 NVIDIA,建议先用云 GPU。

2.2 推荐配置 — 能跑 7B~13B 模型微调

硬件推荐配置说明
CPU8 核 (x86_64)Intel i7 / AMD Ryzen 7
内存32 GB加载大模型 + 数据处理
GPUNVIDIA RTX 3090 / 4070+24GB 或 12GB 显存
显存12~24 GB可微调 7B~13B 模型
硬盘200 GB 以上空闲SSD (NVMe 优先)
网络50 Mbps+下载数十 GB 模型文件

2.3 进阶/专业配置 — 全参数训练 / 更大模型

硬件进阶配置
GPURTX 4090 24GB × 2~4(张量并行)
GPU或 NVIDIA A100 80GB / H100
内存64~128 GB
硬盘1 TB+ NVMe SSD
网络200 Mbps+ 或公司内网

2.4 如果根本没有 GPU 怎么办?

有三种替代方案:

方案费用适用场景
Google Colab (免费)免费学习入门,跑小模型,有 GPU T4 时长限制
Google Colab Pro~$10/月优先使用 T4/V100,适合学习
云 GPU 实例按量付费百度云、阿里云、AutoDL 等,小时计费
AutoDL 🔥¥1~¥10/小时国内最方便,按量租用,适合长期实验

3. 操作系统选择

3.1 各系统对比

系统兼容性性能适合人群
Linux (Ubuntu 22.04/24.04)⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐所有人(推荐)
WSL2 (Windows + Ubuntu)⭐⭐⭐⭐⭐⭐⭐⭐Windows 用户首选
Windows 原生⭐⭐⭐⭐⭐⭐某些框架不支持
macOS (Apple Silicon)⭐⭐⭐⭐仅适合推理,MPS 支持有限

3.2 强烈推荐:WSL2 (Windows + Linux 双赢)

如果你和我一样是 Windows 用户,最推荐的方式是 WSL2 (Windows Subsystem for Linux 2)

为什么用 WSL2 而不是双系统或虚拟机?

对比项WSL2双系统虚拟机
切换成本秒切重启切换全屏切换
GPU 支持✅ 支持 CUDA✅ 原生❌ 几乎不行
文件共享通过 /mnt/ 访问需额外分区共享文件夹
性能损耗~3%0%10~20%
适用场景日常开发最佳纯 Linux 重度用户测试不同发行版

3.3 macOS (Apple Silicon) 特别说明

  • M1/M2/M3/M4 芯片有 MPS (Metal Performance Shaders) 后端
  • PyTorch 支持 mps 设备,但不能训练大模型(内存统一架构,但显存 = 系统内存,且受制于内存带宽)
  • 适合:推理、小规模实验、学习代码逻辑
  • 不适合:大规模训练、7B+ 模型微调

4. WSL2 环境要求与配置

这部分是本教程针对 WSL 环境的特别说明。 如果你用的是原生 Linux,可以跳过本节。

4.1 WSL2 硬件前提

条件要求
Windows 版本Windows 10 21H2+Windows 11
CPUIntel/AMD 支持虚拟化(VT-x/AMD-V)
GPU(如需 CUDA)NVIDIA 显卡 + 最新驱动
WSL 版本WSL 2(务必确认,不是 WSL 1)

4.2 当前环境一览(你的配置)

你当前的环境是:

text
OS:        Ubuntu 24.04 LTS (WSL2)
Windows:   Windows 11 (内部版本号查看: winver)
CPU:       Intel/AMD x86_64
GPU:       NVIDIA(需要确认型号)
驱动:      NVIDIA 驱动安装在 Windows 端,WSL 2 自动继承

💡 WSL2 的 GPU 驱动是在 Windows 端安装的,WSL 内不需要额外装驱动。

4.3 WSL2 已知问题与破解

问题表现解决方案
CUDA 找不到nvidia-smi 提示未找到安装 Windows 端 NVIDIA 驱动 + CUDA Toolkit for WSL
显存占用异常Windows 和 WSL 共用显存关闭 Windows 端占用显存的程序(浏览器、游戏)
磁盘 I/O 慢/mnt/d/ 下操作很慢❌ 不要把数据集放在 /mnt/d/(跨文件系统)
解决磁盘慢把数据放到 WSL 内部~/datasets/
内存不够WSL 默认只用 50% 宿主内存创建 .wslconfig 设置 memory=32GB
进程被杀死OOM,训练到一半消失设 swap 或限制 PyTorch 显存使用
VS Code 远程连不上 WSL装 Remote - WSL 插件,用 code . 启动

4.4 .wslconfig 优化配置

在 Windows 用户目录下创建 %USERPROFILE%\.wslconfig

ini
[wsl2]
memory=32GB          # 根据你的物理内存调整,留 4~8GB 给 Windows
processors=8         # 根据你的 CPU 核心数调整
swap=8GB             # 启用 swap,防止 OOM 崩溃
localhostForwarding=true

然后重启 WSL:

bash
# 在 Windows PowerShell 或 CMD 中执行
wsl --shutdown
wsl

4.5 WSL 内部文件 vs Windows 外部文件

黄金法则:训练数据必须在 WSL 内部文件系统,不要放在 /mnt/d/ 下!

text
✅ 推荐:  ~/datasets/         → WSL 内部 ext4 文件系统,I/O 性能正常
✅ 推荐:  ~/models/           → WSL 内部
✅ 推荐:  ~/training/         → WSL 内部
❌ 避免:  /mnt/d/datasets/    → Windows NTFS 挂载,I/O 性能极差(慢 10~50 倍)
❌ 避免:  /mnt/d/models/      → 同样问题

注意:你当前的 wiki 文章在 /mnt/d/Montarius/source/wiki_ming/... 是因为文章本身是文本文件,对 I/O 不敏感。 但模型权重文件和数据集千万不要放 Windows 分区,否则训练速度会显著下降。


5. 软件要求总览

5.1 必须安装的软件

软件版本要求用途
Python3.10 或 3.11(推荐)训练脚本语言
NVIDIA 驱动≥ 535(推荐最新 Game Ready/Studio)GPU 驱动(Windows 端装)
CUDA Toolkit11.8 或 12.1/12.4GPU 计算框架
cuDNN对应 CUDA 版本深度神经网络加速
PyTorch≥ 2.1.0深度学习框架
Git最新拉取代码和模型

详细的安装步骤见下一篇:环境搭建与工具链

5.2 推荐安装的软件

软件用途
VS Code + Remote-WSL在 WSL 中写代码
Miniconda / MambaPython 环境管理(比 pip 更好)
tmux / screen训练会话不因终端关闭而中断
HuggingFace CLI下载和管理模型
Weights & Biases (wandb)训练可视化
TensorBoard训练曲线可视化

6. 磁盘空间估算指南

6.1 不同规模模型的空间需求

模型规模模型文件大小训练缓存/梯度数据集(示例)总计建议
微调 7B (LoRA)~14 GB~5 GB1~10 GB30 GB
微调 13B (LoRA)~26 GB~8 GB1~10 GB50 GB
全参训练 7B~14 GB~30 GB10~50 GB100 GB
预训练 1.3B~5 GB~10 GB50~200 GB300 GB+
下载 HF 模型库随取随用预留 100 GB+

6.2 缓存目录清理

HuggingFace 默认会把模型缓存到 ~/.cache/huggingface/,可以定期清理:

bash
# 查看缓存大小
du -sh ~/.cache/huggingface/
 
# 清理未使用的缓存
pip install huggingface-hub
hf-transfer --clean-cache

6.3 WSL 磁盘空间管理技巧

bash
# 查看 WSL 磁盘使用
df -h
 
# 如果 WSL 虚拟硬盘(ext4.vhdx)不断膨胀不会缩小:
# 在 Windows PowerShell 中
wsl --shutdown
diskpart
# select vdisk file="C:\Users\你的用户名\AppData\Local\Packages\...\ext4.vhdx"
# compact vdisk

7. 网络与下载

7.1 国内网络特别说明

HuggingFace、GitHub 等在国外,国内下载可能很慢。以下是加速方法:

方法 1:HuggingFace 镜像(推荐)

bash
# 使用 HF 镜像站(国内快很多)
export HF_ENDPOINT=https://hf-mirror.com
 
# 永久写入 ~/.bashrc
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc

方法 2:pip 镜像

bash
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

方法 3:GitHub 加速

bash
# 使用 ghproxy 代理
git clone https://ghproxy.com/https://github.com/user/repo.git

7.2 下载策略

  • 断点续传:HuggingFace snapshot_download()git lfs 都支持断点续传
  • 分步下载:不要一次性下载所有模型,按需下载
  • 网络中断恢复:git lfs 的 git lfs pull 可恢复中断的下载

8. 我该从哪里开始?(阅读路线图)

如果你…建议阅读路线
完全零基础① 环境要求与说明(本篇)→ ② 基础概念与术语 → ③ 环境搭建 → ④ 走一次训练流程
已搭好环境① 快速扫读硬件要求 → ② 基础概念 → ③ 直接开始训练流程
已有 GPU 经验① 看 WSL 注意事项 → ② 直接看训练流程和监控
用 Colab 学习① 跳过硬件篇 → ② 基础概念 → ③ 直接开始动手
只想看看概念基础概念与术语 → 模型架构入门 → 训练流程全解析

文章依赖关系

text
                    ┌─────────────────────┐
                    │ 训练环境要求与说明.md  │ ← 本篇
                    │  (先确认能不能跑)    │
                    └──────────┬──────────┘

                    ┌─────────────────────┐
                    │  基础概念与术语.md    │ ← 懂术语才能看后面的
                    └──────────┬──────────┘

                    ┌─────────────────────┐
                    │  环境搭建与工具链.md   │ ← 动手搭环境
                    └──────────┬──────────┘

                    ┌─────────────────────┐
                    │  数据准备与预处理.md   │ ← 准备数据
                    └──────────┬──────────┘

                    ┌─────────────────────┐
                    │  模型架构入门.md      │ ← 理解模型结构(可选但推荐)
                    └──────────┬──────────┘

                    ┌─────────────────────┐
                    │  训练流程全解析.md     │ ← 核心章节
                    └──────────┬──────────┘

              ┌────────────────┴────────────────┐
              ↓                                  ↓
    ┌──────────────────┐              ┌──────────────────┐
    │ 训练监控与可视化.md │              │  超参数调优.md    │
    └──────────────────┘              └──────────────────┘
              ↓                                  ↓
              └────────────────┬────────────────┘

                    ┌─────────────────────┐
                    │  模型评估与验证.md    │ ← 收尾
                    └─────────────────────┘

9. 快速自查清单

在开始之前,逐项打勾确认:

  • 操作系统:Ubuntu 22.04 / 24.04(或 WSL2)
  • CPU:x86_64,4 核以上
  • 内存:16 GB 以上(推荐 32 GB)
  • GPU:NVIDIA(nvidia-smi 能正常输出)
  • 显存:至少 6 GB
  • 磁盘:50 GB 以上空闲(模型 + 数据)
  • Python:3.10 或 3.11
  • CUDAnvcc --version 能显示版本
  • 网络:能访问 HuggingFace(或配置好镜像)
  • 共识:数据放 WSL 内,不放 /mnt/d/

附录:常用命令速查

bash
# 检查 CUDA 是否可用
nvidia-smi                    # GPU 状态
nvcc --version               # CUDA 版本
 
# 检查 PyTorch 是否识别 GPU
python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"
 
# 检查 WSL 版本(Windows PowerShell 中)
wsl -l -v
 
# 查看系统信息
cat /etc/os-release | grep PRETTY_NAME
uname -m
free -h                     # 内存
df -h                       # 磁盘

你已经确认了环境,下一步环境搭建与工具链

想先补基础概念?基础概念与术语