Выбор ответа Middle Инициализация и нормализация обновлено
Почему в трансформерах LayerNorm
Вопрос
Почему в трансформерах используют LayerNorm (или RMSNorm), а не BatchNorm?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: LayerNorm нормирует каждый токен по его признакам и не зависит от батча и длины. Статистики BatchNorm по батчу шумны при маленьких батчах, плохо дружат с паддингом последовательностей разной длины и авторегрессионной генерацией по одному токену.
Варианты ответа
- LayerNorm нормирует каждый токен по его признакам и не зависит от батча и длиныправильный ответ
- BatchNorm нельзя применять к векторам токенов, только к картам признаков свёрточных сетей
- LayerNorm не имеет обучаемых параметров, поэтому меньше переобучается
- BatchNorm медленнее в 10 раз из-за синхронизации статистик между GPU
Разбор
Статистики BatchNorm по батчу шумны при маленьких батчах, плохо дружат с паддингом последовательностей разной длины и авторегрессионной генерацией по одному токену. LayerNorm считает среднее и дисперсию по признакам каждого объекта отдельно, поведение одинаково на обучении и инференсе. RMSNorm ещё проще: делит на корень из среднего квадрата без вычитания среднего.
- BatchNorm к векторам применим.
- У LayerNorm есть γ и β.
- Дело не в скорости.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.