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
其余关键包不变