lucidrains/x-transformers

A concise but complete full-attention transformer with a set of promising experimental features from various papers

解決的問題

提供一個簡潔且功能完整的 Transformer 架構實作,讓研究人員與開發者能輕鬆將來自各學術論文的實驗性功能整合至自己的模型中,無需從頭撰寫。

如何運作

該庫提供靈活的包裝器與模組(XTransformerTransformerWrapperEncoderDecoder),可透過簡單的關鍵字參數進行設定。支援多種配置,包括完整的編碼器-解碼器、僅解碼器(GPT 類型)、僅編碼器(BERT 類型)以及視覺 Transformer(ViT)設定。整合 Flash Attention 等進階優化技術,以提升記憶體效率與速度,並支援多模態任務,如影像字幕生成與語言-視覺模型(例如 PaLI)。

適用對象

希望嘗試不同 Transformer 變體、歸一化技術以及注意力機制,以提升模型效能或效率的 AI 研究人員與機器學習工程師。

主要亮點

  • 多樣化的架構支援:支援僅編碼器、僅解碼器與完整的編碼器-解碼器配置。
  • 實驗性注意力功能:包含持久化記憶 KV、記憶令牌(註冊令牌)、對話頭注意力與稀疏 top-k 注意力。
  • 高階歸一化:實作 RMSNorm、SimpleRMSNorm、ScaleNorm 與 L2 歸一化嵌入。
  • 效率優化:整合支援 Flash Attention 與多查詢/分組查詢注意力(單一 KV 頭)。
  • 前饋層增強:支援 GLU 變體(GELU、Swish)、ReLU² 與無偏置前饋層。
  • 視覺整合:包含 ViTransformerWrapper,用於影像分類與多模態任務。

相關

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