YOLO Vision 2026:
Volver al glosario de Ultralytics

Gradient Accumulation

Aprende cómo la acumulación de gradientes permite tamaños de lote efectivos más grandes con memoria de GPU limitada, con orientación práctica de entrenamiento en PyTorch y Ultralytics YOLO.

La acumulación de gradientes es una técnica de entrenamiento que suma los gradientes de varios lotes pequeños, llamados microlotes, antes de realizar una única actualización de los pesos del modelo. Se aproxima al entrenamiento con un batch size mayor cuando la memoria disponible de la GPU no puede albergar el lote completo de una vez. Esto hace que el gradient descent, que consume mucha memoria, sea práctico sin necesidad de cambiar la arquitectura del modelo ni reducir la resolución de entrada.

Cómo funciona la acumulación de gradientes#

Durante el entrenamiento normal, cada lote sigue tres pasos principales: calcular la pérdida, usar la backpropagation para calcular los gradientes y dejar que el optimizador actualice los pesos del modelo. A continuación, los gradientes se limpian antes del siguiente lote.

La acumulación de gradientes retrasa la actualización del optimizador. Cada microlote realiza una pasada hacia adelante y hacia atrás, pero sus gradientes permanecen en la memoria y se suman a los de los microlotes posteriores. Este comportamiento se deriva de forma natural de la PyTorch backward operation, que acumula valores en el campo de gradiente de cada parámetro.

Tras el número configurado de pasos de acumulación:

  1. El optimizador actualiza los pesos del modelo.
  2. Los gradientes se reinician mediante una operación como Optimizer.zero_grad.
  3. Comienza una nueva ventana de acumulación.

El tamaño de lote efectivo es:

microbatch size x accumulation steps x number of training devices

Por ejemplo, un microlote de 4 imágenes acumulado durante 8 pasos se comporta aproximadamente como un lote de 32 imágenes en una GPU. Con cuatro GPUs, el tamaño de lote efectivo global pasa a ser 128.

Efectos sobre la memoria, la velocidad y el aprendizaje#

La acumulación de gradientes reduce la memoria máxima requerida para las activaciones porque solo un microlote pasa por la red a la vez. No reduce sustancialmente la memoria utilizada por los parámetros del modelo, los gradientes o el estado del optimizador.

Tampoco suele acelerar el entrenamiento. Procesar ocho microlotes sigue requiriendo ocho pasadas hacia adelante y hacia atrás, y los lotes más pequeños pueden utilizar la GPU de forma menos eficiente. El beneficio principal es ajustar un lote efectivo deseado en una memoria limitada. Un beneficio secundario puede darse en el distributed training, donde las implementaciones pueden evitar sincronizar los gradientes hasta el final de una ventana de acumulación utilizando funciones como DistributedDataParallel no_sync.

Una implementación manual divide comúnmente la pérdida de cada microlote entre el número de pasos de acumulación para que el gradiente resultante represente una media en lugar de una suma. Los entrenadores de alto nivel pueden gestionar la normalización automáticamente, por lo que aplicar un escalado adicional puede producir actualizaciones incorrectas.

La acumulación puede aproximarse a un lote grande real, pero los resultados no siempre son idénticos. Las Batch normalization statistics se calculan a partir de microlotes individuales, mientras que las operaciones estocásticas y el orden de los números en coma flotante también pueden introducir diferencias. Por lo tanto, el learning rate puede requerir validación en lugar de un escalado automático.

Técnicas relacionadas y diferencias clave#

La acumulación de gradientes se confunde a menudo con otras técnicas de memoria o estabilidad:

  • Gradient checkpointing reduce la memoria de activación recalculando operaciones seleccionadas de la pasada hacia adelante durante la retropropagación. La PyTorch activation checkpointing documentation describe este equilibrio entre computación y memoria. En su lugar, la acumulación divide un lote grande en microlotes más pequeños.
  • Mixed precision almacena o calcula operaciones seleccionadas con tipos de datos de menor precisión. Puede reducir la memoria y mejorar el rendimiento, mientras que la acumulación cambia la frecuencia con la que el optimizador se actualiza. Las técnicas se pueden combinar siguiendo el correcto automatic mixed precision accumulation workflow.
  • Gradient clipping limita la magnitud de los gradientes para reducir la inestabilidad debida a actualizaciones inusualmente grandes. No crea un lote efectivo mayor. Cuando se combina con la acumulación, el recorte debe realizarse normalmente después de que se haya acumulado el gradiente completo, utilizando una operación como clip_grad_norm.

