Sobes.tech
Middle — Senior

Как се изчислява параметризацията на трансформатора (броят на параметрите в зависимост от d_model и слоевете)?

sobes.tech AI

Отговор от 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 и броя на слоевете.