flash-attn

FlashAttention 加速注意力

补充说明

FlashAttention 通过分块和重计算减少显存访问,提升长上下文训练的吞吐并降低显存占用。flash-attn 是常用实现,支持 Ampere、Hopper 等较新 GPU。

它通常作为 PyTorch 的注意力后端使用,Transformers、vLLM、DeepSpeed 等框架会自动检测。

常用示例

安装:

pip install flash-attn --no-build-isolation
python -c "import flash_attn; print(flash_attn.__version__)"

在 Transformers 中启用:

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen2.5-7B-Instruct",
    torch_dtype="bfloat16",
    attn_implementation="flash_attention_2",
    device_map="auto",
)

检查 GPU 架构:

nvidia-smi --query-gpu=name,compute_cap --format=csv

基准测试:

python -m flash_attn.utils.benchmark

易错点与排错