笔者在搭建LLaVA的训练环境中出现了FlashAttention和CuDNN的问题,特此在此记录一下,也给遇到此问题的从业人员一些提示。

1 FlashAttention

笔者首先按照LLaVA官方仓库的环境安装示例安装环境:

遇到FlashAttention无法安装的问题。

在LLaVA官方仓库看到此issue:Flash Attention 2.0 doesn’t work: undefined symbol: _ZNK3c1010TensorImpl27throw_data_ptr_access_errorEv

issue中提示需要安装FlashAttention的试用版本FlashAttention Relase。注意安装符合python、pytorch、cuda版本(向下兼容)。

2 CuDNN

CuDNN的问题在于pytorch在linux中会默认调用系统的CuDNN,而不是conda安装的。故需要指定CuDNN的路径。

issue可查看:version libcudnn_ops_infer.so.8 not defined in file libcudnn_ops_infer.so.8 with link time reference #104591

解决方案:

增加路径后,该问题成功解决。

3 参考文献