Descubra el impacto del tamaño del lote en el aprendizaje profundo. Optimice la velocidad de entrenamiento, el uso de la memoria y el rendimiento del modelo de forma eficiente.
En el ámbito del aprendizaje automático y , en particular, del aprendizaje profundo, el tamaño del lote se refiere al número de ejemplos de entrenamiento utilizados en una iteración del entrenamiento del modelo. En lugar de introducir todos los datos de entrenamiento en la red neuronal de una sola vez, lo que a menudo es computacionalmente imposible debido a las limitaciones de memoria, el conjunto de datos se divide en subconjuntos más pequeños llamados lotes. El modelo procesa un lote, calcula el error y actualiza sus ponderaciones internas mediante retropropagación antes de pasar al siguiente lote. Este hiperparámetro desempeña un papel fundamental a la hora de determinar tanto la velocidad del entrenamiento como la estabilidad del proceso de aprendizaje .
La elección del tamaño del lote altera fundamentalmente la forma en que el algoritmo de optimización, normalmente una variante del descenso del gradiente estocástico, navega por el panorama de pérdidas.
Los profesionales a menudo deben seleccionar un tamaño de lote basado en las limitaciones del hardware en lugar de en una preferencia puramente teórica. Los modelos de aprendizaje profundo, especialmente las arquitecturas grandes como los transformadores o las redes convolucionales avanzadas, se almacenan en la VRAM de un GPU.
Al utilizar NVIDIA CUDA para la aceleración, la VRAM debe contener los parámetros del modelo, el lote de datos de entrada y las salidas de activación intermedias necesarias para el cálculo del gradiente. Si el tamaño del lote excede la memoria disponible, el entrenamiento se bloqueará con un error de «memoria insuficiente» (OOM). A menudo se emplean técnicas como el entrenamiento de precisión mixta para reducir el uso de memoria, lo que permite tamaños de lote más grandes en el mismo hardware.
Para configurar el entrenamiento de manera eficaz, es esencial distinguir el tamaño del lote de otros términos temporales en el bucle de entrenamiento .
Ajustar el tamaño del lote es una necesidad habitual al implementar soluciones de visión artificial en diversos sectores.
Al utilizar el Paquete Ultralytics Python, establecer el tamaño del lote
es sencillo. Puede especificar un número entero fijo o utilizar el batch=-1 configuración, que utiliza
el Función AutoBatch para calcular automáticamente
el tamaño máximo de lote que su hardware puede manejar de forma segura.
El siguiente ejemplo muestra cómo entrenar un modelo YOLO26(el último estándar en velocidad y precisión) utilizando una configuración de lote específica.
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# batch=16 is manually set.
# Alternatively, use batch=-1 for auto-tuning based on available GPU memory.
results = model.train(data="coco8.yaml", epochs=5, batch=16)
Para gestionar experimentos a gran escala y visualizar cómo los diferentes tamaños de lotes afectan a las métricas de entrenamiento, herramientas como la Ultralytics proporcionan un entorno completo para registrar y comparar ejecuciones. El ajuste adecuado de los hiperparámetros del tamaño del lote suele ser el paso final para sacar el máximo rendimiento al modelo.