Число объектов на одно обновление весов: влияет на скорость, память и качество обобщения.
Ключевые тезисы
- Большие батчи ускоряют эпоху, но требуют пропорционально большего lr.
- Малые батчи дают регуляризующий шум.
- Gradient accumulation имитирует большой на ограниченной памяти.
Подробный разбор
- Память растёт линейно: всех слоёв хранятся для каждого объекта .
- Скорость эпохи растёт: лучше загружается большими .
- Число обновлений падает — приходится увеличивать lr.
- Обобщение может ухудшиться из-за потери полезного шума.
# Эффективный батч 512 при памяти на 64
accum = 8
for i, batch in enumerate(loader):
loss = model(batch) / accum
loss.backward()
if (i + 1) % accum == 0:
optimizer.step()
optimizer.zero_grad()- Линейное правило: увеличили в раз — увеличьте lr в раз (работает до умеренных размеров).
- Корневое правило: — часто устойчивее для адаптивных .
- При больших батчах обязателен warmup, иначе первые шаги разрушают инициализацию.
- После некоторого прирост скорости прекращается — это точка «критического батча».
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Оптимизаторы · Обучение на GPU
Optimization85%
Оптимизация · ОсновыПоиск параметров, минимизирующих функцию потерь. Свойства задачи — выпуклость, гладкость, обусловленность — определяют, насколько это просто.
Optimizers85%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
Gradient Descent85%
Градиентный спуск · Оптимизация обученияИтеративный шаг против градиента функции потерь — базовый алгоритм обучения.
SGD85%
Стохастический градиентный спуск · Оптимизация обученияГрадиент оценивается по мини-батчу: быстрее, шумнее и, как оказалось, полезнее для обобщения.
Momentum85%
Момент · Оптимизация обученияНакопление экспоненциального среднего градиентов — движение по инерции сквозь колебания.
Adam85%
Adam · Оптимизация обученияАдаптивный метод: хранит средние градиента и его квадрата, подбирая шаг для каждого параметра.
AdamW85%
AdamW · Оптимизация обученияAdam с корректно отделённым weight decay — регуляризация применяется к весам, а не к градиенту.
RMSProp85%
RMSProp · Оптимизация обученияНормирует шаг на скользящее среднее квадратов градиента, выравнивая масштаб обновлений.
Learning Rate Scheduling85%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
GPU Architecture85%
Архитектура GPU · Вычислительная инфраструктураТысячи простых ядер, сгруппированных в мультипроцессоры, и иерархия памяти, в которую упирается почти любое ускорение.
AI Accelerators85%
Ускорители: GPU, TPU, NPU · Вычислительная инфраструктураЧем специализированный чип отличается от универсальной видеокарты и когда эта разница окупается.
GPU in PyTorch85%
GPU в PyTorch · Вычислительная инфраструктураКак проверить доступность ускорителя, разложить тензоры по устройствам и понять, куда ушла видеопамять.
Distributed Training85%
Распределённое обучение · Вычислительная инфраструктураКак разложить обучение на несколько GPU: копиями модели по данным, шардами состояния или разрезанием самой модели.
Collective Operations85%
Коллективные операции · Вычислительная инфраструктураAllReduce, Broadcast, AllGather — примитивы, которыми процессы обучения обмениваются тензорами.
Cluster Networking85%
Сеть кластера · Вычислительная инфраструктураТопология соединений и скорость обмена, которые определяют, доедет ли обучение до линейного ускорения.
Training Throughput85%
Ускорение обучения · Вычислительная инфраструктураЧто делать, когда число GPU фиксировано: снизить точность, накопить градиент, пересчитать активации, разгрузить загрузчик данных.
Mixed Precision85%
Смешанная точность · Оптимизация обученияОбучение в fp16 или bf16 при накоплении в fp32: двукратная экономия памяти и заметное ускорение.
Спрашивают на собеседовании: YADRO — Инфраструктура обучения.
Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.
Глава «Оптимизация обучения» последний раз правилась . Нашли ошибку — напишите.