Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Генеративні Моделі на Основі Трансформерів | Теоретичні Основи
Глибокі генеративні моделі з Python

Генеративні Моделі на Основі Трансформерів

Свайпніть щоб показати меню

Вступ до трансформерів та механізму самоуваги

Трансформери — базова архітектура сучасного штучного інтелекту, особливо в обробці природної мови (NLP) та генеративному моделюванні. Вперше представлені у статті "Attention is All You Need" (Vaswani et al., 2017), трансформери відмовляються від рекурентності на користь механізму, який називається самоувага (self-attention), що дозволяє моделям враховувати всі частини вхідної послідовності одночасно.

Механізм самоуваги

Механізм самоуваги дозволяє моделі зважувати важливість різних токенів у послідовності відносно один одного. Це здійснюється за допомогою трьох матриць, отриманих із вхідних ембеддінгів:

  • Query (Q);
  • Key (K);
  • Value (V).

Вихід уваги обчислюється як:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax} \left( \frac{QK^T}{\sqrt{d_k}} \right)V

Де:

  • QQ, KK та VV — матриці, отримані з вхідних даних.
  • dkd_k — розмірність векторів ключів.
  • softmax\text{softmax} перетворює коефіцієнти схожості на ймовірності.

Це дозволяє кожному токену звертати увагу на всі інші токени та відповідно коригувати своє представлення.

Огляд архітектури трансформера

Трансформер

Модель трансформера складається з багаторівневих шарів енкодера та декодера:

  • Енкодер перетворює вхідні дані у контекстуалізоване латентне представлення;
  • Декодер генерує вихідні токени, використовуючи вихід енкодера та попередні токени.

Кожен шар містить:

  • Мультиголовну самоувагу;
  • Прямі нейронні мережі;
  • Нормалізацію шару;
  • Резидуальні з'єднання.

Мультиголовна самоувага

Багатоголовкова увага

Замість обчислення однієї функції уваги, трансформер використовує декілька голів уваги. Кожна голова навчається фокусуватися на різних частинах послідовності.

Multi-Head(Q,K,V)=Concat(head1,head2,...,headn)W0\text{Multi-Head}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, ... , \text{head}_n)W^0

Де кожна голова обчислюється як:

headi=Attention(QWiQ,KWiK,VWiV)\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)

Де:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V — матриці проєкцій для запитів, ключів і значень;
  • W0W^0 проєктує конкатеновані голови назад у початковий розмір.

Прямі нейронні мережі (Feedforward Neural Networks)

Кожен блок трансформера містить позиційно-незалежну пряму мережу, яка застосовується окремо до кожної позиції:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Складається з двох лінійних шарів з нелінійністю (наприклад, ReLU) між ними;
  • Застосовує однакове перетворення до всіх позицій.

Нормалізація шару

Нормалізація шару виконує нормалізацію вхідних даних по ознаках (каналах), а не по батчу. Це стабілізує навчання та покращує збіжність:

LayerNorm(x)=xμσγ+β\text{LayerNorm}(x) = \frac{x - \mu}{\sigma} \cdot \gamma + \beta

Де:

  • μ\mu — середнє значення ознак;
  • σ\sigma — стандартне відхилення;
  • γ\gamma і β\beta — параметри, що навчаються.

Резидуальні з'єднання

Резидуальні з'єднання додають вхід кожного підшару до його виходу:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Сприяє проходженню градієнта та дозволяє навчати глибші моделі;
  • Використовується навколо шарів самоуваги та повнозв'язних шарів.

У моделях лише з декодером (наприклад, GPT) використовується лише декодер із каузальною (маскованою) самоувагою.

Генеративні попередньо навчені трансформери (GPT)

Моделі GPT — це трансформери лише з декодером, які навчаються передбачати наступний токен в авторегресивному режимі:

P(x1,x2,...,xn)=t=1nP(xtx<t)P(x_1,x_2,...,x_n)=\prod_{t=1}^n{P(x_t|x_{<t})}

Ключові особливості:

  • Навчання на масштабних текстових датасетах;
  • Генерація зв'язного та різноманітного тексту;
  • Широке застосування у чат-ботах та генерації коду.

BERT і масковане мовне моделювання

BERT (Bidirectional Encoder Representations from Transformers) використовує лише енкодер. Навчання відбувається за допомогою маскованого мовного моделювання (MLM):

  • Випадкові токени замінюються на [MASK];
  • Модель передбачає оригінальний токен на основі повного контексту.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Це робить BERT ефективним для задач класифікації, питань і відповідей, а також семантичної схожості.

Трансформери та LLM

Трансформери є основою великих мовних моделей (LLM), таких як GPT-3, GPT-4, PaLM, LLaMA та Claude.

LLM використовують великі набори даних і сотні мільярдів параметрів, що дозволяє їм:

  • Розуміти та генерувати людську мову;
  • Виконувати переклад, узагальнення, питання й відповіді, міркування;
  • Забезпечувати роботу чат-ботів, аналізаторів документів і асистентів для програмування.

Масштабованість трансформерів і здатність моделювати довготривалі залежності роблять їх ідеальними для таких моделей.

1. Яка основна інновація, яку запровадили трансформери?

2. Чим відрізняється BERT від GPT?

3. Чому трансформери ідеальні для LLM?

question mark

Яка основна інновація, яку запровадили трансформери?

Виберіть правильну відповідь

question mark

Чим відрізняється BERT від GPT?

Виберіть правильну відповідь

question mark

Чому трансформери ідеальні для LLM?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 8

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 2. Розділ 8
some-alt