Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Modelli Generativi Basati su Transformer | Fondamenti Teorici
AI Generativa

bookModelli Generativi Basati su Transformer

Introduzione ai Transformer e al Meccanismo di Self-Attention

I Transformer rappresentano un'architettura fondamentale nell'IA moderna, in particolare nell'elaborazione del linguaggio naturale (NLP) e nella modellazione generativa. Introdotti per la prima volta nell'articolo "Attention is All You Need" (Vaswani et al., 2017), i transformer abbandonano la ricorrenza a favore di un meccanismo chiamato self-attention, che consente ai modelli di considerare simultaneamente tutte le parti della sequenza di input.

Meccanismo di Self-Attention

Il meccanismo di self-attention permette al modello di valutare l'importanza relativa dei diversi token in una sequenza. Questo avviene tramite tre matrici derivate dagli embedding di input:

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

L'output dell'attenzione viene calcolato come:

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

Dove:

  • QQ, KK e VV sono matrici derivate dall'input.
  • dkd_k è la dimensione dei vettori chiave.
  • softmax\text{softmax} converte i punteggi di similarità in probabilità.

Questo consente a ciascun token di attendere a ogni altro token e di adattare di conseguenza la propria rappresentazione.

Panoramica dell'Architettura Transformer

Il modello transformer è composto da strati di encoder e decoder impilati:

  • Encoder converte l'input in una rappresentazione latente contestualizzata;
  • Decoder genera token di output utilizzando l'output dell'encoder e i token precedenti.

Ogni strato include:

  • Self-Attention Multi-Testa;
  • Reti Neurali Feedforward;
  • Normalizzazione di Strato;
  • Connessioni Residuali.

Self-Attention Multi-Testa

Invece di calcolare una singola funzione di attenzione, il transformer utilizza più teste di attenzione. Ogni testa apprende a concentrarsi su parti diverse della sequenza.

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

Dove ogni testa è calcolata come:

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

Dove:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V sono matrici di proiezione per query, key e value;
  • W0W^0 proietta le teste concatenate alla dimensione originale.

Reti Neurali Feedforward

Ogni blocco transformer include una rete feedforward applicata indipendentemente a ciascuna posizione:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Composta da due layer lineari con una non linearità (ad esempio, ReLU) tra di essi;
  • Applica la stessa trasformazione a tutte le posizioni.

Normalizzazione di Layer

La normalizzazione di layer normalizza l'input sulle caratteristiche (canali) invece che sul batch. Stabilizza l'addestramento e migliora la convergenza:

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

Dove:

  • μ\mu è la media delle caratteristiche;
  • σ\sigma è la deviazione standard;
  • γ\gamma e β\beta sono parametri apprendibili.

Connessioni Residuali

Le connessioni residuali sommano l'input di ogni sotto-layer al suo output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Favorisce il flusso del gradiente e consente l'addestramento di modelli più profondi;
  • Utilizzate sia intorno ai layer di self-attention che a quelli feedforward.

Nei modelli solo decoder (come GPT), viene utilizzato solo il decoder con self-attention causale (mascherata).

Trasformatori Generativi Pre-addestrati (GPT)

I modelli GPT sono trasformatori solo decodificatore addestrati a prevedere il token successivo in modo autoregressivo:

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

Caratteristiche principali:

  • Addestrati su grandi insiemi di dati testuali;
  • Capacità di generare testo coerente e vario;
  • Ampiamente utilizzati in applicazioni come chatbot e generazione di codice.

BERT e Modellazione del Linguaggio Mascherato

BERT (Bidirectional Encoder Representations from Transformers) utilizza solo l'encoder. Viene addestrato con la modellazione del linguaggio mascherato (MLM):

  • Token casuali vengono sostituiti con un [MASK];
  • Il modello prevede il token originale basandosi sul contesto completo.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Questo rende BERT adatto a compiti come classificazione, domande e risposte e similarità semantica.

Trasformatori e LLM

I trasformatori costituiscono la base dei Large Language Models (LLM) come GPT-3, GPT-4, PaLM, LLaMA e Claude.

Gli LLM utilizzano grandi insiemi di dati e centinaia di miliardi di parametri, consentendo di:

  • Comprendere e generare linguaggio umano;
  • Eseguire traduzione, sintesi, domande e risposte, ragionamento;
  • Alimentare chatbot, analizzatori di documenti e assistenti di programmazione.

La scalabilità dei trasformatori e la capacità di modellare dipendenze a lungo raggio li rendono ideali per questi modelli.

1. Qual è l'innovazione principale introdotta dai transformer?

2. Cosa distingue BERT da GPT?

3. Perché i transformer sono ideali per i LLM?

question mark

Qual è l'innovazione principale introdotta dai transformer?

Select the correct answer

question mark

Cosa distingue BERT da GPT?

Select the correct answer

question mark

Perché i transformer sono ideali per i LLM?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 8

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how self-attention works in more detail?

What is the difference between encoder and decoder in transformers?

How does multi-head attention improve model performance?

Awesome!

Completion rate improved to 4.76

bookModelli Generativi Basati su Transformer

Scorri per mostrare il menu

Introduzione ai Transformer e al Meccanismo di Self-Attention

