MarkTechPost→ original

NVIDIA Transformer Engine: фьюзед-ядра, FP8 и BF16 для обучения трансформеров

NVIDIA Transformer Engine ускоряет обучение трансформеров через фьюзед GPU-ядра, вычисления в BF16 и аппаратный FP8. Библиотека заменяет стандартные PyTorch-слои — te.Linear, te.LayerNorm, te.TransformerLayer — и автоматически выбирает режим по типу GPU. На картах H100 и RTX 40xx доступны FP8 tensor cores с форматами E4M3/E5M2; на старых GPU — откат на чистый PyTorch без изменений кода.

Procesado por IA desde MarkTechPost; editado por Hamidun News
NVIDIA Transformer Engine: фьюзед-ядра, FP8 и BF16 для обучения трансформеров
Fuente: MarkTechPost. Collage: Hamidun News.
◐ Escuchar artículo

NVIDIA Transformer Engine — una biblioteca para acelerar el entrenamiento de modelos transformer en GPUs Ampere y posteriores. Un tutorial publicado el 1 de agosto de 2026 en MarkTechPost muestra cómo conectar TE a un modelo similar a GPT, configurar la cuantización FP8 y medir las ganancias en velocidad y memoria.

Qué Es NVIDIA Transformer Engine

NVIDIA Transformer Engine es una biblioteca oficial para optimizar transformers en GPUs de nivel Ampere y superiores. Proporciona sustituciones drop-in para capas estándar de PyTorch: `te.Linear`, `te.LayerNorm`, `te.LayerNormLinear`, `te.LayerNormMLP` y un bloque completo `te.TransformerLayer`. Todos los componentes funcionan con BF16 de forma predeterminada; los tensor cores FP8 están disponibles en tarjetas con compute capability ≥ 8.9.

Componentes clave de la biblioteca:

  • `te.Linear` — capa lineal con soporte para tensor cores FP8
  • `te.LayerNormLinear` — combina LayerNorm y proyección en un único kernel
  • `te.LayerNormMLP` — bloque MLP fusionado con normalización
  • `te.TransformerLayer` — bloque transformer completo: atención, FFN, normalización
  • Retroceso automático a PyTorch puro en GPUs sin soporte de TE

Cómo Funcionan FP8 y DelayedScaling

El modo FP8 se activa mediante la receta `DelayedScaling` de `transformer_engine.common.recipe`. La receta gestiona el historial de amax de los tensores (`amax_history_len=16`), el algoritmo de cómputo (`amax_compute_algo="max"`) y el formato híbrido E4M3/E5M2: el primer formato proporciona precisión para las activaciones, el segundo ofrece un rango dinámico extendido para los gradientes.

La característica clave del delayed scaling es acumular estadísticas durante 16 iteraciones antes de actualizar la escala del tensor. Esto estabiliza el entrenamiento en los pasos iniciales, cuando la distribución de activaciones aún no se ha establecido.

"Transformer

Engine combina kernels fusionados, escalado FP8 y rutas de ejecución optimizadas para Ampere, lo que lo convierte en una opción práctica para entrenar modelos grandes", se indica en la documentación oficial de NVIDIA.

En el tutorial, los autores construyen un modelo compacto similar a GPT denominado `MiniGPT_TE`: cuatro bloques `te.TransformerLayer`, dimensión oculta de 768, 12 cabezas de atención, vocabulario de 96 tokens y longitud de secuencia de 256. El modelo se entrena con datos sintéticos deterministas. Las mediciones muestran que el modo FP8 en una GPU de clase H100 reduce el consumo de pico de VRAM y el tiempo por paso en comparación con BF16, mientras que la precisión permanece comparable — los autores lo verifican mediante generación autorregresiva tras el entrenamiento.

Requisitos de GPU

Transformer Engine solo funciona en GPUs con compute capability ≥ 8.0 (arquitectura Ampere). Los tensor cores FP8 están disponibles a partir de CC ≥ 8.9: Ada Lovelace (RTX 40xx) y Hopper (H100/H200). En tarjetas T4 y anteriores, la biblioteca retrocede a PyTorch puro sin kernels fusionados.

  • Mínimo para kernels TE: Ampere, CC ≥ 8.0 — A10, A100, RTX 30xx
  • Mínimo para FP8: Ada Lovelace / Hopper, CC ≥ 8.9
  • Instalación: `pip install transformer_engine[pytorch]`
  • Dependencias: CUDA 11.8+, PyTorch 2.0+

Según los autores del tutorial, una GPU A100 o L4 en Google Colab es suficiente para la reproducción completa; en T4 solo está disponible el modo de retroceso sin kernels fusionados.

Qué Significa Esto

NVIDIA Transformer Engine reduce el umbral de entrada al entrenamiento de baja precisión: en lugar de implementar manualmente la cuantización FP8, basta con reemplazar las capas estándar de PyTorch por sus equivalentes en TE. Para los equipos que entrenan modelos grandes en clústeres de GPU, esta es una forma práctica de reducir el uso de memoria y el tiempo de iteración sin rediseñar la arquitectura.

Preguntas Frecuentes

¿Se Necesita un H100 para Usar Transformer Engine?

No. NVIDIA Transformer Engine funciona en cualquier GPU con compute capability ≥ 8.0, incluidas la A100 y la RTX 3090. Los tensor cores FP8 solo están disponibles con CC ≥ 8.9 — en la H100 y la RTX 4090; en las demás tarjetas, la biblioteca cambia automáticamente a BF16.

¿Cómo Instalar Transformer Engine?

Instalación mediante pip: `pip install transformer_engine[pytorch]`. Se requieren CUDA 11.8 o superior y PyTorch 2.0+.

ZK
Hamidun News
Noticias de AI sin ruido. Selección editorial diaria de más de 50 fuentes. Producto de Zhemal Khamidun, Head of AI en Alpina Digital.

¿Quieres dejar de leer sobre IA y empezar a usarla?

AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.

¿Qué te parece?
Cargando comentarios…