Skip to main content

Flash Attention

Flash Attention 2 provides significant speedups for transformer training by optimizing memory access patterns.

Requirements

Flash Attention 2 requires:
  • Linux operating system
  • NVIDIA GPU with CUDA support
  • flash-attn package installed

Quick Start

Python API

Parameters

Attention Implementation Options

Model Compatibility

Gemma models use eager attention by default. Flash Attention 2 is automatically disabled for Gemma models due to compatibility issues. The attn_implementation is forced to eager.

Supported Models

With Quantization

Combine Flash Attention with quantization for maximum efficiency:

With Sequence Packing

Flash Attention enables efficient sequence packing:
Sequence packing requires Flash Attention to be enabled.

Performance Benefits

Results vary by model size, sequence length, and hardware.

Troubleshooting

Installation Errors

If pip install flash-attn fails:

Runtime Errors

“Flash Attention is not available”
  • Verify flash-attn is installed: python -c "import flash_attn"
  • Ensure you’re on Linux with CUDA
  • Check GPU compute capability (requires SM 80+, e.g., A100, H100)
Model uses eager attention despite flag
  • Some models (like Gemma) force eager attention
  • Check model documentation for compatibility

Next Steps

Quantization

Combine with memory optimization

LoRA/PEFT

Efficient fine-tuning