赞
踩
机器学习里Transformer模型大量使用flash-attention这个自注意力模块,多次安装遇到一堆问题,希望能给大家一点帮助。结合了多篇前人经验,本文只提供我这次成功安装的一些步骤,也可能存在之前安装过部分内容文中有疏漏,还请根据提示多注意。
注意:如无特殊情况,请不要尝试自我编译,费时费力且存在大量依赖缺失、错误。下文自我编译的部分均请忽略,除非无可用的版本,也建议优先考虑其他自注意力模块,自我编译请做好大量失败和debug的心理准备,下文繁杂的过程最终也没有完全成功,仅供参考。使用他人编译的版本很快就成功了……
网络中大部分教程基于Linux系统,官网没有提供Windows的预编译版本。我们可以借助例如这位大佬编译好的版本进行安装(https://github.com/bdashore3/flash-attention/releases),选择匹配的版本,更新whl等包以防万一。
下载好以后cd过去,类似在线安装一样pip install就可以。
pip install <你下载的whl文件>
(可参见FlashAttention提供的README.md)
pip install packaging
pip install ninja
如果ninja存在问题可以考虑卸载后重装。
cl
如果返回的不是类似下面的结果需要配置环境变量。
用于 x64 的 Microsoft ® C/C++ 优化编译器 19.29.30151版
版权所有© Microsoft Corporation。保留所有权利。用法: cl [ 选项… ] 文件名… [ /link 链接选项… ]
配置环境变量需要找到类似下面的路径(不同版本路径可能不同,在Microsoft Visual Studio里找一下)中是否存在cl.exe文件,然后复制
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC<版本号>\bin\Hostx64\x64
然后Windows搜索栏中搜索“编辑系统环境变量” -> 环境变量(N)… -> 选中“系统变量”中变量名为"Path” -> 编辑(I)… -> 新建(N) -> 粘贴刚刚找到的这个路径 -> 全部点“确定”
3. 去GitHub下载cutlass,解压以后配置CPATH环境变量,值为路径。
4. 解压下载的flash-attention源代码,然后命令提示符中cd到Git复制到的文件夹中,执行如下的命令
set MAX_JOBS=4
python setup.py install
如果不使用命令提示符而是用PowerShell就对应执行
$env:MAX_JOBS="4"
python setup.py install
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。