Repolode
facebookincubator

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. 1

    Клонируйте репозиторий вместе с подмодулями

    git clone --recursive https://github.com/facebookincubator/AITemplate
  2. 2

    Перейдите в каталог python

    cd python
  3. 3

    Соберите wheel для Python

    python setup.py bdist_wheel
  4. 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 обновляется ежедневно.

Похожие проекты