Sobes.tech
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 и количества слоёв.