Компилятор и среда выполнения на базе MLIR, преобразующие ML-модели в единое IR для развертывания в дата-центрах, на мобильных и периферийных устройствах.
facebookincubator/AITemplate
Python-фреймворк, компилирующий глубокие нейросети в код CUDA/HIP C++ с fp16 для быстрого инференса на GPU NVIDIA и AMD.
Open source альтернатива:TensorRT
- Звёзды
- 4,734
- Форки
- 387
- Открытые issues
- 163
- Последний коммит
- в прошлом месяце
Что это?
AITemplate (AIT) — Python-фреймворк, который преобразует глубокие нейросети в код CUDA (NVIDIA) или HIP (AMD) на C++ для обслуживания инференса. Он рассчитан на задачи fp16 на оборудовании TensorCore и MatrixCore; среди поддерживаемых моделей проект указывает ResNet, MaskRCNN, BERT, Vision Transformer и Stable Diffusion.
Компилятор применяет горизонтальное слияние (объединяет параллельные операторы GEMM и LayerNorm в одно ядро), вертикальное слияние (встраивает поэлементные операции, редукции и преобразования форматов данных в вычисления TensorCore/MatrixCore) и слияние операций с памятью (объединяет конкатенацию, разделение и извлечение с предшествующими операторами). Каждая скомпилированная модель — автономный бинарный файл, не зависящий от cuBLAS, cuDNN, TensorRT и подобных сред выполнения.
Среда выполнения Python принимает тензоры PyTorch без дополнительных копирований, а сопутствующая утилита FX2AIT преобразует модели PyTorch и может частично ускорять модели с неподдерживаемыми операторами. Для проверенных конфигураций проекту требуются GPU NVIDIA с SM80+ или GPU AMD с CDNA2.
Ключевые возможности
- 01Компилирует нейросети fp16 в CUDA/HIP C++ для оборудования TensorCore и MatrixCore.
- 02Применяет горизонтальное, вертикальное слияние и слияние операций с памятью, сокращая число запусков ядер.
- 03Создаёт автономные бинарные файлы моделей без зависимостей от cuBLAS, cuDNN и TensorRT.
- 04Среда выполнения Python напрямую принимает тензоры PyTorch без дополнительных копирований.
- 05FX2AIT преобразует модели PyTorch и частично ускоряет неподдерживаемые операторы.
Сценарии использования
- Обслуживание моделей ResNet, BERT или Vision Transformer в fp16 на GPU NVIDIA класса A100.
- Инференс Stable Diffusion на GPU AMD серии MI.
- Ускорение моделей PyTorch, содержащих несколько операторов, которые AIT не поддерживает.
Быстрый старт
- 1
Клонируйте репозиторий вместе с подмодулями
git clone --recursive https://github.com/facebookincubator/AITemplate - 2
Перейдите в каталог python
cd python - 3
Соберите wheel для Python
python setup.py bdist_wheel - 4
Установите собранный wheel
pip install dist/*.whl --force-reinstall
Что важно знать
- Поддержка NVIDIA тестировалась только на GPU SM80+ — например, Ampere. На более старых GPU T4 или V100 некоторые ядра могут не работать.
- Поддержка AMD тестировалась только на GPU CDNA2 (MI-210/250). На более старых GPU CDNA1 возможны проблемы с компилятором.
- Для сборки из исходного кода нужен подходящий компилятор CUDA или ROCm: неправильный компилятор приводит к снижению производительности.
В подборках
Темы
Частые вопросы
- Что такое AITemplate?
- Python-фреймворк, компилирующий глубокие нейросети в код CUDA/HIP C++ с fp16 для быстрого инференса на GPU NVIDIA и AMD. AITemplate (AIT) — Python-фреймворк, который преобразует глубокие нейросети в код CUDA (NVIDIA) или HIP (AMD) на C++ для обслуживания инференса. Он рассчитан на задачи fp16 на оборудовании TensorCore и MatrixCore; среди поддерживаемых моделей проект указывает ResNet, MaskRCNN, BERT, Vision Transformer и Stable Diffusion.
- AITemplate можно использовать бесплатно? Какая у него лицензия?
- AITemplate распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- AITemplate всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в AITemplate — 7 окт. 2026 г..
- Для чего можно использовать AITemplate?
- Обслуживание моделей ResNet, BERT или Vision Transformer в fp16 на GPU NVIDIA класса A100. Инференс Stable Diffusion на GPU AMD серии MI. Ускорение моделей PyTorch, содержащих несколько операторов, которые AIT не поддерживает.
- Как установить AITemplate?
- Клонируйте репозиторий вместе с подмодулями: git clone --recursive https://github.com/facebookincubator/AITemplate Перейдите в каталог python: cd python Соберите wheel для Python: python setup.py bdist_wheel Установите собранный wheel: pip install dist/*.whl --force-reinstall
- Где скачать AITemplate?
- Исходный код и инструкции по установке — на GitHub: https://github.com/facebookincubator/AITemplate
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Язык и компилятор для написания эффективных пользовательских GPU-ядер глубокого обучения на Python-подобном коде — продуктивнее, чем на CUDA.
AutoRT — инструмент-компилятор для создания, тестирования производительности и оптимизации операторов PyTorch под собственные ускорители.
Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.
Расширение NVIDIA для PyTorch с утилитами смешанной точности и распределённого обучения, а также опциональными fusion-ядрами CUDA и C++.