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,用于图像分类和多模态任务。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目