flash-linear-attention

让线性注意力模型在 GPU 上跑得飞快,长序列不再卡顿

flash-linear-attention 是一个专注于新兴模型架构高效实现的 Python 库,主要针对线性注意力机制(如 Mamba、RWKV、RetNet 等)提供融合的 GPU 内核和训练/推理工具。它解决了传统 Transformer 在长序列任务中计算复杂度高、内存占用大的问题,通过分块并行、IO 感知优化等技术,显著提升线性注意力模型的训练和推理速度,同时降低显存消耗。核心能力包括多种注意力变体的统一实现、高性能 Triton/CUDA 内核、以及易于集成的 API,支持 PyTorch 生态。项目旨在成为线性注意力模型的高性能基础设施,推动状态空间模型和线性 Transformer 在实际场景中的落地。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5782
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队fla-org
所属国家
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型large-language-models,machine-learning-systems,natural-language-processing,sequence-modeling
GitHub 星标★ 5782
30天Star增速
HF 下载量
上线时间2023-12-20 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:进阶 约 15 分钟 部署方式:库/依赖 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境与 PyTorch(torch 由后端 extra 提供,不单独从 PyPI 安装)
  • 需具备 CUDA / ROCm / XPU / NPU / CPU 之一的后端环境
  • 已获取 flash-linear-attention 源码目录(需要通过 pip install -e . 安装)

安装与启动步骤

  1. 1克隆仓库

    从 GitHub 拉取 flash-linear-attention 源码到本地,后续以可编辑模式安装。

    git clone https://github.com/fla-org/flash-linear-attention.git
  2. 2进入源码目录

    切换到刚克隆下来的项目根目录,安装命令需在此目录执行。

    cd flash-linear-attention
  3. 3安装 CUDA 后端

    CUDA 环境只需一条命令,torch 会随 [cuda] extra 一起装上。README 的代码块此处被截断,命令为按官方说明的常规写法。

    pip install -e ".[cuda]"
  4. 4其他后端需两步

    ROCM/XPU/NPU/CPU 后端要分两步装,让 torch 及对应 triton 从 PyTorch wheel 索引获取而非 PyPI。README 未给出这两条具体命令,请以官方仓库为准。

  5. 5验证可导入

    README 提示必须先 pip install -e . 才能 import,此步确认 fla 已在当前环境可用。

    python -c "import fla"
  6. 6跑算子基准

    运行 README 给出的 benchmark 入口,会输出各算子前向/反向耗时表格,同时验证内核可用。

    python -m benchmarks.ops.run --op chunk_retention chunk_gla chunk_gdn flash_attn

如何确认成功

python -c "import fla" 无报错,且 benchmark 命令能打印出 chunk_retention、chunk_gla 等算子的耗时表格,即表示安装成功。

常见问题

Q:import fla 时报找不到模块怎么办?

A:README 明确说明需要先安装才能导入,请在源码目录执行 pip install -e . 后再试。

Q:非 CUDA 环境(AMD/Intel/CPU)怎么装?

A:torch 放在 [rocm]/[xpu]/[npu]/[cpu] 等后端 extra 中,且需要两步安装,让 torch 及其 triton 从 PyTorch wheel 索引获取而不是 PyPI。

Q:支持哪些硬件平台?

A:README 称所有实现与平台无关,并已在 NVIDIA、AMD、Intel 硬件上验证通过。

Q:为什么 README 里没有完整安装命令?

A:节选中 Installation 章节的代码块内容缺失,只能依据文字描述推断,建议直接查看官方仓库最新说明。

注意事项

  • 本教程基于 README 节选,Installation 代码块被截断,具体安装命令请以官方仓库为准。
  • 后端 extra 必须按实际硬件选择:cuda / rocm / xpu / npu / cpu,不要额外单独 pip 安装 torch。
  • 运行 benchmark 需要可用的 GPU 与对应内核编译环境,首次运行可能较慢。

核心亮点

  • 提供融合的 Triton/CUDA 内核,相比原生实现速度提升数倍,显存占用大幅降低
  • 覆盖多种主流线性注意力变体(如 Mamba、RWKV、RetNet),统一接口,便于对比和切换
  • 积极跟进最新研究,持续集成新架构,社区活跃,文档和示例逐步完善

不足之处

  • 部分内核仍处于实验阶段,稳定性需进一步验证
  • 文档和社区生态尚在建设中,新手入门门槛较高

适用场景

  • 长序列自然语言处理任务(如文档级理解、代码生成)
  • 边缘设备或资源受限环境下的高效推理
  • 研究线性注意力新架构的性能基准测试

替代项目

Mamba、RWKV-LM、xformers

项目介绍

flash-linear-attention 是开发框架领域的开源项目,由 fla-org 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(5,782)位列前 8%,在开发框架分类的 803 个项目里位列前 9%。

近 41 天,它的 GitHub 星标从 5,551 增加到 5,782,净增 231。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:长序列自然语言处理任务(如文档级理解、代码生成)。同类可对比的替代方案包括 Mamba、RWKV-LM、xformers。

上一篇:spacy-llm

下一篇:AI-Blueprints

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12