当前位置:AIGC资讯 > AIGC > 正文

LLaMA-Factory环境安装-重点总结

问题:在使用官网介绍的博客,进行安装,比较顺利。只不过,在需要推理加速时,UI界面上,给出的选项所支持的FlashAttention-2和Unsloth,不好实现。在进行一系列的调整,总结如下:

想要同时实现FlashAttention-2和Unsloth推理加速的环境安装方式:

以Ubuntu22.04 RTX4090 24GB为例:

1. 系统配置:CUDA版本选择12.2.x,因为高版本的flash-attn库不提供12.1版本的安装包:

## cuda 
export PATH=/usr/local/cuda-12.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.2/lib64

2. 虚拟环境创建:python版本选择3.10.x,使用官方推荐的安装方式:

conda create -n llama_factory python=3.10 -y

3. 首先安装LLaMA-Factory官方提供的环境安装内容:

pip install -e .[torch,metrics,bitsandbytes]

备注:torch版本为2.3.x,后续根据变化调整为对应版本

4. 然后安装flash-attn库,版本号含有cu122torch2.3cxx11abiFALSE:

pip install flash_attn-2.5.8+cu122torch2.3cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

备注:安装版本号含TRUE会报错。

5. 最后安装unsloth库,根据官方的安装内容,仅选取部分即可:

pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
……
Installing collected packages: unsloth, protobuf
  Attempting uninstall: protobuf
    Found existing installation: protobuf 5.26.1
    Uninstalling protobuf-5.26.1:
      Successfully uninstalled protobuf-5.26.1
Successfully installed protobuf-3.20.3 unsloth-2024.5

备注:有colab-new标识的,其他标识的安装额外库会报错。其次,这一步会将protobuf版本号降低导致FlashAttention-2方式的模型加速报错,但是将其版本号恢复为原先版本不会导致Unsloth方式模型加速报错,所以重新安装原先版本的protobuf库,此处根据实际进行恢复版本号:

pip install protobuf==5.26.1

6. 至此,安装完毕。不过还需要注意,在由Unsloth加速方式切换到其他方式的时候,会导致其他加速方式的模型加载失败,重启UI服务即可。

更新时间 2024-07-07