lucidrains/transfusion-pytorch

Pytorch implementation of Transfusion, "Predict the Next Token and Diffuse Images with One Multi-Modal Model", from MetaAI

解决的问题

Transfusion-pytorch 提供了 Transfusion 架构的 PyTorch 实现,使单个多模态模型既能预测下一个文本标记(自回归),又能使用类似扩散的过程生成图像或其他模态。它解决了为不同模态使用独立模型的问题,将它们统一到一个基于 Transformer 的框架中。

工作原理

该项目实现了一个统一的 Transformer,根据张量类型处理不同数据类型:torch.long 用于文本标记,torch.float 用于连续模态。它用流匹配(flow matching)替代了原始论文中的扩散过程,以提升生成质量。模型可配置自定义编码器和解码器,以处理原始模态数据(如图像)与 Transformer 所在潜在空间之间的转换。

适用人群

需要在单个模型中生成交错文本和连续数据(如图像、音频或机器人动作)的多模态 AI 模型研究人员和开发者。

特色亮点

  • 统一架构:在一个模型中结合文本的下一个标记预测和连续模态的流匹配。
  • 多模态支持:不仅支持图像,还可扩展至任意数量具有不同潜在维度的模态。
  • 高效采样:包含 sample_many,通过 KV 缓存和联合 ODE 轨迹实现交错文本与模态的并行批量解码。
  • 可定制化:支持集成自定义模态编码器和解码器。
  • 灵活生成:允许在生成开始时强制指定特定模态,跳过文本解码。

相关

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