Толковый словарь по нейросетям и искусственному интеллекту
Эффективный размер батча
Категория термина
Эффективный размер батча (Effective Batch Size) — это фактический объём данных, используемый для одного обновления параметров модели с учётом техник, таких как накопление градиентов (Gradient Accumulation). Даже если физический размер батча ограничен памятью GPU, накопление градиентов позволяет имитировать больший размер батча, увеличивая стабильность обучения и точность градиентов.
🧠 Механизм работы:
- Модель получает подбатч данных фиксированного размера.
- Вычисляются градиенты, но параметры модели ещё не обновляются.
- Процесс повторяется несколько раз (Gradient Accumulation Steps), накапливая градиенты.
- После заданного числа шагов параметры обновляются один раз. Эффективный размер батча вычисляется как:
🔑 Основные особенности:
- Позволяет имитировать большие батчи без необходимости в больших GPU.
- Повышает стабильность градиентов и ускоряет сходимость модели.
- Часто используется при обучении больших трансформеров и глубоких нейросетей.
- Требует корректного масштабирования learning rate и других гиперпараметров.
📌 Примеры применения:
- Обучение GPT и BERT на ограниченной видеопамяти.
- CNN с высокоразмерными изображениями, где стандартный батч не помещается в GPU.
- NLP-задачи с длинными последовательностями для стабильного обучения.
- GAN и генеративные модели при больших разрешениях изображений.
⚖️ Преимущества и недостатки:
Преимущества:
- Позволяет использовать большие эффективные батчи без увеличения потребления памяти.
- Улучшает точность градиентов и стабилизирует обучение.
- Совместимо с различными оптимизаторами и scheduler’ами.
Недостатки:
- Увеличивает время одного шага обновления параметров.
- Требует точного контроля шагов накопления градиентов.
- Необходима адаптация learning rate для эффективного размера батча.
🧠 Связанные понятия:
- Gradient Accumulation Step — шаг, на протяжении которого градиенты накапливаются.
- Mini-Batch Gradient Descent — вычисление градиентов на малых батчах данных.
- Optimizer Step — обновление параметров после накопления градиентов.
- Learning Rate Scaling — адаптация learning rate под эффективный размер батча.
💡 Вывод:
Эффективный размер батча (Effective Batch Size) позволяет моделям обучаться более стабильно и эффективно, имитируя большие батчи при ограниченных вычислительных ресурсах, что особенно важно для современных глубоких и трансформерных архитектур.