Batch— количество обучающих примеров (сэмплов), которые нейронная сеть обрабатывает одновременно за одну итерацию перед обновлением своих внутренних параметров (весов).
Это один из самых критических гиперпараметров, определяющих эффективность тренировочного процесса, требования к аппаратному обеспечению и финальное качество модели.
Математическая механика Batch
Существует три основных стратегии подачи данных в оптимизатор:
Пакетный режим (Batch Gradient Descent): Весь датасет (N сэмплов) подается сразу. Весы обновляются один раз за эпоху. Это дает самый точный градиент, но требует колоссального объема памяти и крайне медленно на стандартных GPU.
Стохастический режим (Stochastic GD): Размер батча равен 1. Модель учится на каждом примере отдельно. Это создает очень «шумный» сигнал обновления, который помогает избегать локальных минимумов, но делает траекторию обучения нестабильной.
Мини-батчи (Mini-batch SGD): Компромиссный вариант. Данные разбиваются на группы от 8 до 4096 элементов. Именно этот подход является индустриальным стандартом сегодня.
Почему параллелизм побеждает последовательную обработку
Современные ускорители (GPU/TPU) спроектированы как массивно-параллельные вычислители.
Если модель обрабатывает 1 изображение, 99% тензорных ядер простаивают.
Если подать батч из 256 изображений, матрица активаций заполняется полностью. Ядра выполняют операцию Matrix_Multiplication(Activation_Batch, Weights) максимально эффективно.
Увеличение размера Batch позволяет лучше утилизировать пропускную способность памяти (Memory Bandwidth) и вычислительные блоки чипа, снижая долю накладных расходов на запуск инструкций.
Влияние Batch Size на процесс обучения
Выбор числа примеров в пакете напрямую меняет физику оптимизации ландшафта функции потерь.
Статистика против шума
Градиент, вычисленный на большом батче (например, 1024), является более точным приближением истинного градиента всего датасета. Обучение становится плавным и стабильным (как спуск с пологой горы). Маленький батч (например, 16) дает зашумленную оценку направления движения. Этот шум работает как регуляризатор, позволяя модели «выпрыгивать» из мелких локальных ям и плоских плато, что иногда способствует лучшей генерализации.
Динамика нормы обучения (Learning Rate)
Существует эмпирическое правило масштабирования: если вы увеличиваете размер батча в k раз, норму обучения также следует увеличить примерно в k раз (Linear Scaling Rule). Это связано с тем, что при больших батчах веса обновляются реже (раз в N примеров вместо одного), поэтому каждый шаг должен быть весомее, чтобы компенсировать редкость обновлений.
Проблема «Обобщающего разрыва» (Generalization Gap)
Исследования (в частности, работы Хсю-Танга Чена и коллег) показали, что экстремально большие батчи часто приводят к ухудшению качества модели на тестовых данных, даже если ошибка на обучении минимальна. Считается, что при огромных размерах пакетов модель перестает видеть разнообразие данных и начинает «переобучаться» под статистические особенности конкретных мини-групп. Для борьбы с этим применяют техники вроде Ghost Batch Normalization.
Аппаратные ограничения
Размер Batch — главный потребитель видеопамяти (VRAM) во время обучения. Потребление складывается из нескольких факторов:
Активации: Каждый слой сохраняет результаты вычислений для обратного прохода. Чем больше батч, тем выше тензоры активаций.
Оптимизатор состояния: Adam хранит дополнительные копии весов (моменты первого и второго порядка). При использовании ZeRO оптимизаторов или FSDP это потребление может расти кратно.
Смешанная точность: Использование FP16/BF16 вдвое снижает затраты на хранение активаций по сравнению с FP32.
Если исследователь хочет удвоить контекстное окно языковой модели или увеличить разрешение картинок, ему почти всегда приходится пропорционально уменьшать Batch Size, чтобы вместиться в лимит GPU (например, 80 ГБ на H100).
Специфика инференса (работы готовой модели)
В режиме эксплуатации (когда модель уже обучена и отвечает пользователям) понятие батча сохраняется, но логика меняется:
Static Batching (Статический батчинг): Система ждет накопления запросов (например, 32 штук) и отправляет их все разом в GPU. Это дает максимальную загрузку железа и низкую стоимость запроса, но увеличивает задержку (latency) для первого пользователя.
Dynamic Batching (Динамический батчинг): Алгоритм шедуллера группирует пришедшие запросы «на лету» с таймаутом. Если за 10 мс пришло 5 запросов, они улетают вместе.
Batch Size = 1: Используется в системах высокочастотной торговли или автопилотах, где важна абсолютная минимальная задержка ответа, а экономия ресурсов вторична.
Современные подходы к управлению данными
В контексте современных LLM (Large Language Models) классического батчинга по примерам стало недостаточно. Появились новые концепции:
Gradient Accumulation: Если нам нужен эффективный размер батча 2048, но в GPU влезает только 64, мы можем сделать 32 последовательных шага (Forward+Backward), накапливая градиенты в памяти, и обновить веса только в конце. С точки зрения математики это эквивалентно большому батчу, но экономит память под активации.
Micro-batching в распределенном обучении: При использовании Data Parallelism датасет делится между копиями модели. Чтобы синхронизировать их через AllReduce без перегрузки сетевых коммутаторов InfiniBand, используют микро-батчи внутри общего пакета узла.
Variable Sequence Lengths: В обработке текста примеры имеют разную длину. Инженеры используют методы динамического паддинга (dynamic padding) и упаковку промптов (packing), чтобы минимизировать пустые значения в батче и максимизировать плотность полезной информации.
Batch — это рычаг управления эффективностью системы.
Для исследователя: Маленький Batch — стабильность и лучшая обобщающая способность; большой Batch — скорость экспериментов.
Для инженера дата-центра: Максимально возможный Batch — это способ снизить себестоимость каждого токена и выжать максимум терафлопс из дорогостоящего кластера NVIDIA B200 или Google TPU v5p.
Оптимальный размер батча никогда не бывает фиксированным числом — он находится на пересечении геометрии вашего датасета, глубины архитектуры и физического лимита контактов графического процессора.
Начнем диалог
Начните масштабирование сегодня
Свяжитесь с нашими экспертами для подбора оптимальной конфигурации оборудования и расчета стоимости аренды под ваши задачи ИИ.