I Transformer rappresentano un'architettura fondamentale nell'IA moderna, in particolare nell'elaborazione del linguaggio naturale (NLP) e nella modellazione generativa. Introdotti per la prima volta nell'articolo "Attention is All You Need" (Vaswani et al., 2017), i transformer abbandonano la ricorrenza a favore di un meccanismo chiamato self-attention, che consente ai modelli di considerare simultaneamente tutte le parti della sequenza di input.

Meccanismo di Self-Attention

Il meccanismo di self-attention permette al modello di valutare l'importanza relativa dei diversi token in una sequenza. Questo avviene tramite tre matrici derivate dagli embedding di input:

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

L'output dell'attenzione viene calcolato come:

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

Dove:

  • QQ, KK e VV sono matrici derivate dall'input.
  • dkd_k è la dimensione dei vettori chiave.
  • softmax\text{softmax} converte i punteggi di similarità in probabilità.

Questo consente a ciascun token di attendere a ogni altro token e di adattare di conseguenza la propria rappresentazione.

Panoramica dell'Architettura Transformer

Il modello transformer è composto da strati di encoder e decoder impilati:

  • Encoder converte l'input in una rappresentazione latente contestualizzata;
  • Decoder genera token di output utilizzando l'output dell'encoder e i token precedenti.

Ogni strato include:

  • Self-Attention Multi-Testa;
  • Reti Neurali Feedforward;
  • Normalizzazione di Strato;
  • Connessioni Residuali.

Self-Attention Multi-Testa

Invece di calcolare una singola funzione di attenzione, il transformer utilizza più teste di attenzione. Ogni testa apprende a concentrarsi su parti diverse della sequenza.

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

Dove ogni testa è calcolata come:

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

Dove:

  • WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V sono matrici di proiezione per query, key e value;
  • W0W^0 proietta le teste concatenate alla dimensione originale.

Reti Neurali Feedforward

Ogni blocco transformer include una rete feedforward applicata indipendentemente a ciascuna posizione:

FFN(x)=ReLU(xW1+b1)W2+b2\text{FFN}(x) = \text{ReLU}(x W_1 + b_1)W_2 + b_2
  • Composta da due layer lineari con una non linearità (ad esempio, ReLU) tra di essi;
  • Applica la stessa trasformazione a tutte le posizioni.

Normalizzazione di Layer

La normalizzazione di layer normalizza l'input sulle caratteristiche (canali) invece che sul batch. Stabilizza l'addestramento e migliora la convergenza:

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

Dove:

  • μ\mu è la media delle caratteristiche;
  • σ\sigma è la deviazione standard;
  • γ\gamma e β\beta sono parametri apprendibili.

Connessioni Residuali

Le connessioni residuali sommano l'input di ogni sotto-layer al suo output:

Output=Layer(x)+x\text{Output} = \text{Layer}(x) + x
  • Favorisce il flusso del gradiente e consente l'addestramento di modelli più profondi;
  • Utilizzate sia intorno ai layer di self-attention che a quelli feedforward.

Nei modelli solo decoder (come GPT), viene utilizzato solo il decoder con self-attention causale (mascherata).

Trasformatori Generativi Pre-addestrati (GPT)

I modelli GPT sono trasformatori solo decodificatore addestrati a prevedere il token successivo in modo autoregressivo:

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

Caratteristiche principali:

  • Addestrati su grandi insiemi di dati testuali;
  • Capacità di generare testo coerente e vario;
  • Ampiamente utilizzati in applicazioni come chatbot e generazione di codice.

BERT e Modellazione del Linguaggio Mascherato

BERT (Bidirectional Encoder Representations from Transformers) utilizza solo l'encoder. Viene addestrato con la modellazione del linguaggio mascherato (MLM):

  • Token casuali vengono sostituiti con un [MASK];
  • Il modello prevede il token originale basandosi sul contesto completo.
P(xix1,...,xi1,[MASK],xi+1,...,xn)P(x_i | x_1, ..., x_{i-1}, [\text{MASK}], x_{i+1}, ..., x_n)

Questo rende BERT adatto a compiti come classificazione, domande e risposte e similarità semantica.

Trasformatori e LLM

I trasformatori costituiscono la base dei Large Language Models (LLM) come GPT-3, GPT-4, PaLM, LLaMA e Claude.

Gli LLM utilizzano grandi insiemi di dati e centinaia di miliardi di parametri, consentendo di:

  • Comprendere e generare linguaggio umano;
  • Eseguire traduzione, sintesi, domande e risposte, ragionamento;
  • Alimentare chatbot, analizzatori di documenti e assistenti di programmazione.

La scalabilità dei trasformatori e la capacità di modellare dipendenze a lungo raggio li rendono ideali per questi modelli.

1. Qual è l'innovazione principale introdotta dai transformer?

2. Cosa distingue BERT da GPT?

3. Perché i transformer sono ideali per i LLM?

question mark

Qual è l'innovazione principale introdotta dai transformer?

Select the correct answer

question mark

Cosa distingue BERT da GPT?

Select the correct answer

question mark

Perché i transformer sono ideali per i LLM?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 8
some-alt