Adam с корректно отделённым weight decay — регуляризация применяется к весам, а не к градиенту.
Ключевые тезисы
- В обычном Adam L2-штраф искажается адаптивным масштабированием.
- Де-факто стандарт обучения трансформеров.
- Типичный weight decay: 0.01–0.1.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Отвязанный weight decay
Тонкость, из-за которой Adam долго проигрывал в качестве.
- сила регуляризации: штраф за сложность модели
- веса модели — то, что подбирается при обучении
- функция потерь — то, что минимизируется при обучении
- скорость обучения — длина шага оптимизатора
- сила регуляризации: штраф за сложность модели
- малая величина: шум, допуск или защита от деления на ноль
- веса модели — то, что подбирается при обучении
В обычном Adam параметры с большими градиентами получают ослабленную регуляризацию — это не то, что задумано. AdamW разделяет два механизма, и weight decay снова работает предсказуемо.
К bias и параметрам нормализации weight decay обычно не применяют: их сжатие к нулю только мешает.
2Готовый рецепт для трансформеров
Набор значений, с которого стоит начинать.
optimizer = torch.optim.AdamW(
[{"params": decay_params, "weight_decay": 0.1},
{"params": no_decay_params, "weight_decay": 0.0}],
lr=3e-4, betas=(0.9, 0.95), eps=1e-8)
scheduler = get_cosine_schedule_with_warmup(
optimizer, num_warmup_steps=2000, num_training_steps=total_steps)вместо стандартных 0.999 — распространённая практика для больших языковых моделей: оценка второго момента адаптируется быстрее и обучение устойчивее.
Связанные темы
Оптимизаторы
Optimization85%
Оптимизация · ОсновыПоиск параметров, минимизирующих функцию потерь. Свойства задачи — выпуклость, гладкость, обусловленность — определяют, насколько это просто.
Optimizers85%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
Gradient Descent85%
Градиентный спуск · Оптимизация обученияИтеративный шаг против градиента функции потерь — базовый алгоритм обучения.
SGD85%
Стохастический градиентный спуск · Оптимизация обученияГрадиент оценивается по мини-батчу: быстрее, шумнее и, как оказалось, полезнее для обобщения.
Momentum85%
Момент · Оптимизация обученияНакопление экспоненциального среднего градиентов — движение по инерции сквозь колебания.
Adam85%
Adam · Оптимизация обученияАдаптивный метод: хранит средние градиента и его квадрата, подбирая шаг для каждого параметра.
RMSProp85%
RMSProp · Оптимизация обученияНормирует шаг на скользящее среднее квадратов градиента, выравнивая масштаб обновлений.
Learning Rate Scheduling85%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Batch size85%
Размер батча · Оптимизация обученияЧисло объектов на одно обновление весов: влияет на скорость, память и качество обобщения.