Ultralytics YOLO27:
Volver al glosario de Ultralytics

Gradient Accumulation

Aprende cómo la acumulación de gradientes permite utilizar tamaños de lote efectivos mayores con una memoria GPU limitada, con orientación práctica sobre PyTorch y el entrenamiento de Ultralytics YOLO.

La acumulación de gradientes es una técnica de entrenamiento que suma los gradientes de varios lotes pequeños, denominados microlotes, antes de realizar una única actualización de los pesos del modelo. Aproxima el entrenamiento con un tamaño de lote mayor cuando la memoria disponible de la GPU no puede contener el lote completo de una vez. Esto permite utilizar el descenso de gradiente, que consume mucha memoria, sin 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, utilizar la retropropagación para calcular los gradientes y dejar que el optimizador actualice los pesos del modelo. A continuación, los gradientes se borran antes del siguiente lote.

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

Después del número configurado de pasos de acumulación:

  1. El optimizador actualiza los pesos del modelo.
  2. Los gradientes se restablecen 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 GPU, el tamaño de lote efectivo global pasa a ser de 128.

Efectos en la memoria, la velocidad y el aprendizaje#

La acumulación de gradientes reduce la memoria máxima necesaria para las activaciones, ya que solo un microlote atraviesa la red cada 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 delante y hacia atrás, y los lotes más pequeños pueden utilizar la GPU de forma menos eficiente. La principal ventaja es poder introducir un lote efectivo del tamaño deseado en una memoria limitada. También puede ofrecer una ventaja secundaria en el entrenamiento distribuido, donde las implementaciones pueden evitar sincronizar los gradientes hasta el final de una ventana de acumulación mediante funciones como DistributedDataParallel no_sync.

Una implementación manual suele dividir 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 aproximar el comportamiento de un lote grande real, pero los resultados no siempre son idénticos. Las estadísticas de normalización por lotes se calculan a partir de microlotes individuales, mientras que las operaciones estocásticas y el orden de las operaciones en coma flotante también pueden introducir diferencias. Por tanto, es posible que la tasa de aprendizaje deba validarse en lugar de escalarse automáticamente.

Técnicas relacionadas y diferencias clave#

La acumulación de gradientes suele confundirse con otras técnicas de memoria o estabilidad:

  • La recomputación de activaciones reduce la memoria de activaciones al volver a calcular operaciones seleccionadas de la pasada hacia delante durante la retropropagación. La documentación de PyTorch sobre la recomputación de activaciones describe esta compensación entre computación y memoria. En cambio, la acumulación divide un lote grande en microlotes más pequeños.
  • La precisión mixta almacena o calcula determinadas operaciones con tipos de datos de menor precisión. Puede reducir el consumo de memoria y mejorar el rendimiento, mientras que la acumulación cambia la frecuencia con la que el optimizador realiza actualizaciones. Ambas técnicas pueden combinarse siguiendo el flujo de trabajo de acumulación con precisión mixta automática correcto.
  • El recorte de gradientes limita la magnitud de los gradientes para reducir la inestabilidad provocada por actualizaciones inusualmente grandes. No crea un lote efectivo mayor. Al combinarlo con la acumulación, el recorte debería realizarse normalmente después de haber acumulado completamente el gradiente, mediante 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 admitir solo dos exploraciones grandes a la vez. Acumular gradientes durante ocho microlotes produce un lote efectivo de 16 y conserva la resolución necesaria para identificar estructuras anatómicas pequeñas. La contrapartida es un intervalo más largo entre las actualizaciones del optimizador.

Para la detección de objetos aéreos, un equipo de ingeniería podría entrenar en cuatro GPU 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 en escenas que contienen muchos vehículos o edificios pequeños, 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 mediante el entrenamiento en la nube de Ultralytics Platform.

Acumulación de gradientes con Ultralytics YOLO#

El flujo de trabajo de entrenamiento de modelos de Ultralytics deriva el comportamiento de la acumulación a partir de los ajustes físico batch y nominal nbs. Con batch=4 y nbs=64, el entrenador tiene como objetivo un lote nominal de 64 al posponer las actualizaciones del optimizador durante varios 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 el borrado de gradientes. Su comportamiento está documentado en la referencia de BaseTrainer de Ultralytics. 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 número de dispositivos.

Explore solutions

Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite 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

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

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con 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 conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

Lleva la IA de visión a la agricultura inteligente con modelos de Ultralytics YOLO. Impulsa la supervisión de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas mayores e inteligentes.
Más información
Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite 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

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

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con 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 conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

Lleva la IA de visión a la agricultura inteligente con modelos de Ultralytics YOLO. Impulsa la supervisión de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas mayores e inteligentes.
Más información
Visión por computadora para imágenes aéreas

Visión por computadora para imágenes aéreas

Transforma imágenes de drones y aéreas en información en tiempo real para agricultura, acuicultura, supervisión ambiental, conservación y análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en la industria aeroespacial

Visión artificial en la industria aeroespacial

Lleva la IA de visión al monitoreo aéreo con los modelos Ultralytics YOLO. Potencia drones, flujos de trabajo aeroespaciales, conservación ambiental e industrias geoespaciales con soluciones de visión artificial.
Más información

Protege cada sitio con los modelos Ultralytics YOLO. La IA de visión potencia el monitoreo perimetral, la detección de amenazas, el reconocimiento de matrículas y la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Impulsa máquinas más inteligentes con los modelos de Ultralytics YOLO. La IA de visión en robótica permite 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

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

Visión artificial en comercio minorista

Reinventa el comercio minorista con los modelos de Ultralytics YOLO. La IA de visión impulsa el seguimiento del inventario, la supervisión de estanterías, la gestión de colas y un conocimiento más inteligente de los clientes.
Más información
Visión por computador en el sector sanitario

Visión por computador en el sector sanitario

Crea soluciones sanitarias con modelos de Ultralytics YOLO. La IA de visión en el sector sanitario permite obtener imágenes médicas más rápidamente, diagnósticos más inteligentes y supervisar a los pacientes.
Más información
Visión por computador en la fabricación

Visión por computador en la fabricación

Optimiza la fabricación con modelos de Ultralytics YOLO. La IA de visión impulsa el control de calidad, la detección de defectos, el cumplimiento del PPE y la automatización de las líneas de montaje.
Más información
Visión artificial en el sector automovilístico

Visión artificial en el sector automovilístico

Aplica visión artificial en el sector automovilístico con 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 conseguir carreteras más inteligentes.
Más información
Visión artificial en agricultura

Visión artificial en agricultura

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

¡Construyamos juntos el futuro de la IA!

Comienza tu recorrido hacia el futuro del aprendizaje automático