一、硬件和系统
- 操作系统: Ubuntu 24.04.2 LTS(64位)
- GPU: NVIDIA RTX 4090 笔记本 GPU,16GB显存
- CPU: 建议高性能多核 CPU(如 Intel i7/i9 或 AMD Ryzen 7/9)以支持数据预处理,我的是32核。
- RAM: 至少 32GB,推荐 64GB 以支持大型模型加载和数据处理,我的是64GB内存。
- 存储: NVMe SSD(至少 500GB 可用空间),用于存储模型权重、数据集和缓存文件,我的SSD2TB。
- 网络: 稳定的科学的网络连接,用于下载依赖和模型
注意: RTX 4090 笔记本 GPU 的 16GB VRAM 限制了可运行的模型大小。建议使用 4-bit 或 8-bit 量化模型(如 LLaMA 3.1 8B 或 13B)以适应 VRAM 限制。
二、安装NVIDIA驱动和CUDA
RTX 4090 需要最新的 NVIDIA 驱动和 CUDA 工具包以支持 GPU 加速。安装前检查机器配置,要适配自己的机器配置才行。
1、检查GPU识别
lspci | grep -i nvidia
# 输出应显示类似 "NVIDIA Corporation Device" 的信息。
# 如果没有输出,可能需要检查硬件连接或 BIOS 设置。
01:00.0 VGA compatible controller: NVIDIA Corporation GN21-X11 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 22bb (rev a1)
2、检查推荐的驱动
ubuntu-drivers devices## 输出内容找到类似 "driver : nvidia-driver-575 - third-party non-free recommended" 的信息
vendor : NVIDIA Corporation
model : GN21-X11
driver : nvidia-driver-535-open - distro non-free
driver : nvidia-driver-575 - third-party non-free recommended
driver : nvidia-driver-535-server-open - distro non-free
driver : nvidia-driver-570-server-open - distro non-free
输出会显示推荐的驱动版本(如 nvidia-driver-575
)。注意recommended
信息。
3、安装推荐的驱动
sudo apt install nvidia-driver-575 -y
4、重启系统后验证驱动安装
sudo reboot
nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 570.133.20 Driver Version: 570.133.20 CUDA Version: 12.8 |
|-----------------------------------------+------------------------+----------------------+
输出应显示 RTX 4090 的信息和驱动版本(如 550.XX)。
⚠️注意:安装推荐的驱动时自动安装的是CUDA运行时环境(包含基础库和头文件),但不会包含完整的CUDA Toolkit开发工具链(如nvcc编译器)。如需完整开发环境仍需单独安装。
nvidia-smi # 确认驱动版本和CUDA兼容性
ls /usr/local # 查看已安装的CUDA版本目录
假如我的驱动版本和CUDA版本分别是:Driver Version: 570.133.20 CUDA Version: 12.8
,再查看已安装的CUDA版本目录,假如根据我的目录结构(已存在cuda-12.9
),安装CUDA 12.8时需注意以下关键点:
1. 版本共存机制
- CUDA支持多版本共存,不同版本会安装到独立目录(如
/usr/local/cuda-12.8
和/usr/local/cuda-12.9
) - 默认符号链接
/usr/local/cuda
会指向最后安装的版本,可通过ls -l /usr/local/cuda
查看当前激活版本
2.安装CUDA12.8
# 添加NVIDIA官方仓库(Ubuntu 24.04)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update# 安装指定版本
sudo apt install cuda-12-8
3.切换版本
# 修改符号链接指向目标版本
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.8 /usr/local/cuda# 更新环境变量
echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
4.冲突排查
- 驱动兼容性:CUDA 12.8要求驱动版本≥570.41.03,你的驱动570.133.20已满足
- 路径冲突:若安装失败,检查
/usr/local/cuda-12.8
是否已存在,可手动删除旧目录 - 工具链验证:安装后运行
nvcc --version
和nvidia-smi
确认版本对应关系
⚠️注意
- 同时只能有一个CUDA版本通过
/usr/local/cuda
符号链接激活,但编译时可显式指定路径(如I/usr/local/cuda-12.9/include
) - 深度学习框架(如PyTorch)通常依赖特定CUDA版本,需匹配其要求
- 如果需要可以使用
update-alternatives
管理多版本,自己查一下使用方法。 - 另外根据我的驱动版本(570.133.20)和当前环境,NVIDIA驱动570.133.20同时支持CUDA 12.8和12.923,安装CUDA 12.9无需升级驱动。
- 若项目明确要求CUDA 12.8,需保持当前版本
- 若需Blackwell GPU(如RTX 5090)或最新特性,推荐CUDA 12.94
- 灵活一些,再查看
/usr/local/cuda-12.8
发现已经安装好了,我就不切换cuda版本了。
至此,GPU驱动和CUDA工具包都安装完成了。
三、安装Python和依赖
LLaMA-Factory 基于 Python,需要安装适当的 Python 版本和依赖。
1、安装python
Ubuntu 24.04 默认包含 Python 3.12。确认版本:
python3 --version
⚠️注意:如果需要特定版本(如 3.10),可以自行安装。另外最好使用虚拟环境,用venv、uv或者conda都可以,避免以来冲突,可以自行检索搭建。
2、安装PyTorch
为 RTX 4090 安装支持 CUDA 的 PyTorch:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu123
验证 PyTorch 是否识别 GPU:
记得切换环境,比如我用的conda,切换到指定环境conda activate llama_factory
python -c "import torch; print(torch.cuda.is_available())"
输出应为 True。
至此python环境准备完毕。这与平常python环境安装无异,很简单。
四、安装LLaMA-Factory
LLaMA-Factory 是一个用于高效微调 LLaMA 模型的框架。
⚠️注意:要科学上网
1、克隆LLaMA-Factory仓库,或者其他办法,把源码弄过来,进入LLaMA-Factory目录。
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
2、安装依赖
安装LLama-Factory所需依赖,⚠️注意切换到虚拟环境,后续就不再提示了。
pip install -r requirements.txt
-
注意: 如果遇到依赖冲突,可尝试升级 pip:
pip install --upgrade pip
3、安装额外工具
为支持量化(如 4-bit 或 8-bit)和高效推理,安装以下工具:
pip install bitsandbytes
pip install transformers>=4.41.0
pip install accelerate
至此LLaMA-Factory框架应该已经安装完成,它提供了直观的web界面,可以通过llamafactory-cli webui
启动访问。接下来就是《准备模型和数据集》。