Glosario

Tamaño del lote

Descubre el impacto del tamaño del lote en el aprendizaje profundo. Optimiza eficazmente la velocidad de entrenamiento, el uso de memoria y el rendimiento del modelo.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

En el aprendizaje automático, especialmente cuando se entrenan modelos de aprendizaje profundo, el tamaño del lote se refiere al número de ejemplos de entrenamiento procesados en una sola iteración. El entrenamiento de grandes modelos en conjuntos de datos masivos, común en campos como la visión por ordenador, a menudo hace que el procesamiento de todo el conjunto de datos a la vez sea inviable computacionalmente debido a las limitaciones de memoria. En su lugar, los datos se dividen en grupos más pequeños y manejables o "lotes". Los parámetros internos del modelo se actualizan después de procesar cada lote, lo que hace que el proceso de entrenamiento sea más eficaz y escalable.

Importancia del tamaño del lote

El tamaño del lote es un hiperparámetro crítico que influye significativamente en la dinámica de entrenamiento, la utilización de recursos y, en última instancia, el rendimiento del modelo final. Sus efectos incluyen:

  • Velocidad de entrenamiento: Los lotes de mayor tamaño pueden utilizar más eficazmente las capacidades de procesamiento paralelo de hardware como las GPU, reduciendo potencialmente el tiempo necesario para completar una época (una pasada completa sobre los datos de entrenamiento). Esto se debe a una mejor utilización del hardware y a un menor número de actualizaciones de parámetros por época. Más información sobre conceptos de computación paralela.
  • Uso de memoria: El tamaño del lote influye directamente en la cantidad de memoriaCPU RAMCPU o VRAM GPU ) necesaria. Los lotes más grandes necesitan más memoria para almacenar los datos, las activaciones y los gradientes durante el entrenamiento. Las técnicas para optimizar el uso de la memoria son cruciales cuando se trabaja con lotes de gran tamaño o con hardware limitado.
  • Generalización del modelo: La elección del tamaño del lote afecta al proceso de optimización y a la generalización del modelo. Los lotes más pequeños introducen más ruido en la estimación del gradiente utilizada en algoritmos como el Descenso Gradiente Estocástico (SGD). Este ruido puede actuar a veces como una forma de regularización, ayudando al modelo a escapar de los mínimos locales agudos y mejorando potencialmente su capacidad de generalización a datos no vistos, reduciendo así el sobreajuste. Por el contrario, loslotes más grandes proporcionan una estimación más precisa del gradiente global del conjunto de datos, pero pueden converger a mínimos más agudos, lo que a veces puede dificultar la generalización, como se discute en investigaciones como"On Large-Batch Training for Deep Learning".
  • Interacción con la tasa de aprendizaje: El tamaño del lote suele interactuar con la tasa de aprendizaje. Generalmente, los tamaños de lote más grandes permiten y a menudo se benefician de tasas de aprendizaje más altas. Los optimizadores como Adam pueden ayudar a gestionar estas interacciones.

Elegir el tamaño de lote adecuado

Seleccionar un tamaño de lote óptimo implica equilibrar la eficiencia computacional, las limitaciones de memoria y la generalización del modelo. No existe un "mejor" tamaño de lote universal; depende en gran medida del conjunto de datos específico (por ejemplo, el conjunto de datos COCO), la arquitectura del modelo (como los utilizados en Ultralytics YOLO) y los recursos de hardware disponibles. Las opciones habituales suelen estar comprendidas entre potencias de 2 (por ejemplo, 16, 32, 64, 128) debido a las optimizaciones de alineación de la memoria del hardware. Suelen ser necesarias la experimentación y técnicas como el ajuste de hiperparámetros. Frameworks como PyTorch y TensorFlow ofrecen flexibilidad para establecer el tamaño de los lotes.

Tamaño del lote frente a otros términos relacionados

Es importante distinguir el tamaño del lote de los conceptos relacionados:

  • Iteración/Paso: Una única actualización de los parámetros del modelo basada en el procesamiento de un lote de datos. Esto implica un paso hacia delante, un cálculo de pérdidas y un paso hacia atrás (retropropagación).
  • Época: Una pasada completa por todo el conjunto de datos de entrenamiento. Si un conjunto de datos tiene 1000 muestras y el tamaño del lote es 100, una época consta de 10 iteraciones (1000 / 100 = 10).
  • Descenso Gradiente Mini-Lotes: El enfoque de entrenamiento más habitual, en el que el tamaño del lote es mayor que 1 pero menor que el tamaño total del conjunto de datos. Esto contrasta con el Descenso Gradiente por Lotes (que utiliza todo el conjunto de datos, tamaño del lote = N) y el Descenso Gradiente Estocástico (que utiliza una sola muestra, tamaño del lote = 1). El término "tamaño de lote" suele referirse al tamaño utilizado en el descenso gradiente minilote. Más información sobre las variantes del descenso gradiente.

Aplicaciones en el mundo real

  • Detección de objetos: Al entrenar una Ultralytics YOLO para la Tarea de Detección de Objetos, el tamaño del lote determina cuántas imágenes se procesan simultáneamente. Entrenar YOLO11 en un gran conjunto de datos como ImageNet puede requerir ajustar el tamaño del lote en función de la memoria de GPU . Un tamaño de lote mayor (por ejemplo, 64) puede acelerar el entrenamiento por época en GPUs de gama alta, mientras que tamaños menores (por ejemplo, 16) podrían ser necesarios en dispositivos con menos memoria o podrían mejorar potencialmente la generalización. Plataformas como Ultralytics HUB pueden ayudar a gestionar y seguir estos experimentos de entrenamiento.
  • Procesamiento del Lenguaje Natural (PLN): Entrenar grandes modelos lingüísticos como BERT implica procesar secuencias de texto. El tamaño del lote afecta al número de secuencias que se procesan juntas. Dado que las secuencias pueden variar en longitud y los modelos son grandes, el uso de memoria es una preocupación importante. A menudo se utilizan técnicas como la acumulación de gradiente (procesar secuencialmente minilotes más pequeños antes de actualizar los parámetros) para simular lotes de mayor tamaño cuando la memoria es limitada. Explora los conceptos en los cursos de PNL.

Comprender y seleccionar cuidadosamente el tamaño del lote es fundamental para entrenar eficazmente los modelos de aprendizaje profundo. Para profundizar, considera recursos como la Especialización en Aprendizaje Profundo o explorar técnicas como la Normalización de Lotes, que a veces puede reducir la sensibilidad al tamaño del lote.

Leer todo