Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Tamaño del lote (Batch Size)

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.

El tamaño del lote es un hiperparámetro fundamental en el aprendizaje automático que determina el número de muestras de datos de entrenamiento procesadas modelo actualice sus parámetros internos. En lugar de analizar todo un conjunto de datos a la vez -lo que a menudo es computacionalmente computacionalmente imposible debido a las limitacionesde memoria. dividen los datos en grupos más pequeños llamados lotes. Esta división determina la estabilidad del proceso de aprendizaje aprendizaje, la velocidad de cálculo y la cantidad de memoria que necesita el sistema. GPU durante el entrenamiento. La elección del entre la eficiencia computacional y la calidad de la convergencia del modelo. convergencia del modelo.

Impacto en la dinámica de formación

La selección de un tamaño de lote altera fundamentalmente la forma en que aprende una red neuronal. una red neuronal. Cuando el tamaño del lote a un valor inferior, el modelo actualiza sus pesos del modelo con más frecuencia, introduciendo ruido en en el proceso de descenso gradiente. Este ruido puede ser puede ser beneficioso, ya que a menudo ayuda al algoritmo de a menudo ayuda al algoritmo de optimización a escapar de los mínimos locales y encontrar soluciones más robustas, lo que ayuda a evitar el sobreajuste. a evitar el sobreajuste. A la inversa, los lotes de mayor tamaño proporcionan una estimación más precisa del gradiente, lo que conduce a actualizaciones más suaves y estables, aunque requieren requieren mucha más memoria de hardware y a veces pueden dar lugar a una "brecha de generalización", en la que el modelo en la que el modelo funciona bien con los datos de entrenamiento, pero menos eficazmente con los datos no vistos.

Las capacidades del hardware suelen dictar el límite superior de este parámetro. Los aceleradores de hardware modernos, como los detallados en la guía de rendimiento de aprendizaje profundo deNVIDIA, se basan en la computación paralela para procesar grandes bloques de datos simultáneamente. Por lo tanto, el uso de un tamaño de lote que se alinee con la arquitectura del procesador -por lo general, potencias de dos, como 32, 64 o 128- puede maximizar el rendimiento y reducir el tiempo total de entrenamiento por época. época.

Aplicaciones en el mundo real

Entender cómo afinar este parámetro es esencial para implantar soluciones de IA eficaces en distintos sectores. sectores.

  1. Imágenes médicas de alta resolución: En AI en la atención sanitaria, a menudo se encarga a los modelos el análisis detallado de tomografías computarizadas o resonancias magnéticas para identificar anomalías como tumores. análisis detallados de tomografías computarizadas o resonancias magnéticas para identificar anomalías como tumores. El tamaño de los archivos de estas imágenes es enorme. Intentar procesar muchas de ellas simultáneamente excedería la memoria de vídeo (VRAM) incluso del hardware más potente. más potente. En consecuencia, los profesionales utilizan un tamaño de lote muy pequeño (por ejemplo, 1 ó 2) para facilitar análisis de imágenes médicas sin colapsar el sistema, dando prioridad a la capacidad de manejar datos de alta fidelidad sobre la velocidad de entrenamiento en bruto.
  2. Inspección de fabricación en tiempo real: Por el contrario, en fabricación inteligente, la velocidad es crítica. Un sistema automatizado de inspección visual en una cinta transportadora puede capturar miles de imágenes de placas de circuitos por hora. por hora. Durante la fase de inferencia (detección de defectos en la producción), los sistemas podrían utilizar inferencias por lotes para agrupar las imágenes entrantes y procesarlas en paralelo. Esto maximiza el rendimiento del sistema de del sistema de visión por ordenador, garantizando que de la línea de producción.

Configuración del tamaño de los lotes con Ultralytics

Al utilizar el Paquete Ultralytics Pythonconfigurar el tamaño del lote es sencilla. La dirección batch permite especificar exactamente cuántas imágenes debe ver el modelo debe ver antes de actualizar los pesos. Si se establece en -1la biblioteca también puede utilizar un Función AutoBatch para determinar automáticamente el tamaño máximo de lote que su hardware puede soportar.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)

Distinguir conceptos relacionados

Es importante que los profesionales distingan el "tamaño de lote" de la terminología similar que se encuentra en los marcos de aprendizaje profundo. marcos de aprendizaje profundo.

  • Tamaño de lote frente a época: Una época representa una pasada completa por todo el conjunto de datos de entrenamiento. El tamaño del lote determina El tamaño del lote determina en cuántos trozos se dividen los datos dentro de esa única época. Por ejemplo, si tiene 1.000 muestras y un tamaño de lote de 100, se necesitarán 10 iteraciones para completar una época.
  • Tamaño del lote frente a normalización del lote: Aunque comparten nombre, la normalización por lotes es una técnica para normalizar las entradas de las capas con el fin de mejorar la estabilidad. Aunque la eficacia de la normalización por lotes puede puede depender del tamaño del lote (que requiere un lote suficientemente grande para calcular estadísticas precisas), es un componente estructural de la arquitectura de red, no sólo un componente estructural de la arquitectura de red. componente estructural de la arquitectura de la red, no sólo una configuración de entrenamiento.
  • Formación vs. Inferencia por lotes: Durante la formación, el objetivo es aprender los pesos. En Durante la inferencia, el procesamiento por lotes es una mera optimización de la velocidad. Para aplicaciones sensibles a la latencia, como vehículos autónomos, se suele utilizar un tamaño de lote de 1 para obtener una respuesta inmediata, mientras que tareas de análisis de datos pueden utilizar lotes grandes para procesar secuencias de vídeo históricas durante la noche.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora