Flash Attention2 快速安装
前言
直接使用 pip install flash-attn 经常会遇到各种各样的报错,不推荐把报错信息交给AI解决,因为它们往往会乱答给出不管用的 fix。我建议直接前往官方仓库下载适配的 wheel 文件并用其进行安装。访问官方仓库的 release 页面:https://github.com/Dao-AILab/flash-attention/releases ,可以看到许多批不同版本的 flash-attn ,再点开 Assets 就能看见该版本具体兼容的各个文件,我们需要选择一个适配的。
一个典型的 flash-attn .whl 的文件名如 flash_attn-2.7.3+cu11torch2.6cxx11abiFALSE-cp312-cp312-linux_x86_64.whl 记录了该 .whl 文件对应的安装环境, “flash_attn-2.7.3+cu11torch2.6cxx11abiFALSE-cp312-cp312” 其中 标黑下划线 的各部分是我们要着重查明的。
确定配置
1. Python 版本
在终端进入环境输入指令:
python --version返回如:
Python 3.12.92. CUDA 版本
输入指令:
nvcc -V返回如:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0这里查询的是系统本地安装的 NVIDIA CUDA Toolkit 版本。可以看出此处 CUDA 版本为 11.8 ,对应 cu11 ;如果 CUDA 版本为 12.x 则对应 cu12 。
3. PyTorch 版本
输入指令:
python -c "import torch; print(torch.__version__);"返回如:
2.6.0+cu124前面是 pytorch 版本,对应 torch2.6 ;
后面 cu124 是 PyTorch 运行时需要的 CUDA 版本,我们不关心。这里可能与你前面查询到的本地 CUDA 版本不一致,不一定影响使用,先往后看,你不放心可以重装符合本地 CUDA 版本的 torch 全家桶。
4. Flash Attention 版本
这是我们要选择去装的 flash-attn 版本,通常会在你要配置的模型的 requirements.txt 中标出来,如 flash-attn==2.7.3 等等,对应 flash_attn-2.7.3 ,更高版本的也能选,更低版本的也许也能用。如果没有标明,自行翻阅各版本,选择出能符合前面三项配置的。.post1 之类代表这是修订版。
搬运说明
搬运自 https://zhuanlan.zhihu.com/p/1994754750374244794