【大模型加速】三分钟速通Flash Attention (flash-attn)安装

Flash Attention 介绍

FlashAttention 是一种优化的自注意力(Self-Attention)机制,主要用于加速 Transformer 模型的计算,同时降低显存占用。它是由 Tri Dao 等人 在 2022 年提出的,核心思想是通过 块稀疏计算(block-sparse computation)和 I/O 高效优化(I/O-aware optimizations) 来提高计算效率。

Flash Attention 安装

为方便演示,我在AutoDL上新创建了一个实例,配置如下:

这里需要注意的是python、pytorch、cuda的版本,根据这三者的版本,到flash-attention release 中寻找合适的版本。

我的环境为python==3.10 / torch==2.1.2 / cuda 11.8,因此选择下图这个版本(其他版本也可以选)

 复制链接,在服务器的终端输入wget + 链接,即可下载到当前目录下。

wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.5.0/flash_attn-2.5.0+cu118torch2.1cxx11abiTRUE-cp310-cp310-linux_x86_64.whl

 在终端输入pip install + 文件名(含后缀),即可安装完成。

pip install flash_attn-2.5.0+cu118torch2.1cxx11abiTRUE-cp310-cp310-linux_x86_64.whl

如果觉得本文对你有用的话,欢迎关注+收藏! 

### 如何安装 Flash Attention 库 为了安装 Flash Attention 库,常需要遵循特定于该库的官方文档指南。然而,在许多情况下,这类高性能计算库依赖于 CUDA 和 PyTorch 或 TensorFlow 环境的支持。 #### 安装前准备 确保已经安装了必要的依赖项和支持软件包: 对于基于 Debian 的系统如 Ubuntu,可以使用如下命令来更新并安装基础开发环境和图像处理支持[^1]: ```shell $ sudo apt-get update && sudo apt-get upgrade -y $ sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev ``` 如果目标环境中尚未配置好 Python 开发环境以及编译器链,则还需要额外安装 GCC 编译套件和其他可能必需的组件[^2]: ```shell # yum -y install gcc gcc-c++ ``` 请注意上述命令适用于 Red Hat/CentOS 类型的操作系统;如果是 Ubuntu 用户则应替换为 `apt` 命令形式。 #### 安装 NVIDIA 驱动程序与 CUDA 工具包 由于 Flash Attention 是一种针对 GPU 加速优化的技术实现方式之一,因此建议先确认已正确设置了最新的NVIDIA 显卡驱动版本,并过官方渠道下载对应版本号匹配好的CUDA Toolkit。 #### 设置 Anaconda 虚拟环境 推荐创建一个新的 Conda 环境用于隔离不同项目之间的依赖关系冲突问题。这一步骤并非强制性的但是强烈建议执行以保持系统的整洁有序。 ```bash conda create --name flash_attention_env python=3.9 conda activate flash_attention_env ``` #### 安装 PyTorch 及其扩展模块 根据个人需求选择合适的PyTorch 版本进行安装,这里假设采用稳定版且带有GPU加速功能的形式: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 ``` #### 获取并构建 FlashAttention 源码 前往 GitHub 上找到对应的开源仓库地址克隆最新源代码至本地机器上之后按照README文件中的指示完成后续操作即可。一般而言会涉及到CMakeLists.txt 文件编辑、指定 C++ 编译选项等内容。 ```bash git clone https://github.com/HazyResearch/flash-attention.git cd flash-attention pip install . ``` 以上过程涵盖了从准备工作到最终部署整个流程的关键环节概述。具体细节可能会因实际使用的操作系统平台差异而有所变化,请参照官方说明文档获取最权威指导信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HovChen_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值