🐸 青蛙编程网
首页 / AI / 微调 LLaMA-Factory / 2. 环境搭建

2. 环境搭建

这是什么:环境搭建 = 把 PyTorch、CUDA 和 LLaMA-Factory 一次配齐,再按官方的显存表算明白「我这个模型要多少显存」。

为什么用:上一章知道微调值钱了,但微调是吃显存的体力活,估错了要么跑一半爆显存、要么买多余的卡。版本不对也是一路红灯,从装好到跑通,每一步都得踩准。

如何用:本章按「查硬件 → 对版本 → 三选一安装 → 算显存 → 验证」五步走,最后给出 Windows 用户的避坑清单。

2.1 第一步:先看清硬件门槛

微调需要 NVIDIA 显卡(官方也支持昇腾 NPU,但那是另一条路线)。先确认:

nvidia-smi

你会看到(示意):

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14   Driver Version: 550.54.14   CUDA Version: 12.4      |
|-------------------------------+---------------------+----------------------+
|   0  NVIDIA GeForce RTX 4090  |  24576MiB / 24576MiB |  41 C  |    0%  |
+-----------------------------------------------------------------------------+

没有显卡也能读完本章——至少把版本表和显存账看懂,攒钱、租卡或者用云 GPU 都用得上。

2.2 第二步:官方依赖版本表

LLaMA-Factory 0.9.5(PyPI 包名 llamafactory,发布于 2026-05-30)要求 Python >= 3.11。

必装依赖 最低版本 推荐版本
python 3.11 >=3.11
torch 2.0.0 2.6.0
torchvision 0.15.0 0.21.0
transformers 4.49.0 4.50.0
datasets 2.16.0 3.2.0
accelerate 0.34.0 1.2.1
peft 0.14.0 0.15.1
trl 0.8.6 0.9.6
可选依赖 最低版本 推荐版本 什么时候要
CUDA 11.6 12.2 必需,看你的驱动
deepspeed 0.10.0 0.16.4 多卡 ZeRO-3 省显存
bitsandbytes 0.39.0 0.43.1 QLoRA 4bit/8bit 量化
vllm 0.4.3 0.8.2 第 6 章部署要用
flash-attn 2.5.6 2.7.2 长序列加速,RTX 4090/A100/H100

2.3 第三步:三种安装方式,任选其一

方式 A:从源码装(最推荐,能拿到全部 examples)

git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git
cd LlamaFactory
pip install -e .
pip install -r requirements/metrics.txt

--depth 1 是只拉最新一次提交,快很多。requirements/metrics.txt 装的是 BLEU/ROUGE 等评测脚本要用的依赖。

方式 B:Docker 镜像(省事,环境已配好)

docker run -it --rm --gpus=all --ipc=host hiyouga/llamafactory:latest

这个镜像基于 Ubuntu 22.04 + CUDA 12.4 + Python 3.11 + PyTorch 2.6.0 + Flash-attn 2.7.4。--ipc=host 给容器足够的共享内存,多卡训练时必须加。

方式 C:uv(Python 环境管理一条龙)

uv run llamafactory-cli webui

uv 会自动建隔离环境并装好依赖,不用手动 pip install。

2.4 第四步:算清显存账

这是本章最实用的一张表(官方给的估算值,7B 模型列):

微调方式 位数 7B 14B 30B 70B 规律
全参(bf16 / fp16) 32 120GB 240GB 600GB 1200GB 18x GB
全参(pure_bf16) 16 60GB 120GB 300GB 600GB 8x GB
冻结 / LoRA / GaLore / APOLLO / BAdam / OFT 16 16GB 32GB 64GB 160GB 2x GB
QLoRA / QOFT 8 10GB 20GB 40GB 80GB x GB
QLoRA / QOFT 4 6GB 12GB 24GB 48GB x/2 GB
QLoRA / QOFT 2 4GB 8GB 16GB 24GB x/4 GB

最后那列「规律」是给你自己换模型用的:记 18x 和 2x 两条线就够。比如你想微调 8B 模型,LoRA 就按 2×8=16GB 估,QLoRA 4bit 按 8/2=4GB 估,再往上留 2~4GB 给激活值和碎片。

结论:一张 24GB 的消费级显卡,QLoRA 4bit 微调 14B(约 12GB)绰绰有余,30B(约 24GB)就很紧张了;想全参微调 7B,得 80GB 卡起步。

2.5 Windows 用户注意

Windows 上有三件事官方特别点名:

① PyTorch 要手动装带 CUDA 的版本

pip uninstall torch torchvision torchaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
python -c "import torch; print(torch.cuda.is_available())"

看到 True 才算成功。

② 报 Can't pickle local object 就把 worker 关掉

dataloader_num_workers: 0

③ bitsandbytes 要挑对 CUDA 发行版

pip install bitsandbytes

官方 Windows 版针对 CUDA 11.8~12.6 和 12.8~12.9 分别出包,RTX 50 系(sm_120)要用 CUDA 12.8~12.9 那版。用 uv 管理环境时,装完带 CUDA 的 PyTorch 之后再补一句 uv pip install bitsandbytes --no-deps,避免它把 PyTorch 顶掉。

2.6 第五步:验证安装

装好之后先别急着训练,跑两条命令确认:

llamafactory-cli version
llamafactory-cli env

你会看到(示意):

- `llamafactory` version: 0.9.5
- Platform: Linux-5.15.0-x86_64-with-glibc2.35
- Python version: 3.11.11
- PyTorch version: 2.6.0 (GPU)
- GPU type: NVIDIA GeForce RTX 4090
- GPU number: 1
- GPU memory: 23.99GB
- Transformers version: 4.50.0
- Datasets version: 3.2.0
- Accelerate version: 1.2.1
- PEFT version: 0.15.1

llamafactory-cli help 还能看到全部子命令:train、chat、export、webui、webchat、api、env、version、help。

动手改

  1. 用 llamafactory-cli env 记下你机器的 GPU 型号和显存,按 2.4 的表算一下:这张卡能微调多大的模型?
  2. 把 2.4 表里的 x 换成你自己想用的模型参数量(30B、72B 都试一次),估算 QLoRA 4bit 的显存
  3. 去 PyPI 的 llamafactory 页面看一眼 0.9.5 的发布说明,猜猜这个版本改了什么

小结

  • 微调需要 NVIDIA 显卡;没显卡也能先把本章和第 3 章读懂
  • LLaMA-Factory 0.9.5 要求 Python >= 3.11,torch 2.6.0 / transformers 4.50.0 / peft 0.15.1 是官方推荐值
  • 三种装法:源码 pip install -e .(推荐)、Docker 镜像、uv
  • 显存按官方表估:LoRA 约 2x GB,QLoRA 4bit 约 x/2 GB,7B 只要 6GB
  • Windows 要手动装 CUDA 版 PyTorch;报 Can't pickle local object 就设 dataloader_num_workers: 0

下一章:数据准备 🐸

📥 下载本章代码

ZIP 内含本章全部代码文件与说明,解压即用,与教程内容同步生成。