github+banner-20260130

FlagGems 简介#

关于 FlagGems#

FlagGems 是一个高性能的通用算子库,使用 Triton 编程语言实现。项目的目标是提供一套核心(kernel)函数来加速 LLM 训练与推理。

通过将自身算子实现注册到 PyTorch 的 ATen 后端,FlagGems 可以实现无缝的衔接, 方便用户在不需要修改自身模型代码的前提下迁移到 Triton 函数库。

FlagGems 可以被 OpenAI 的 Triton 编译器(针对 NVIDIA 和 AMD 芯片)和 FlagTree 编译器 支持; 后者可以支持多种不同的 AI 硬件平台。 用户可以像往常一样使用 ATen 后端,同时藉由 FlagGems 算子库实现性能上的提升。 Triton 编程语言在代码可读性、用户友好性上都有很好表现,并且所获得的性能与 CUDA 原生平台具有可比较性。Triton 所提供的这种便利使得开发者能够很快学会并参与到 FlagGems 算子的开发工作中。

下一步#

模型支持#

  • Bert-base-uncased
  • Llama-2-7b
  • Llava-1.5-7b

参与开发#

如果你对 FlagGems 项目的愿景感兴趣,愿意参与其开发活动, 请阅读贡献指南 小节。 我们欢迎任何形式的贡献。

联系我们#

如果你对 FlagGems 有任何问题,请在 GitHub 代码仓库上登记你的问题, 或者通过 flaggems@baai.ac.cn 邮箱与我们联系。

我们还为 FlagGems 创建了微信群。你可以微信扫描下面的二维码,参与群聊。 要想了解项目的最新进展、新版本的规划特性,或者提出任何问题与建议, 请考虑加入我们!

bge_wechat_group

许可协议#

FlagGems 项目使用 Apache 2.0 许可协议。