NVIDIA/TransformerEngine

A library for accelerating Transformer models on NVIDIA GPUs, including using 8-bit and 4-bit floating point (FP8 and FP4) precision on Hopper, Ada and Blackwell GPUs, to provide better performance with lower memory utilization in both training and inference.

Инструменты⭐ 3 546Pythonпоследний релиз: v2.19
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Transformer Engine — это библиотека от NVIDIA для ускорения работы Transformer-моделей на графических процессорах NVIDIA.

Зачем нужен

Инструмент позволяет значительно повысить производительность и снизить потребление памяти при обучении и инференсе за счет использования низкоточных форматов, таких как FP8, MXFP8 и NVFP4. Он упрощает внедрение смешанной точности, автоматически управляя масштабированием и обеспечивая совместимость с современными архитектурами GPU.

Что можно реализовать

  • Обучение больших языковых моделей (LLM) с использованием FP8 для ускорения процесса.
  • Инференс LLM на архитектурах Hopper, Ada и Blackwell с минимальным использованием памяти.
  • Масштабирование моделей с архитектурой MoE (Mixture of Experts) и поддержкой тензорного/последовательного параллелизма.
  • Интеграция оптимизаций FP8 в существующие проекты на PyTorch или JAX без переписывания всей логики.

Ключевые возможности

  • Поддержка форматов FP8, MXFP8 и NVFP4 на GPU NVIDIA Hopper, Ada и Blackwell.
  • Готовые модули для построения слоев Transformer с автоматическим управлением масштабированием.
  • Интеграция с PyTorch и JAX через простой API (autocast).
  • Оптимизированные ядра (fused kernels) для повышения пропускной способности.
  • Фреймворконезависимый C++ API для интеграции в другие библиотеки глубокого обучения.

👤 Кому подойдёт: Исследователи и разработчики, работающие с большими языковыми моделями (LLM), Mixture of Experts (MoE) и мультимодальными моделями, использующие фреймворки PyTorch или JAX.

Релизы

v2.19major
🕐 9 дн назад · релиз на GitHub ↗

Поддержка Rubin SM107a, NVFP4 на SM120/121, cuDNN FP8 attention, torch.compile и оптимизации MoE/MLA.

  • Added: Добавлена поддержка архитектуры Rubin SM107a при сборке с CUDA 13.4+
  • Added: Реализована поддержка NVFP4 stochastic-rounding и RHT split-quantization для GPU SM120 и SM121
  • Added: Добавлена поддержка cuDNN FP8 fused attention для packed THD inputs и context-parallel execution
  • Added: Включена поддержка torch.compile(fullgraph=True) для FlashAttention и unfused attention бэкенда
  • Added: Оптимизирован экспериментальный MoE Block в JAX и добавлена поддержка Fused MLA Q up-projection в PyTorch
v2.18major
🕐 1 мес назад · релиз на GitHub ↗

Релиз TransformerEngine v2.18: поддержка Blackwell, NVFP4, FlashAttention v4, оптимизация FP8 и исправления PyTorch.

  • Added: Добавлена поддержка cuDNN fused attention для Blackwell (CC 10.x) и новые переменные окружения для управления FlashAttention v2–v4.
  • Added: Расширена поддержка квантования: добавлено блочное масштабирование FP8, NVFP4 RHT fusion и оптимизация масштабирования для MXFP8/NVFP4.
  • Added: Улучшена производительность и совместимость: fused-ядра SwiGLU/SReLU, поддержка CUDA Graphs для THD-внимания и Expert Parallelism.
  • Added: Интеграция TE EP бэкенда в экспериментальный MoE API JAX/Flax и снижение размера бинарников за счет миграции на NVRTC.
  • Fixed: Исправлены падения CUDA Graphs с NVFP4, проблемы с GIL при overlap коммуникаций, ошибки градиентов и точности cross-entropy.
v2.17.1patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена проблема с десериализацией extra state в чекпоинтах для квантования, добавлена защита через переменную окружения.

  • Fixed: Исправлена ошибка, при которой extra state чекпоинта десериализовывался даже для stateless рецептов квантования.
  • Added: Добавлена защита через переменную окружения для явного управления загрузкой extra state чекпоинтов в stateful рецептах.
v2.17minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена экспертная параллельность (Expert Parallelism), улучшена производительность MoE и расширена поддержка NVFP4.

  • Added: Добавлена поддержка экспертной параллельности (Expert Parallelism) через бэкенд NCCL-EP для C API, PyTorch и JAX.
  • Added: Внедрена bitmap-реализация top-k для ускорения маршрутизации MoE при использовании экспертной параллельности.
  • Added: Расширена поддержка NVFP4: добавлены опции 4over6, сгруппированный MLP, колonneйвый вывод и утилиты для конвертации чекпоинтов.
  • Added: Добавлена поддержка cuDNN-backed flex attention для PyTorch и JAX, а также Flax MoEBlock для JAX.
  • Fixed: Исправлен переполнение int32 в multi_tensor_apply, краш CUTLASS при пустых группах и проблемы со стримами в fused MoE MLP.
v2.16.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена уязвимость при распаковке чекпоинтов: добавлена защита для загрузки extra state в stateful-рецептах.

  • Fixed: Исправлена проблема, при которой extra state чекпоинта распаковывался даже для stateless-рецептов квантования.
  • Fixed: Добавлена защита через переменную окружения для безопасной загрузки extra state только в stateful-рецептах.
NVIDIA/TransformerEngine — GitHub-трекер AIKraft | AIKraft