Выбор ответа Senior SGD, momentum и Adam обновлено
Зачем warmup
Вопрос
Зачем при обучении трансформера с Adam первые тысячи шагов линейно растят learning rate с нуля?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В начале оценки v шумные и модель нестабильна: большой шаг развалит обучение. На старте статистики Adam по малому числу шагов ненадёжны, а у случайно инициализированного трансформера (особенно с post-LN) градиенты бывают огромными.
Варианты ответа
- Чтобы сэкономить вычисления в начале, пока веса почти случайные
- Чтобы модель быстрее выучила частые токены, пока lr маленький
- В начале оценки v шумные и модель нестабильна: большой шаг развалит обучениеправильный ответ
- Потому что в начале градиенты равны нулю, и большой шаг всё равно ничего бы не изменил
Разбор
На старте статистики Adam по малому числу шагов ненадёжны, а у случайно инициализированного трансформера (особенно с post-LN) градиенты бывают огромными. Маленький lr в начале даёт стабилизироваться, потом lr выходит на плато и затухает.
- Вычислений столько же, шаги те же.
- Переобучение тут ни при чём.
- Градиенты на старте как раз не нулевые, часто большие.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.