Узнайте о влиянии размера пакета (batch size) на глубокое обучение. Эффективно оптимизируйте скорость обучения, использование памяти и производительность модели.
В области машинного обучения и особенно глубокого обучения размер партии означает количество обучающих примеров, используемых в одной итерации обучения модели. Вместо того, чтобы загружать все обучающие данные в нейронную сеть сразу — что часто невозможно из-за ограничений памяти — набор данных делится на меньшие поднаборы, называемые партиями. Модель обрабатывает одну партию, вычисляет ошибку и обновляет свои внутренние веса модели с помощью обратного распространения, прежде чем перейти к следующей партии. Этот гиперпараметр играет ключевую роль в определении как скорости обучения, так и стабильности процесса обучения .
Выбор размера партии коренным образом меняет то, как алгоритм оптимизации, обычно вариант стохастического градиентного спуска, навигирует по ландшафту потерь.
Практики часто вынуждены выбирать размер партии, исходя из аппаратных ограничений, а не из чисто теоретических предпочтений. Модели глубокого обучения, особенно крупные архитектуры, такие как трансформеры или усовершенствованные сверточные сети, хранятся в VRAM GPU.
При использовании NVIDIA CUDA для ускорения, VRAM должна содержать параметры модели, пакет входных данных и промежуточные результаты активации, необходимые для вычисления градиента. Если размер пакета превышает доступную память, обучение завершится с ошибкой «Out of Memory» (OOM). Для уменьшения использования памяти часто применяются такие методы, как обучение со смешанной точностью, что позволяет использовать более крупные пакеты на том же аппаратном обеспечении.
Для эффективной настройки обучения необходимо отличать размер пакета от других временных терминов в цикле обучения .
Регулировка размера партии является рутинной необходимостью при внедрении решений компьютерного зрения в различных отраслях промышленности.
При использовании Пакет Ultralytics Python, установка размера пакета
не представляет сложности. Вы можете указать фиксированное целое число или использовать динамический batch=-1 настройка, которая использует
the Функция автозапуска для автоматического расчета
максимального размера пакета, который ваше оборудование может безопасно обработать.
Следующий пример демонстрирует, как обучить модель YOLO26— новейший стандарт скорости и точности — с использованием конкретной настройки пакета.
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)
Для управления крупномасштабными экспериментами и визуализации того, как различные размеры пакетов влияют на ваши метрики обучения, инструменты типа Ultralytics предоставляют комплексную среду для регистрации и сравнения запусков. Правильная настройка гиперпараметра размера пакета часто является последним шагом в извлечении максимальной производительности из вашей модели.