一、硬件和系統
- 操作系統: 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
啟動訪問。接下來就是《準備模型和數據集》。