基于 MLIR 的机器学习编译器与运行时,将模型统一降级到中间表示,覆盖数据中心到移动与边缘设备。
facebookincubator/AITemplate
一个将深度神经网络编译为 CUDA/HIP C++ 代码、用于 NVIDIA 和 AMD GPU 高性能推理的 Python 框架。
可替代:TensorRT
- Star
- 4,734
- Fork
- 387
- 未关闭 Issue
- 163
- 最近提交
- 上个月
这是什么?
AITemplate(AIT)是一个 Python 框架,可将深度神经网络转换为 CUDA(NVIDIA)或 HIP(AMD)C++ 代码,用于推理服务。它面向 fp16 计算,充分利用 TensorCore 和 MatrixCore 硬件,支持的模型包括 ResNet、MaskRCNN、BERT、Vision Transformer 和 Stable Diffusion 等。
编译器提供多种算子融合能力:水平融合可将并行的 GEMM、LayerNorm 等算子合并为单个 kernel;垂直融合可把逐元素运算、归约和布局变换融合进 TensorCore/MatrixCore 操作;内存融合则能将拼接、切分、切片与前序算子合并。编译后的每个模型都是自包含的二进制文件,不依赖 cuBLAS、cuDNN、TensorRT 等运行时库。
Python 运行时可直接接收 PyTorch 张量且无需额外拷贝。配套工具 FX2AIT 可将 PyTorch 模型转换为 AIT 引擎,对包含不支持算子的模型也能进行部分加速。项目测试的环境为 SM80 及以上的 NVIDIA GPU,以及 CDNA2 架构的 AMD GPU。
核心功能
- 01将 fp16 神经网络编译为面向 TensorCore 和 MatrixCore 的 CUDA/HIP C++ 代码。
- 02通过水平、垂直和内存算子融合减少 kernel 启动次数。
- 03生成的模型为自包含二进制,不依赖 cuBLAS、cuDNN 或 TensorRT。
- 04Python 运行时可直接接收 PyTorch 张量,无需额外拷贝。
- 05FX2AIT 可转换 PyTorch 模型,并对不受支持的算子进行部分加速。
适用场景
- 在 A100 等 NVIDIA GPU 上以 fp16 部署 ResNet、BERT 或 Vision Transformer 模型。
- 在 AMD MI 系列 GPU 上运行 Stable Diffusion 推理。
- 加速包含少量 AIT 不支持算子的 PyTorch 模型。
快速上手
- 1
克隆仓库及其子模块
git clone --recursive https://github.com/facebookincubator/AITemplate - 2
进入 python 目录
cd python - 3
构建 Python wheel 包
python setup.py bdist_wheel - 4
安装构建好的 wheel 包
pip install dist/*.whl --force-reinstall
使用前须知
- NVIDIA 支持仅在 SM80 及以上 GPU(如 Ampere)上测试,较旧的 T4 或 V100 可能无法运行部分内核。
- AMD 支持仅在 CDNA2 GPU(MI-210/250)上测试,较旧的 CDNA1 GPU(MI-100)可能存在编译器问题。
- 从源码构建需要正确的 CUDA 或 ROCm 编译器,否则会导致性能下降。
收录于专题
标签
常见问题
- AITemplate 是什么?
- 一个将深度神经网络编译为 CUDA/HIP C++ 代码、用于 NVIDIA 和 AMD GPU 高性能推理的 Python 框架。 AITemplate(AIT)是一个 Python 框架,可将深度神经网络转换为 CUDA(NVIDIA)或 HIP(AMD)C++ 代码,用于推理服务。它面向 fp16 计算,充分利用 TensorCore 和 MatrixCore 硬件,支持的模型包括 ResNet、MaskRCNN、BERT、Vision Transformer 和 Stable Diffusion 等。
- AITemplate 可以免费使用吗?用的什么许可证?
- AITemplate 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- AITemplate 还在维护吗?
- 半年内有更新。AITemplate 最近一次提交是在 2026年10月7日。
- AITemplate 适合用来做什么?
- 在 A100 等 NVIDIA GPU 上以 fp16 部署 ResNet、BERT 或 Vision Transformer 模型。 在 AMD MI 系列 GPU 上运行 Stable Diffusion 推理。 加速包含少量 AIT 不支持算子的 PyTorch 模型。
- AITemplate 怎么安装和运行?
- 克隆仓库及其子模块: git clone --recursive https://github.com/facebookincubator/AITemplate 进入 python 目录: cd python 构建 Python wheel 包: python setup.py bdist_wheel 安装构建好的 wheel 包: pip install dist/*.whl --force-reinstall
- 在哪里获取 AITemplate?
- 源代码和安装说明在 GitHub 上:https://github.com/facebookincubator/AITemplate
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一门用于编写高效自定义深度学习 GPU 内核的语言与编译器,开发效率高于 CUDA。
一个高吞吐、低显存占用的大语言模型推理与服务引擎,提供兼容 OpenAI 的 API。
FlashAttention 官方实现,一种节省显存的精确注意力计算内核,用于 GPU 上 Transformer 模型的训练与推理。
NVIDIA 维护的 PyTorch 扩展,提供混合精度与分布式训练工具及可选的融合 CUDA/C++ 内核。