Про нестабильности в обучении
(мемчик из внутреннего чата от Влада Тыцкого)
Недавно мы взялись написть архетип - библиотечный класс нашей генеративной модели. После лёгкого рефакторинга обучение начало "взрываться" (кто бы мог подумать).
Что мы обычно используем для стабилизации:
- Gradient clipping
- Лоссы и нелинейности - в fp32
- Learning rate warmup и аккуратный подбор пикового значения
- Pre-norm
- QK-нормализацию
До сих пор не используем, но в LLM применяют:
- AdamW
- Очистку датасета от "плохих" батчей
- Отключение bias
- RMSNorm вместо LayerNorm
Конкретно в этом случае не спасало вообще ничего. Локализовать проблему помогло только отслеживание std (!) активаций на разных слоях.
Дебаг занял недели, а фикс ровно 1 строку кода.
Post #19
2.76K

- 👍 11
- 🔥 5
- 👨💻 5