FlagGems 简介#
关于 FlagGems#
FlagGems 是一个高性能的通用算子库,使用 Triton 编程语言实现。项目的目标是提供一套核心(kernel)函数来加速 LLM 训练与推理。
通过将自身算子实现注册到 PyTorch 的 ATen 后端,FlagGems 可以实现无缝的衔接, 方便用户在不需要修改自身模型代码的前提下迁移到 Triton 函数库。
FlagGems 可以被 OpenAI 的 Triton 编译器(针对 NVIDIA 和 AMD 芯片)和 FlagTree 编译器 支持; 后者可以支持多种不同的 AI 硬件平台。 用户可以像往常一样使用 ATen 后端,同时藉由 FlagGems 算子库实现性能上的提升。 Triton 编程语言在代码可读性、用户友好性上都有很好表现,并且所获得的性能与 CUDA 原生平台具有可比较性。Triton 所提供的这种便利使得开发者能够很快学会并参与到 FlagGems 算子的开发工作中。
下一步#
- 阅读功能特性概览
- 了解FlagGems 所支持的平台
- 尝试开始使用 FlagGems
- 查看 FlagGems 项目的变更历史
- 了解 FlagGems 目前支持的算子集合
模型支持#
- Bert-base-uncased
- Llama-2-7b
- Llava-1.5-7b
参与开发#
如果你对 FlagGems 项目的愿景感兴趣,愿意参与其开发活动, 请阅读贡献指南 小节。 我们欢迎任何形式的贡献。
联系我们#
如果你对 FlagGems 有任何问题,请在 GitHub 代码仓库上登记你的问题, 或者通过 flaggems@baai.ac.cn 邮箱与我们联系。
我们还为 FlagGems 创建了微信群。你可以微信扫描下面的二维码,参与群聊。 要想了解项目的最新进展、新版本的规划特性,或者提出任何问题与建议, 请考虑加入我们!
许可协议#
FlagGems 项目使用 Apache 2.0 许可协议。
