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

Pipeline Parallelism

El paralelismo de tuberías distribuye las capas consecutivas de un modelo entre distintas GPU y procesa minilotes en flujo a través de ellas, para poder entrenar modelos que superan la capacidad de una sola GPU.

El paralelismo de canalización es una técnica de entrenamiento distribuido que divide una red neuronal por profundidad en grupos consecutivos de capas llamados etapas, coloca cada etapa en su propia GPU y pasa las activaciones de una etapa a la siguiente. Para mantener ocupadas todas las GPU, cada lote se divide en microlotes más pequeños que recorren las etapas como piezas en una cadena de montaje. También se denomina paralelismo de modelo entre capas. Los investigadores de Google dirigidos por Yanping Huang popularizaron el método de microlotes con GPipe en noviembre de 2018: entrenaron una AmoebaNet de 557 millones de parámetros hasta alcanzar un 84,4 % de precisión top-1 en ImageNet y un Transformer multilingüe de traducción de 6.000 millones de parámetros y 128 capas.

Microlotes y la burbuja de la canalización#

Con un lote cada vez, solo funciona una etapa mientras las demás esperan: la etapa 2 no puede empezar hasta que termine la etapa 1 y, durante la retropropagación, el orden se invierte. Los microlotes permiten que la etapa 1 empiece el segundo microlote en cuanto entrega el primero a la etapa 2. Los intervalos inactivos que quedan mientras la canalización se llena y se vacía se llaman burbuja. Si se imprime una planificación de pasada hacia delante al estilo de GPipe para 4 etapas y 6 microlotes, se observa esta forma:

stages, micro_batches = 4, 6
steps = micro_batches + stages - 1  # time steps until the last micro-batch leaves the last stage

for stage in range(stages):
    row = ""
    for t in range(steps):
        m = t - stage  # stage s starts micro-batch m once stage s-1 hands it over
        row += f" F{m}" if 0 <= m < micro_batches else "  ."
    print(f"GPU {stage}:{row}")

# Every stage idles for stages - 1 of the steps, in the forward and again in the backward pass
bubble = (stages - 1) / steps
print(f"Idle fraction: {bubble:.0%}")

La salida tiene forma de escalera: la GPU 0 ejecuta pasadas hacia delante de F0 a F5 durante los seis primeros de nueve pasos y después espera; la GPU 3 espera tres pasos antes de empezar F0, y la última línea muestra Idle fraction: 33%. La fracción de burbuja es (etapas − 1) / (microlotes + etapas − 1), así que 24 microlotes en las mismas 4 etapas la reducen al 11 %. Los gradientes de todos los microlotes se suman antes de un único paso del optimizador, con la misma operación que la acumulación de gradientes, por lo que la actualización equivale a entrenar con el lote completo. GPipe también descarta las activaciones dentro de cada etapa y las vuelve a calcular durante la pasada hacia atrás, una forma de punto de control de gradientes.

Planificaciones de canalización#

Las planificaciones posteriores reordenan el mismo trabajo para ahorrar memoria o reducir la burbuja:

  • 1F1B: Introducido por el sistema PipeDream en 2018, alterna un microlote hacia delante y uno hacia atrás por etapa una vez que la canalización está llena. Así, cada etapa conserva activaciones como máximo para tantos microlotes como etapas haya, en lugar de conservarlas para todos.
  • 1F1B intercalado: Asigna a cada GPU varias etapas más pequeñas y no adyacentes. El equipo Megatron-LM de NVIDIA informó de un aumento del rendimiento superior al 10 % con este método y entrenó un modelo de un billón de parámetros a 502 petaFLOP/s en 3.072 GPU, un 52 % del máximo.
  • Burbuja cero: Divide la pasada hacia atrás en el gradiente de la entrada de la etapa, que necesita la etapa anterior, y el gradiente de los pesos, que puede ocupar intervalos inactivos más adelante. Supera el rendimiento de 1F1B hasta en un 23 % con un presupuesto de memoria similar.

PyTorch ofrece estas opciones como ScheduleGPipe, Schedule1F1B, ScheduleInterleaved1F1B, ScheduleInterleavedZeroBubble y ScheduleDualPipeV en su API de canalización, que también divide un modelo en etapas. DualPipe procede de DeepSeek-V3, cuyo equipo ejecutó 16 etapas de canalización y lo utilizó para solapar el cálculo con la comunicación y reducir la burbuja.

Dónde encaja el paralelismo de canalización#

Las etapas solo intercambian las activaciones de sus límites, una vez por microlote, así que el paralelismo de canalización tolera mejor los enlaces más lentos entre servidores que el paralelismo de tensores, que se comunica dentro de cada capa. Por eso, las ejecuciones de entrenamiento a gran escala los combinan. Meta entrenó Llama 3 405B con paralelismo de tensores de 8 vías dentro de cada servidor de 8 GPU, 16 etapas de canalización entre servidores y paralelismo de datos en 64 a 128 réplicas; los motores de inferencia, como vLLM, utilizan la misma división cuando un modelo de lenguaje grande (LLM) necesita más de un nodo. La etapa más lenta marca el ritmo de toda la canalización, y las primeras y últimas etapas de un modelo de lenguaje también contienen la tabla de embeddings y la capa de salida, por lo que Llama 3 asignó una capa Transformer menos a cada una.

Los enfoques relacionados dividen el trabajo de otras formas:

  • Paralelismo de tensores: Divide las matrices de pesos dentro de cada capa, de modo que todas las GPU participan en todas las capas.
  • Paralelismo de contexto: Divide una secuencia de entrada larga entre varias GPU.
  • Aprendizaje dividido: También divide una red por profundidad, pero entre organizaciones, de modo que el propietario de los datos nunca envía datos sin procesar al servidor que ejecuta las capas posteriores.

El paralelismo de datos mantiene todas las capas en cada GPU y, en su lugar, divide el lote; es todo lo que necesita un modelo cuando cabe en un solo dispositivo. Así entrena Ultralytics YOLO26 en varias GPU: con device=[0, 1, 2, 3] y batch=64 en modo de entrenamiento, cada GPU ejecuta el modelo completo de detección de objetos con 16 imágenes, y PyTorch DistributedDataParallel promedia los gradientes entre GPU después de cada pasada hacia atrás.

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