🤖 Машинне навчання · Глибоке навчання
📅 Березень 2026 ⏱ ≈ 12 хв читання 🔴 Просунутий

Архітектура трансформера — пояснення

2017 року Google Brain опублікувала «Attention Is All You Need» — статтю, яка повністю відмовилася від рекурентних мереж і замінила їх новим механізмом під назвою самоувага. Сім років по тому майже кожен прорив у ШІ — GPT-4, Gemini, Llama, Stable Diffusion — використовує цю архітектуру.

1. Чому не RNN?

До трансформерів моделі послідовностей покладалися на рекурентні нейронні мережі (RNN) та їхні варіанти (LSTM, GRU). Вони обробляють токени по одному, підтримуючи прихований стан, що підсумовує все побачене досі.

Дві фундаментальні проблеми:

Трансформер розв'язує обидві проблеми, обчислюючи зв'язки між усіма парами токенів одночасно — з повним паралелізмом і без штрафу за відстань.

2. Токени та ембединги

Текст розбивається на токени — зазвичай підслівні фрагменти за допомогою BPE (Byte Pair Encoding) або SentencePiece. Слово «unbelievable» може бути трьома токенами: un, believ, able.

Кожен індекс токена відображається у щільний вектор завдовжки d_model вимірів (GPT-3 використовує 12 288 вимірів). Це ембединг. Він починається випадковим і тренується кодувати семантичне значення — схожі поняття опиняються близько одне до одного в цьому багатовимірному просторі.

Відомий приклад: у добре натренованих ембедингах: king − man + woman ≈ queen. Простір ембедингів відображає аналогії як векторну арифметику.

3. Самоувага

Самоувага запитує: «Наскільки кожен токен має звертати увагу на кожен інший токен?» Вона обчислює це, виводячи три вектори з ембединга кожного токена через навчені проєкції:

Масштабована увага на основі скалярного добутку Q = X · W_Q , K = X · W_K , V = X · W_V

Attention(Q, K, V) = softmax( Q · Kᵀ / √d_k ) · V

Скалярний добуток Q · Kᵀ дає оцінку для кожної пари (запит, ключ) — наскільки токен j релевантний токену i. Ділення на √d_k запобігає насиченню softmax, коли виміри великі. Softmax перетворює оцінки на розподіл імовірностей, а множення на V дає зважене середнє всіх значень.

Обчислювальна вартість: увага має складність O(N²) за довжиною послідовності N. Для N = 4096 токенів це 16 мільйонів скалярних добутків. Чимало досліджень (розріджена увага, лінійна увага, Flash Attention) спрямовані на зниження цієї вартості.

4. Багатоголова увага

Один шар уваги може вловлювати лише один тип зв'язку за раз. Багатоголова увага запускає h незалежних механізмів уваги («голів») паралельно, кожен зі своїми навченими матрицями W_Q, W_K, W_V.

Багатоголова увага head_i = Attention(Q·W_Qᵢ, K·W_Kᵢ, V·W_Vᵢ)

MultiHead(Q, K, V) = Concat(head_1, …, head_h) · W_O

Різні голови вчаться спеціалізуватися: одна може відстежувати синтаксичні залежності, інша — семантичну схожість, ще інша — кореференцію. GPT-3 використовує 96 голів уваги на шар.

Голова 1
Синтаксис
Голова 2
Кореференція
Голова 3
Семантика
Голова …
Позиція
Вихід
Concat + W_O

5. Позиційне кодування

Увага трактує свій вхід як множину, а не послідовність — немає вродженого поняття порядку. Щоб знову внести порядок, до ембединга кожного токена перед першим шаром додається позиційне кодування.

В оригінальній статті використовувалися фіксовані синусоїдальні кодування:

Синусоїдальне позиційне кодування PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Кожен вимір коливається з різною частотою, тож кожна позиція отримує унікальний відбиток. Сучасні моделі використовують ротаційне позиційне кодування (RoPE) (у Llama, GPT-NeoX) або ALiBi, які кодують відносні, а не абсолютні позиції — це дозволяє узагальнення на довші послідовності, ніж бачені під час тренування.

6. Шар прямого поширення

Після уваги представлення кожного токена проходить через ідентичну позиційну мережу прямого поширення — двошаровий MLP з нелінійною активацією:

Позиційна FFN FFN(x) = max(0, x · W_1 + b_1) · W_2 + b_2

W_1 ∈ ℝ^(d_model × d_ff) , W_2 ∈ ℝ^(d_ff × d_model)
Зазвичай d_ff = 4 × d_model

Тоді як увага змішує інформацію між позиціями, шар FFN обробляє кожен токен незалежно. Дослідження свідчать, що шари FFN діють як пам'яті типу ключ-значення — зберігаючи фактичні знання про світ. Вони містять ~⅔ усіх параметрів моделі.

7. Стеки кодувальника та декодувальника

Оригінальний Трансформер (для перекладу) мав два стеки:

Вхід
Ембединг + PE
×N шарів
Самоувага + FFN
Вихід
Linear + Softmax

Залишкові з'єднання (x + SubLayer(x)) дозволяють градієнтам текти безпосередньо до ранніх шарів, уможливлюючи тренування дуже глибоких мереж. Нормалізація шару стабілізує активації.

8. GPT, BERT та варіанти

9. Чому масштаб змінює все

Емпіричне спостереження, що рухає сучасний ШІ, — це закон масштабування: втрати зменшуються за степеневим законом разом із розміром моделі та обсягом тренувальних даних. Помножте обчислення вдесятеро — і модель надійно стає кращою.

Але на масштабі відбувається щось якісне. Здібності, цілковито відсутні в малих моделях — багатокрокова математика, навчання в контексті, генерація коду — раптово з'являються за певної кількості параметрів. Це називають емерджентними здібностями.

Масштаб GPT-3: 175 мільярдів параметрів, 96 шарів, 96 голів уваги на шар, d_model = 12 288. Натреновано на ~300 мільярдах токенів. Вартість тренування оцінювалася в $4–12 мільйонів.

Розуміння того, чому масштаб породжує інтелект — а не лише того, що це так — залишається одним з найглибших відкритих питань у ШІ.