PyTorch 2.15 incorpora un backend renovado para NCCL, herramientas de diagnóstico y opciones para facilitar la recuperación si una GPU falla o se retrasa durante el trabajo distribuido.
***
- La nueva implementación establece un comunicador por grupo de procesos para reducir interferencias, bloqueos intermitentes y rendimientos impredecibles.
- Una grabadora de vuelo conserva instantáneas de operaciones para ayudar a investigar errores que antes podían terminar en mensajes genéricos.
- PyTorch 2.15 también suma una API de transporte asíncrono y mejoras relacionadas con Apple y las GPU Blackwell de Nvidia.
PyTorch 2.15 busca evitar que una GPU defectuosa detenga todo el entrenamiento
Una GPU que falla o se queda rezagada puede complicar el entrenamiento de modelos de inteligencia artificial cuando varias unidades trabajan coordinadas. PyTorch 2.15 aborda ese problema con un backend renovado para la biblioteca de comunicaciones NCCL de Nvidia, además de herramientas para diagnosticar fallos y facilitar la recuperación del trabajo distribuido.
El cambio apunta a una dificultad operativa concreta: los problemas de comunicación entre GPU pueden provocar bloqueos o exigir que los equipos reinicien un proceso completo. La nueva versión ofrece una base distinta para gestionar esas comunicaciones y permitir que un orquestador externo retire una unidad rezagada o asigne un trabajador de reemplazo, según explicó The Register.
Una nueva arquitectura para la comunicación entre GPU
NCCL, sigla de Nvidia Collective Communications Library y pronunciada «Nickel», proporciona primitivas para que las GPU intercambien información dentro de una misma máquina o entre nodos de un clúster. Esas comunicaciones resultan importantes en el entrenamiento de redes neuronales grandes, porque los trabajadores comparten datos como tensores, gradientes, activaciones y pesos mientras ejecutan sus tareas.
PyTorch ya ofrecía una interfaz con NCCL mediante el componente ProcessGroupNCCL, pero su implementación anterior podía crear decenas de comunicadores por grupo de procesos. Esa multiplicidad, de acuerdo con la información publicada, contribuía a bloqueos intermitentes y a un rendimiento impredecible; la versión 2.15 introduce una regla más estricta: cada grupo obtiene un solo comunicador durante su inicialización.
El diseño reduce por defecto la interferencia entre comunicadores y la complejidad asociada a su administración. Si una aplicación necesita paralelismo, deberá distribuirlo en más grupos de procesos, una decisión que plantea una organización más explícita del trabajo en lugar de permitir que un grupo acumule múltiples comunicadores.
Tristan Rice, desarrollador principal de PyTorch e ingeniero de software de Meta especializado en computación distribuida, describió la antigua interfaz como una parte del sistema afectada por deuda técnica. Durante una transmisión en vivo el jueves, Rice dijo que la reescritura ofrece a los desarrolladores una base más limpia para incorporar futuras capacidades; por ahora, la implementación anterior seguirá disponible como alternativa en la versión 2.15.
Diagnóstico y recuperación ante rezagos
Uno de los objetivos de la actualización es hacer más manejable el caso de una GPU que falla o tarda demasiado en responder. El backend renovado facilita la reconfiguración para que un orquestador de terceros pueda excluir al trabajador rezagado y, si cuenta con esa capacidad, asignar otro en su lugar, en vez de tratar todo el grupo como una unidad irrecuperable.
La noticia no sostiene que PyTorch pueda reemplazar por sí solo cualquier GPU defectuosa ni que todos los trabajos continúen automáticamente después de una falla. La recuperación depende de la coordinación con ese orquestador externo, pero la nueva arquitectura busca facilitar el proceso al reducir la complejidad de la comunicación y permitir que el sistema reconfigure a los trabajadores.
PyTorch 2.15 también incorpora una «grabadora de vuelo» que registra operaciones en una serie de instantáneas. Los administradores pueden inspeccionar esa información después de un problema y revisar qué ocurría antes de un bloqueo, una espera agotada por tiempo o un deadlock, en lugar de depender únicamente de un mensaje genérico que no indique con claridad dónde comenzó la falla.
Ese registro apunta a convertir los incidentes difíciles de reconstruir en evidencia que los equipos puedan analizar. En clústeres donde varias GPU intercambian datos continuamente, conocer la secuencia de operaciones previa al error puede ayudar a identificar el origen del atasco, aunque la fuente no especifica que la herramienta resuelva por sí misma los problemas ni que evite todos los reinicios.
Por qué NCCL importa en los sistemas de IA
PyTorch combina capacidades de computación numérica con herramientas para construir y entrenar redes neuronales en CPU y GPU. Cuando ese trabajo se reparte entre varias unidades, estas deben intercambiar información; por eso la comunicación no es un detalle secundario, sino parte de la operación necesaria para que un entrenamiento distribuido avance de forma coordinada.
Una pila de red estándar basada en TCP puede generar cuellos de botella en grandes clústeres de GPU, señala el artículo de The Register. NCCL ofrece rutas de comunicación optimizadas para mover datos entre las unidades y reducir la carga de la CPU, una función que cobra importancia cuando los modelos y las tareas requieren intercambios frecuentes entre múltiples trabajadores.
Nvidia presentó NCCL inicialmente en SC15 como un acelerador de propósito general, y Facebook la adoptó cuando comenzó a construir PyTorch en 2016. El marco nació con la intención de ofrecer una versión basada en Python de Torch, una biblioteca de aprendizaje automático escrita en Lua; desde entonces, la comunicación entre dispositivos se convirtió en una pieza central de su uso distribuido.
El alcance de PyTorch ayuda a explicar por qué una modificación de este backend tiene interés para los equipos de IA. Will Stewart, cofundador del proveedor de software de IA Northflank, señaló en una publicación de blog que laboratorios como OpenAI, DeepMind, Meta y Nvidia utilizan PyTorch para distintos trabajos, entre ellos modelos de difusión, grandes modelos de lenguaje, sistemas de recomendación y robótica.
Más cambios en la versión y lo que sigue
La actualización incorpora además una nueva API de transporte de Python para mover datos de manera unidireccional y asíncrona. La función puede resultar útil en trabajos de entrenamiento donde se sincronizan pesos entre entrenadores y generadores, aunque la información disponible no detalla ejemplos de rendimiento ni cuantifica cuánto tiempo podría ahorrar.
PyTorch 2.15 también incluye mejoras de procesamiento paralelo para equipos Apple y soporte para las próximas GPU Blackwell de Nvidia. La fuente no ofrece cifras de desempeño para estas mejoras, por lo que su alcance se describe como parte de la compatibilidad y el trabajo de optimización de la nueva versión, no como una garantía de aceleración específica.
El lanzamiento reúne 3.117 commits de 583 colaboradores, una cifra que refleja la amplitud de los cambios incluidos en la versión. Entre ellos, la renovación de ProcessGroupNCCL destaca por atender una pieza de infraestructura que conecta los dispositivos durante el entrenamiento, además de sentar una base que sus responsables consideran más sencilla de ampliar.
La implementación heredada permanece como opción de reversión dentro de PyTorch 2.15, lo que permite mantener una alternativa mientras los equipos prueban el backend nuevo. Si este funciona según lo esperado, la versión anterior se retirará en PyTorch 2.16, prevista para principios de 2027; la hoja de ruta, por tanto, condiciona el cambio definitivo al desempeño observado en esta etapa.
ADVERTENCIA: DiarioBitcoin ofrece contenido informativo y educativo sobre diversos temas, incluyendo criptomonedas, IA, tecnología y regulaciones. No brindamos asesoramiento financiero. Las inversiones en criptoactivos son de alto riesgo y pueden no ser adecuadas para todos. Investigue, consulte a un experto y verifique la legislación aplicable antes de invertir. Podría perder todo su capital.
Suscríbete a nuestro boletín
Artículos Relacionados
Hardware
Nagare Labs promete unir la velocidad de SRAM y la densidad de DRAM con Z2RAM
IA
CheMeleon: el modelo del MIT que predice propiedades moleculares con pocos datos
Energía
El Senado de EE. UU. evalúa acelerar permisos energéticos y reabre el debate ambiental
Empresas
