cuda版本12.1,python版本3.10,torch版本2.4.0,幾個關鍵包版本如下:
torch==2.4.0+cu121
transformers==4.48.3
triton==3.0.0
flash-attn==2.7.1.post4
xformers==0.0.27.post2
vllm==0.6.3.post1
vllm-flash-attn==2.6.1
unsloth==2025.3.18
unsloth_zoo==2025.3.16
具體安裝過程:
-
安裝虛擬環境:
conda create -n llama python=3.10
-
在Cuda Toolkit | Anaconda.org找到對應的cuda版本的安裝命令,我的是
conda install nvidia/label/cuda-12.1.0::cuda-toolkit
(最簡單的是conda install cudatoolkit=12.1
,但截至目前好像只支持到11.8) -
安裝torch2.4.0,注意不要直接
pip install torch==2.4.0
,會裝成cpu版本的(經典錯誤了屬于是),有幾種安裝方法,除了官方推薦的pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
,還可以在https://download.pytorch.org/whl/torch/
等網站先下載對應版本的whl再進行安裝(注意whl文件名要包含cu121
)。由于與主線無關,此處不多贅述。 -
安裝好torch后就是安裝其他包了,由于安裝其他包時可能會重新安裝torch,而用
--no-deps
或--ignore-installed
命令又可能導致版本不匹配,所以我一般都會同步安裝各個包,例如pip install transformers==4.48.3 triton==3.0.0 xformers==0.0.27.post2 flash_attn==2.7.1.post4 torch==2.4.0+cu121
,由于命令中指定安裝已有的torch==2.4.0+cu121
,它就不會覆蓋安裝新的torch了。 -
vllm和unsloth安裝失敗率較高。我安裝vllm是使用了下面兩種方式,第二種是我已知對應版本能夠匹配上,如果不確定能否匹配上則應使用第一種。
pip install git+https://github.com/vllm-project/vllm.git transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121 pip install vllm==0.6.3.post1 vllm-flash-attn==2.6.1 transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121
-
安裝unsloth:
pip install unsloth==2025.3.18 transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121 unsloth==2025.3.18 xformers==0.0.27.post2
-
安裝llamfactory:
pip install -e ".[torch,metrics]" transformers==4.48.3 triton==3.0.0 torch==2.4.0+cu121 unsloth==2025.3.18 xformers==0.0.27.post2
安裝后由于vllm版本低可能出現模塊不存在問題:
File "/usr/local/miniconda3/envs/llama/lib/python3.10/site-packages/unsloth_zoo/vllm_lora_worker_manager.py", line 16, in <module>from vllm.lora.peft_helper import PEFTHelper
ModuleNotFoundError: No module named 'vllm.lora.peft_helper'
可參照博客ModuleNotFoundError: No module named ‘vllm.lora.peft_helper‘原因和解決方式進行解決
2025.4.22 更新
支持torch2.4.0的vllm版本最多到0.6.3.post1,但要到0.6.4才支持bitsandbytes動態量化,因此新裝了包:
torch==2.5.1+cu121
triton==3.1.0
xformers==0.0.28.post3
vllm==0.7.3
其余關鍵包不變