Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Batch Size (Размер пакета)

Узнайте о влиянии размера пакета (batch size) на глубокое обучение. Эффективно оптимизируйте скорость обучения, использование памяти и производительность модели.

В области машинного обучения и особенно глубокого обучения размер партии означает количество обучающих примеров, используемых в одной итерации обучения модели. Вместо того, чтобы загружать все обучающие данные в нейронную сеть сразу — что часто невозможно из-за ограничений памяти — набор данных делится на меньшие поднаборы, называемые партиями. Модель обрабатывает одну партию, вычисляет ошибку и обновляет свои внутренние веса модели с помощью обратного распространения, прежде чем перейти к следующей партии. Этот гиперпараметр играет ключевую роль в определении как скорости обучения, так и стабильности процесса обучения .

Динамика обучения с использованием пакетов

Выбор размера партии коренным образом меняет то, как алгоритм оптимизации, обычно вариант стохастического градиентного спуска, навигирует по ландшафту потерь.

  • Небольшие размеры партий: Использование небольшого числа (например, 8 или 16) приводит к «шумным» обновлениям. Хотя оценка градиента менее точна для набора данных в целом, этот шум иногда может помочь модели выйти из локального минимума, что потенциально приводит к лучшей обобщаемости. Однако более мелкие партии требуют большего количества обновлений за эпоху, что может замедлить обучение с точки зрения реального времени из-за накладных расходов.
  • Большие размеры партий: более крупная партия (например, 128 или 256) обеспечивает более точную оценку градиента, что приводит к более плавной конвергенции функции потерь. Это позволяет осуществлять массовую параллелизацию на современном оборудовании, что значительно ускоряет вычисления. Однако, если партия слишком велика, модель может зафиксироваться на резких, неоптимальных минимумах, что приведет к переобучению и снижению способности к обобщению на новые данные.

Требования к оборудованию и памяти

Практики часто вынуждены выбирать размер партии, исходя из аппаратных ограничений, а не из чисто теоретических предпочтений. Модели глубокого обучения, особенно крупные архитектуры, такие как трансформеры или усовершенствованные сверточные сети, хранятся в VRAM GPU.

При использовании NVIDIA CUDA для ускорения, VRAM должна содержать параметры модели, пакет входных данных и промежуточные результаты активации, необходимые для вычисления градиента. Если размер пакета превышает доступную память, обучение завершится с ошибкой «Out of Memory» (OOM). Для уменьшения использования памяти часто применяются такие методы, как обучение со смешанной точностью, что позволяет использовать более крупные пакеты на том же аппаратном обеспечении.

Различение смежных понятий

Для эффективной настройки обучения необходимо отличать размер пакета от других временных терминов в цикле обучения .

  • Размер партии и эпоха: эпоха представляет собой один полный проход по всему набору данных для обучения. Размер партии определяет, на сколько частей будут разбиты данные в пределах этой эпохи. Например, если у вас есть 1000 изображений и размер партии составляет 100, то для завершения одной эпохи потребуется 10 итераций.
  • Размер партии и итерация: Итерация (или шаг) — это процесс обработки одной партии и обновления весов. Общее количество итераций в обучении — это количество партий за эпоху, умноженное на общее количество эпох.
  • Размер партии и нормализация партии: Несмотря на одинаковое название, нормализация партии — это особый тип слоя, который нормализует входы слоя на основе среднего значения и дисперсии текущей партии. Эта техника в значительной степени зависит от размера партии; если размер партии слишком мал (например, 2), статистические оценки становятся ненадежными, что может привести к снижению производительности.

Применение в реальном мире

Регулировка размера партии является рутинной необходимостью при внедрении решений компьютерного зрения в различных отраслях промышленности.

  1. Высококачественная медицинская визуализация: в области искусственного интеллекта в здравоохранении специалисты часто работают с трехмерными объемными данными, такими как МРТ или КТ. Эти файлы имеют невероятно высокую плотность и требуют большого объема памяти. Чтобы выполнять такие задачи, как анализ медицинских изображений или сложная сегментация изображений, без сбоев в работе системы, инженеры часто уменьшают размер пакета до очень небольшого числа, иногда даже до 1. В данном случае приоритетом является обработка деталей высокого разрешения, а не скорость обучения.
  2. Промышленный контроль качества: Напротив, в сфере производства скорость имеет первостепенное значение. Автоматизированные системы, проверяющие продукцию на конвейерной ленте, должны обрабатывать тысячи изображений в час. Во время вывода инженеры могут объединять поступающие изображения с камер в более крупные партии, чтобы максимально использовать пограничные устройства искусственного интеллекта, обеспечивая высокую пропускную способность для обнаружения дефектов в режиме реального времени .

Настройка размера пакета в Python

При использовании Пакет 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 предоставляют комплексную среду для регистрации и сравнения запусков. Правильная настройка гиперпараметра размера пакета часто является последним шагом в извлечении максимальной производительности из вашей модели.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас