TyphoonMLA: A Mixed Naive-Absorb MLA Kernel For Shared Prefix
This work addresses a specific computational bottleneck in attention mechanisms for large language models, offering incremental improvements for efficient inference.
The paper tackled the performance limitations of existing Multi-Head Latent Attention (MLA) kernels in handling shared prefixes by introducing TyphoonMLA, a hybrid approach that combines naive and absorb formulations, resulting in up to 3.24x throughput improvements on GPUs with only a 3% HBM overhead.
Multi-Head Latent Attention (MLA) is a recent attention mechanism adopted in state-of-the-art LLMs such as DeepSeek-v3 and Kimi K2. Thanks to its novel formulation, MLA allows two functionally equivalent but computationally distinct kernel implementations: naive and absorb. While the naive kernels (e.g., FlashAttention) are typically preferred in training and prefill for their computational efficiency, existing decoding kernels (e.g., FlashMLA) rely on the absorb method to minimize HBM bandwidth usage. However, the compute-bound nature of the absorb implementations prohibits performance benefits from data reuse opportunities in attention calculations, such as shared prefixes. In this work, we introduce TyphoonMLA, a hybrid approach that combines naive and absorb formulations to harness the strengths of both. TyphoonMLA effectively leverages the shared prefix by applying the naive formulation to the compute-bound parts of attention calculations, while reducing the bandwidth requirements for non-shared parts by using the absorb formulation. As a result, TyphoonMLA improves the throughput of attention calculations in MLA architectures by up to 3x and 3.24x on NPU and GPUs, with only a 3% overhead in HBM size.