Выбор ответа Senior SGD, momentum и Adam обновлено

Зачем warmup

Вопрос

Зачем при обучении трансформера с Adam первые тысячи шагов линейно растят learning rate с нуля?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В начале оценки v шумные и модель нестабильна: большой шаг развалит обучение. На старте статистики Adam по малому числу шагов ненадёжны, а у случайно инициализированного трансформера (особенно с post-LN) градиенты бывают огромными.

Варианты ответа

  1. Чтобы сэкономить вычисления в начале, пока веса почти случайные
  2. Чтобы модель быстрее выучила частые токены, пока lr маленький
  3. В начале оценки v шумные и модель нестабильна: большой шаг развалит обучениеправильный ответ
  4. Потому что в начале градиенты равны нулю, и большой шаг всё равно ничего бы не изменил

Разбор

На старте статистики Adam по малому числу шагов ненадёжны, а у случайно инициализированного трансформера (особенно с post-LN) градиенты бывают огромными. Маленький lr в начале даёт стабилизироваться, потом lr выходит на плато и затухает.

  • Вычислений столько же, шаги те же.
  • Переобучение тут ни при чём.
  • Градиенты на старте как раз не нулевые, часто большие.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.