FlashQLA

6个月前更新 239 00

阿里巴巴正式开源 FlashQLA——一个基于 TileLang 实现的高性能线性注意力算子库。FlashQLA 专为 GDN 设计,通过深度的算子融合与硬件级优化,在 NVIDIA Hopper 架构上实现了相较于主流 FLA Triton Kernel 2-3 倍的前向加速和 2 倍的反向加速。

所在地:
中国
收录时间:
2026-04-30
其他站点:
FlashQLAFlashQLA

随着 Qwen3-Next 及后续 Qwen3.5/3.6 系列的发布,Gated Delta Network (GDN) 已成为通义千问全系列模型的核心注意力机制。从 80B 到 397A17B 的超大参数规模,再到突破 256K 的超长上下文,GDN 在提供卓越性能的同时,其计算开销在端到端训练与推理中也日益显著。

FlashQLA

今天,阿里巴巴正式开源 FlashQLA——一个基于 TileLang 实现的高性能线性注意力算子库。FlashQLA 专为 GDN 设计,通过深度的算子融合与硬件级优化,在 NVIDIA Hopper 架构上实现了相较于主流 FLA Triton Kernel 2-3 倍的前向加速和 2 倍的反向加速。

这不仅意味着预训练成本的降低,更标志着端侧 Agentic 推理效率的重大飞跃。

核心突破:为何 FlashQLA 更快?

FlashQLA 并非简单的代码重构,而是从算法逻辑到硬件映射的全方位优化。其三大核心技术亮点如下:

1. Gate 驱动的自动化卡内序列并行

GDN 的核心特性在于其 Gate 机制带来的指数衰减性质。FlashQLA 巧妙利用这一数学特性,在以下场景中自动开启卡内序列并行(Intra-card Sequence Parallelism):

  • Tensor Parallelism (TP) 场景
  • 超长序列处理
  • 小头数(Small Head Count)配置

通过自动并行化,FlashQLA 显著提高了 GPU SM(Streaming Multiprocessors)的利用率,避免了传统实现中因负载不均导致的算力闲置。

2. 硬件友好的代数改写

为了适配现代 GPU 的硬件特性,FlashQLA 对 GDN Chunked Prefill 的前向和反向传播流程进行了精细的代数改写。

  • 精度无损:所有改写均在严格保证数值精度的前提下进行。
  • 负载均衡:有效降低了 Tensor Core、CUDA Core 及特殊功能单元(SFU)的计算开销,避免单一硬件单元成为瓶颈。

3. TileLang Fused Warp-Specialized Kernels

传统的算子实现往往面临两难:要么拆分为多个独立 Kernel 导致启动开销大,要么融合为一个巨大 Kernel 导致寄存器压力高且难以并行。

FlashQLA 选择了中间路线:

  • 关键融合:使用 TileLang DSL 构建几个关键的 Fused Kernel,平衡了粒度与复杂度。
  • Warp Specialization:通过手动的 Warpgroup specialization 技术,实现了数据搬运、Tensor Core 计算与 CUDA Core 计算的完美重叠(Overlap)。
  • 结果:最大化隐藏内存延迟,确保持续的高吞吐量计算。

性能基准:Hopper 架构下的显著优势

在 NVIDIA Hopper (如 H100/H800) 显卡上的测试表明,FlashQLA 在多场景下均展现出压倒性优势:

场景对比基线 (FLA Triton Kernel)加速比
前向传播 (Forward)标准 Triton 实现2x – 3x 🚀
反向传播 (Backward)标准 Triton 实现~2x 🚀
  • 预训练场景:大幅缩短训练时间,降低算力成本。
  • 端侧/Agentic 推理:显著降低首字延迟(TTFT)和生成延迟,提升用户体验。

为什么选择 TileLang?

FlashQLA 基于 TileLang 构建,这得益于 TileLang 在高性能算子开发上的独特优势:

  • Pythonic 语法:简化了复杂并行逻辑的描述。
  • 底层控制力:允许开发者精确控制内存布局、Warp 分工和数据流,从而实现手工汇编级别的优化效果。
  • 跨平台潜力:虽然本次针对 Hopper 优化,但 TileLang 的设计旨在支持多种后端,为未来适配更多硬件奠定基础。

相关导航