Aplicaciones en el mundo real#

En la segmentación de imágenes médicas de alta resolución, una GPU de 12 GB puede albergar solo dos escaneos grandes a la vez. Acumular gradientes a lo largo de ocho microlotes produce un lote efectivo de 16 mientras se preserva la resolución necesaria para identificar estructuras anatómicas pequeñas. El inconveniente es un intervalo más largo entre las actualizaciones del optimizador.

Para la detección de objetos cenitales, un equipo de ingeniería podría entrenar en cuatro GPUs con seis imágenes por dispositivo y cuatro pasos de acumulación. El lote global efectivo es de 96 imágenes. Esto puede estabilizar las actualizaciones para escenas que contienen muchos vehículos pequeños o edificios, manteniendo cada dispositivo dentro de su límite de memoria. Los equipos pueden gestionar experimentos en la nube, conjuntos de datos y ejecuciones de entrenamiento a través de Ultralytics Platform cloud training.

Acumulación de gradientes con Ultralytics YOLO#

El model training workflow de Ultralytics deriva el comportamiento de acumulación de los ajustes físicos batch y nominales nbs. Con batch=4 y nbs=64, el entrenador apunta a un lote nominal de 64 aplazando las actualizaciones del optimizador en múltiples microlotes.

from ultralytics import YOLO

# Load a pretrained YOLO26 detection model
model = YOLO("yolo26n.pt")

# Use a small physical batch and a larger nominal batch
results = model.train(
    data="coco8.yaml",
    epochs=10,
    batch=4,
    nbs=64,
)

El entrenador de alto nivel gestiona la retropropagación, la acumulación, los pasos del optimizador y la limpieza de gradientes. Su comportamiento está documentado en la Ultralytics BaseTrainer reference. En la práctica, elige el microlote más grande que quepa de forma fiable, calcula el lote efectivo previsto y compara los resultados de validación al cambiar los pasos de acumulación, la tasa de aprendizaje o el recuento de dispositivos.

Explore solutions

Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión 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
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión 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
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información
Real-time AI that works with your team

IA en robótica

Potencia máquinas más inteligentes con modelos Ultralytics YOLO. La IA de visión 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
Real-time AI that works with your team

IA en logística

Optimiza la logística con los modelos de Ultralytics YOLO. La visión artificial por IA permite la inspección de paquetes, clasificación, seguimiento de vehículos y monitoreo de seguridad en almacenes en tiempo real.
Más información
Real-time AI that works with your team

IA en el sector minorista

Reimagina el comercio minorista con los modelos de Ultralytics YOLO. La visión artificial por IA potencia el seguimiento de inventario, el monitoreo de estantes, la gestión de colas y mejores perspectivas sobre los clientes.
Más información
Real-time AI that works with your team

IA en la atención sanitaria

Crea soluciones de salud con los modelos de Ultralytics YOLO. La IA de visión en la sanidad potencia imágenes médicas más rápidas, diagnósticos más inteligentes y supervisión de pacientes.
Más información
Real-time AI that works with your team

IA en la fabricación

Optimiza la fabricación con los modelos de Ultralytics YOLO. La visión artificial por IA impulsa el control de calidad, la detección de defectos, el cumplimiento del uso de PPE y la automatización de la línea de montaje.
Más información
Real-time AI that works with your operation

IA en automoción

Aplica la visión artificial en el sector automotriz con los modelos de Ultralytics YOLO. La IA de visión mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para carreteras más inteligentes.
Más información
Real-time AI tailored to your operation

IA en agricultura

Lleva la visión artificial a la agricultura inteligente con los modelos de Ultralytics YOLO. Potencia el seguimiento de cultivos, el control del ganado y la agricultura de precisión para obtener rendimientos mayores y más inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Comienza tu viaje con el futuro del aprendizaje automático