Middle — Senior
31
Как считается параметрика трансформера (количество параметров от d_model и слоёв)?
Компании, где спрашивали
Магнит
Ответ от нейросети
sobes.tech AI
Параметрика трансформера (общее количество параметров) зависит от нескольких ключевых компонентов, главным образом от размера модели (d_model) и количества слоёв (L).
Основные параметры включают:
- Веса линейных слоёв в механизме внимания (query, key, value, output) — каждый из них размером примерно d_model × d_model.
- Параметры слоёв нормализации и позиционного кодирования (обычно незначительны по сравнению с остальными).
- Параметры feed-forward сети внутри каждого слоя — обычно это два линейных слоя с размерами d_model × d_ff и d_ff × d_model, где d_ff — размер внутреннего слоя (обычно в 4 раза больше d_model).
Приблизительная формула для параметров одного слоя:
Параметры слоя ≈ 4 × (d_model × d_model) + 2 × (d_model × d_ff) + 2 × (d_ff × d_model)
Учитывая, что d_ff ≈ 4 × d_model, итог получается примерно:
Параметры слоя ≈ 4 × d_model² + 8 × d_model² + 8 × d_model² = 20 × d_model²
Общее количество параметров трансформера с L слоями:
Общее ≈ L × 20 × d_model²
Это упрощённая оценка, не учитывающая параметры эмбеддингов и нормализации, но даёт понимание зависимости от d_model и количества слоёв.