Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Distributed Training

El entrenamiento distribuido reparte el entrenamiento de modelos entre muchas GPU o máquinas mediante paralelismo de datos, por fragmentación, de tensores o de canalizaciones. Incluye DDP, FSDP y escalado.

El entrenamiento distribuido reparte el trabajo de entrenar un modelo entre varios procesadores, normalmente GPU o TPU en una máquina o en un clúster en la nube o local, para terminar antes el entrenamiento o poder entrenar un modelo que no cabe en la memoria de un único dispositivo. Los dispositivos intercambian gradientes, activaciones o fragmentos de parámetros a través de interconexiones rápidas mediante bibliotecas de comunicación como NVIDIA NCCL. Así se entrenan los modernos modelos fundacionales y modelos de lenguaje grandes, y también se acorta el entrenamiento cotidiano de detección de objetos en estaciones de trabajo con varias GPU.

Cómo funciona el entrenamiento distribuido#

El paralelismo de datos es la estrategia más habitual. Cada GPU contiene una réplica completa del modelo, procesa su propia parte de cada lote de datos de entrenamiento y participa en una operación all-reduce que promedia los gradientes para que cada réplica aplique la misma actualización de descenso del gradiente. DistributedDataParallel (DDP) de PyTorch solapa esa comunicación con la pasada hacia atrás. El tamaño global del lote es el tamaño del lote por GPU multiplicado por el número de GPU, así que normalmente hay que escalar la tasa de aprendizaje en consecuencia: Goyal et al. entrenaron ResNet-50 con ImageNet en una hora y en 256 GPU, con lotes de 8,192 imágenes, usando una regla de escalado lineal y una fase de calentamiento, con una eficiencia de escalado de alrededor del 90 % entre 8 y 256 GPU.

El paralelismo de datos con fragmentación reduce el coste de memoria de esas réplicas. ZeRO y Fully Sharded Data Parallel (FSDP) de PyTorch distribuyen los parámetros, los gradientes y los estados del optimizador entre las GPU, y reúnen todos los pesos de cada capa solo mientras se calcula esa capa; así, la memoria necesaria en cada GPU disminuye a medida que se añaden GPU.

El paralelismo de modelos divide la propia red neuronal. El paralelismo de tensores distribuye las multiplicaciones de matrices individuales entre las GPU; el paralelismo de tuberías asigna capas consecutivas a distintas GPU y transmite micro lotes a través de ellas; el paralelismo de contexto divide secuencias largas, y el paralelismo de expertos coloca los expertos de un modelo de mezcla de expertos en distintas GPU. Frameworks como Megatron-LM combinan estas técnicas con el paralelismo de datos para entrenar modelos con cientos de miles de millones de parámetros.

El entrenamiento con varias GPU en la práctica#

La comunicación es el principal coste adicional: el tráfico de all-reduce aumenta con el tamaño del modelo, por lo que las GPU conectadas mediante NVLink dentro de un nodo escalan mejor que los nodos conectados a través de redes más lentas. Las estadísticas de normalización por lotes se calculan en cada GPU, salvo que las capas se conviertan a normalización por lotes sincronizada; esto importa cuando el fragmento de lote de cada GPU es pequeño. Ultralytics YOLO26 ejecuta el entrenamiento con varias GPU mediante DDP: al pasar varios identificadores de dispositivo, se inicia un proceso por GPU con torch.distributed.run, se utiliza el backend NCCL en CUDA y se reparte por igual entre las GPU el valor de batch.

from ultralytics import YOLO

# Carga un modelo YOLO26 preentrenado
model = YOLO("yolo26n.pt")

# Entrena en las GPU 0 y 1 con DDP; batch=32 proporciona 16 imágenes a cada GPU en cada paso
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=32, device=[0, 1])

Aplicaciones en el mundo real#

  • Modelos de lenguaje grandes: Meta entrenó Llama 3 405B con hasta 16K GPU H100, combinando el paralelismo de tensores, de tuberías, de contexto y de datos en lo que sus autores denominan paralelismo 4D.
  • Vehículos autónomos: Los equipos de percepción entrenan modelos de detección y segmentación con grandes archivos de grabaciones de cámara, lidar y radar de flotas de vehículos, algo que solo resulta práctico en grandes clústeres de GPU.
  • Análisis de imágenes médicas: Los volúmenes de TC y RM 3D de alta resolución saturan la memoria de una sola GPU, y distribuir los lotes o los fragmentos del modelo entre varias GPU permite entrenar con volúmenes y modelos más grandes.
  • Aprendizaje federado: El aprendizaje federado también entrena en muchos dispositivos, pero, por privacidad, los datos permanecen en los teléfonos, los hospitales u otros clientes, y solo las actualizaciones del modelo viajan a un servidor central. El entrenamiento distribuido reúne los datos en un clúster para maximizar la velocidad.
  • Aprendizaje dividido: El aprendizaje dividido reparte un modelo entre un cliente y un servidor para que los datos sin procesar nunca salgan del cliente, a cambio de más comunicación y mayor privacidad.
  • Acumulación de gradientes: La acumulación de gradientes suma los gradientes de varios lotes pequeños antes de aplicar una actualización, para reproducir los cálculos de un lote grande en una sola GPU a costa de más tiempo; el paralelismo de datos, en cambio, procesa esos lotes simultáneamente en varias GPU.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático