NCCL es la biblioteca de NVIDIA con primitivas optimizadas de comunicación entre GPUs, como all-reduce y all-gather, para entrenamiento en uno o varios nodos.
NVIDIA/apex
Extensiones de NVIDIA para PyTorch con utilidades de precisión mixta y entrenamiento distribuido, además de kernels CUDA y C++ fusionados opcionales.
- Estrellas
- 9,001
- Forks
- 1,532
- Issues abiertos
- 777
- Último commit
- hace 5 días
¿Qué es?
Apex es un conjunto de utilidades mantenidas por NVIDIA que amplían PyTorch para trabajar con precisión mixta y entrenamiento distribuido. Su objetivo es ofrecer a los usuarios utilidades de entrenamiento actualizadas antes de que se incorporen a PyTorch.
El paquete incluye kernels fusionados para operaciones habituales como Adam, normalización de capas y softmax, además de un espacio de nombres contrib con módulos experimentales para áreas como sparsity, transducer loss, bloques bottleneck y optimizadores distribuidos. Muchos de estos componentes se compilan como extensiones opcionales de C++/CUDA, que se habilitan mediante variables de entorno durante la instalación.
También se admite una compilación solo con Python, aunque omite los kernels fusionados y hace que DistributedDataParallel, amp y SyncBatchNorm funcionen más lentamente. Los contenedores de PyTorch de NVIDIA en NGC incluyen todas las extensiones preinstaladas.
Funciones clave
- 01Utilidades de entrenamiento con precisión mixta (apex.amp) para PyTorch.
- 02Herramientas para entrenamiento distribuido, como DistributedDataParallel y SyncBatchNorm.
- 03Optimizadores fusionados y kernels de normalización de capas compilados como extensiones CUDA.
- 04Paquetes contrib modulares que se habilitan individualmente durante la instalación.
- 05Opción de instalación solo con Python para entornos sin un conjunto de herramientas CUDA.
Casos de uso
- Acelerar el entrenamiento de modelos grandes en GPU NVIDIA mediante precisión mixta.
- Ejecutar entrenamiento de PyTorch en varias GPU o varios nodos con utilidades distribuidas fusionadas.
- Probar optimizadores fusionados o capas de normalización en código de entrenamiento personalizado.
Inicio rápido
- 1
Clona el repositorio
git clone https://github.com/NVIDIA/apex - 2
Entra en el directorio del proyecto
cd apex - 3
Compila e instala las extensiones principales de C++ y CUDA
APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
Antes de usarlo
- Para compilar las extensiones de CUDA y C++ se necesita una configuración compatible de PyTorch y CUDA.
- Algunos módulos de apex.contrib solo funcionan con versiones nightly de PyTorch, no con las versiones estables.
- La instalación en Windows es experimental.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es apex?
- Extensiones de NVIDIA para PyTorch con utilidades de precisión mixta y entrenamiento distribuido, además de kernels CUDA y C++ fusionados opcionales. Apex es un conjunto de utilidades mantenidas por NVIDIA que amplían PyTorch para trabajar con precisión mixta y entrenamiento distribuido. Su objetivo es ofrecer a los usuarios utilidades de entrenamiento actualizadas antes de que se incorporen a PyTorch.
- ¿apex es gratuito? ¿Qué licencia tiene?
- apex es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿apex sigue mantenido?
- Mantenimiento activo. El último commit de apex fue el 2 nov 2026.
- ¿Para qué puedo usar apex?
- Acelerar el entrenamiento de modelos grandes en GPU NVIDIA mediante precisión mixta. Ejecutar entrenamiento de PyTorch en varias GPU o varios nodos con utilidades distribuidas fusionadas. Probar optimizadores fusionados o capas de normalización en código de entrenamiento personalizado.
- ¿Cómo se instala apex?
- Clona el repositorio: git clone https://github.com/NVIDIA/apex Entra en el directorio del proyecto: cd apex Compila e instala las extensiones principales de C++ y CUDA: APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
- ¿Dónde consigo apex?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/NVIDIA/apex
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca optimizada para GPU y scripts de referencia para entrenar grandes modelos Transformer con paralelismo multidimensional.
Una biblioteca de optimización de deep learning que facilita y hace más eficiente el entrenamiento distribuido y la inferencia de modelos grandes.
Sistema de entrenamiento e inferencia distribuidos, basado en PyTorch, para modelos grandes de IA, con paralelismo, optimización de memoria y entrenamiento heterogéneo.
Framework de deep learning basado en PyTorch que automatiza los ciclos de entrenamiento, el escalado a varias GPU y el código de soporte, sin quitarte el control del modelo.
Una biblioteca optimizada de Microsoft para entrenar y servir modelos Mixture-of-Experts en PyTorch, con inferencia de baja precisión para modelos como DeepSeek, Qwen y GLM.