Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Tamanho do Lote

Saiba como o tamanho do lote afeta a velocidade e a precisão do treinamento de aprendizado de máquina. Explore as restrições de hardware e otimize Ultralytics usando o AutoBatch.

No domínio da aprendizagem automática e particularmente da aprendizagem profunda, o tamanho do lote refere-se ao número de exemplos de treino utilizados numa iteração do treino do modelo. Em vez de alimentar todos os dados de treino na rede neural de uma só vez — o que muitas vezes é computacionalmente impossível devido a restrições de memória —, o conjunto de dados é dividido em subconjuntos menores chamados lotes. O modelo processa um lote, calcula o erro e atualiza os seus pesos internos através da retropropagação antes de passar para o próximo lote. Este hiperparâmetro desempenha um papel fundamental na determinação da velocidade do treino e da estabilidade do processo de aprendizagem .

A dinâmica do treinamento com lotes

A escolha do tamanho do lote altera fundamentalmente a forma como o algoritmo de otimização, normalmente uma variante do descida do gradiente estocástico, navega pelo panorama de perdas.

  • Tamanhos de lotes pequenos: usar um número pequeno (por exemplo, 8 ou 16) resulta em atualizações "ruidosas". Embora a estimativa do gradiente seja menos precisa para o conjunto de dados como um todo, esse ruído às vezes pode ajudar o modelo a escapar de mínimos locais, levando potencialmente a uma melhor generalização. No entanto, lotes menores exigem mais atualizações por época, o que pode tornar o treinamento mais lento em termos de tempo real devido à sobrecarga.
  • Grandes tamanhos de lote: um lote maior (por exemplo, 128 ou 256) fornece uma estimativa mais precisa do gradiente, levando a uma convergência mais suave da função de perda. Isso permite uma paralelização massiva em hardware moderno, acelerando significativamente o cálculo. No entanto, se o lote for muito grande, o modelo pode se estabelecer em mínimos acentuados e subótimos, levando ao sobreajuste e à redução da capacidade de generalização para novos dados.

Implicações de hardware e memória

Os profissionais muitas vezes precisam selecionar um tamanho de lote com base nas limitações de hardware, em vez de uma preferência puramente teórica. Os modelos de deep learning, especialmente arquiteturas grandes como transformadores ou redes convolucionais avançadas, são armazenados na VRAM de um GPU.

Ao utilizar NVIDIA CUDA para aceleração, a VRAM deve conter os parâmetros do modelo, o lote de dados de entrada e as saídas de ativação intermediárias necessárias para o cálculo do gradiente. Se o tamanho do lote exceder a memória disponível, o treinamento irá travar com um erro de "Memória insuficiente" (OOM). Técnicas como o treinamento de precisão mista são frequentemente empregadas para reduzir o uso de memória, permitindo tamanhos de lote maiores no mesmo hardware.

Distinguir conceitos relacionados

Para configurar o treino de forma eficaz, é essencial distinguir o tamanho do lote de outros termos temporais no ciclo de treino .

  • Tamanho do lote vs. Época: Uma época representa uma passagem completa por todo o conjunto de dados de treino. O tamanho do lote determina em quantos pedaços os dados são divididos nessa época. Por exemplo, se tiver 1.000 imagens e um tamanho de lote de 100, serão necessárias 10 iterações para completar uma época.
  • Tamanho do lote vs. iteração: Uma iteração (ou etapa) é o ato de processar um lote e atualizar os pesos. O número total de iterações no treinamento é o número de lotes por época multiplicado pelo número total de épocas.
  • Tamanho do lote vs. Normalização do lote: Embora tenham o mesmo nome, a Normalização do lote é um tipo específico de camada que normaliza as entradas da camada com base na média e na variância do lote atual. Essa técnica depende muito do tamanho do lote; se o tamanho do lote for muito pequeno (por exemplo, 2), as estimativas estatísticas tornam-se pouco confiáveis, podendo prejudicar o desempenho.

Aplicações no Mundo Real

Ajustar o tamanho do lote é uma necessidade rotineira ao implementar soluções de visão computacional em vários setores.

  1. Imagem médica de alta fidelidade: No campo da IA na área da saúde, os profissionais costumam trabalhar com dados volumétricos 3D, como ressonâncias magnéticas ou tomografias computadorizadas. Esses ficheiros são incrivelmente densos e consomem muita memória. Para realizar tarefas como análise de imagens médicas ou segmentação complexa de imagens sem travar o sistema, os engenheiros costumam reduzir o tamanho do lote para um número muito pequeno, às vezes até mesmo um lote de 1. Aqui, a prioridade é processar detalhes de alta resolução, em vez da velocidade bruta de treinamento.
  2. Controlo de qualidade industrial: Por outro lado, na IA na fabricação, a velocidade é fundamental. Os sistemas automatizados que inspecionam produtos em uma esteira transportadora precisam processar milhares de imagens por hora. Durante a inferência, os engenheiros podem agregar as imagens recebidas das câmaras em lotes maiores para maximizar a utilização dos dispositivos de IA de ponta, garantindo alto rendimento para a deteção de defeitos em tempo real .

Configurando o tamanho do lote em Python

Ao utilizar o PacotePython Ultralytics, definir o tamanho do lote é simples. Pode especificar um número inteiro fixo ou usar o dinâmico batch=-1 configuração, que utiliza o Funcionalidade AutoBatch para calcular automaticamente o tamanho máximo do lote que o seu hardware pode processar com segurança.

O exemplo a seguir demonstra como treinar um modelo YOLO26— o mais recente padrão em velocidade e precisão — usando uma configuração 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 gerir experiências em grande escala e visualizar como diferentes tamanhos de lote afetam as suas métricas de treino, ferramentas como a Ultralytics fornecem um ambiente abrangente para registar e comparar execuções. O ajuste adequado dos hiperparâmetros do tamanho do lote é frequentemente o passo final para obter o melhor desempenho do seu modelo.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora