meta-pytorch/attention-gym

Helpful tools and examples for working with flex-attention

解決的問題

Attention Gym 提供了一個集中式的內核、指南與範例集合,用於實現新型注意力機制。它簡化了建立與使用自訂注意力遮罩與分數修改的流程,特別是針對使用 PyTorch 的 FlexAttention API 的使用者,同時也提供稀疏與線性注意力的高效實作。

如何運作

此套件透過三種主要工作流程運作:

  1. FlexAttention 整合:提供 mask_modscore_mod 函數,可直接傳入 PyTorch 的 FlexAttention API。
  2. 專用內核:包含稀疏注意力模式的 API 與內核,以及 GDN 與 KDA(分塊、遞迴與解碼路徑)的高效實作。
  3. 實用範例:專門的 examples 目錄提供基準測試與實際工作負載範例,涵蓋 CUDA Graphs、編譯、剖析與可變稀疏注意力等主題。

適用對象

專為從事深度學習中注意力機制的研究人員與開發者設計,特別是希望嘗試新注意力變體或使用稀疏或線性注意力內核優化效能的人。

主要特色

  • 支援 FlexAttention 掩碼與分數修改。
  • 提供稀疏注意力與線性注意力(GDN 與 KDA)的高效內核。
  • 提供建立與組合注意力掩碼的實用函數。
  • 包含涵蓋分頁、環形與可變稀疏注意力的完整範例。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案