Salta el contingut

Arquitectura Transformer

El paper que ho va canviar tot

El 2017, un equip de Google Brain va publicar el paper "Attention Is All You Need" (Vaswani et al., 2017). En ell s'introduïa l'arquitectura Transformer, que elimina la recurrència (LSTM, GRU) i la convolució, substituint-les per mecanismes d'atenció pura. El resultat: un model molt més paralel·litzable, que entrena ordres de magnitud més ràpid i captura dependències de llarg abast en el text de forma molt més efectiva.

Components principals del Transformer

Tokenització Abans de processar el text, cal convertir-lo en tokens (fragments de text, aproximadament una paraula o subparaula). El tokenitzador més usat pels LLMs moderns és BPE (Byte Pair Encoding): comença amb caràcters individuals i fusiona iterativament els parells més freqüents.

Exemple de tokenització (GPT-4 tiktoken):
"intel·ligència artificial" → ["intel", "·", "lig", "ència", " art", "ificial"]
"ChatGPT" → ["Chat", "GPT"]
"tokenitzar" → ["token", "itz", "ar"]

Embeddings de posició A diferència de les RNN, el Transformer processa tots els tokens simultàniament (en paral·lel). Per preservar l'ordre del text, s'afegeix una codificació posicional (posicional encoding) a cada embedding de token.

Multi-Head Self-Attention El mecanisme d'atenció és el cor del Transformer. Per a cada token, calcula quanta "atenció" ha de prestar a cada altre token de la seqüència.

Formalment:

Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) · V

On:
  Q = matriu de Queries (preguntes)
  K = matriu de Keys (claus)
  V = matriu de Values (valors)
  d_k = dimensió de les keys (per normalitzar)

De forma intuitiva: cada token "pregunta" quins altres tokens són rellevants per a ell (Q), els altres tokens "ofereixen" una clau identificativa (K), i es calculen les similituds. Els tokens amb similituds altes contribueixen més al seu valor de sortida (V).

El Multi-Head significa que es fan N atencions en paral·lel, cadascuna aprenent a atendre aspectes diferentes del text (sintàctic, semàntic, correferencial, etc.).

graph TD
    INPUT[Tokens d-entrada] --> EMB[Embeddings + Positional Encoding]
    EMB --> MHA[Multi-Head Self-Attention]
    MHA --> ADD1[Add and Norm]
    ADD1 --> FFN[Feed-Forward Network]
    FFN --> ADD2[Add and Norm]
    ADD2 --> NEXT[Capa seguent o sortida]

    subgraph Bloc Transformer x N
        MHA
        ADD1
        FFN
        ADD2
    end

Feed-Forward Network Després de l'atenció, cada token passa per una xarxa neuronal densa (idèntica per a cada posició però independent). Aplica transformacions no lineals que permeten al model "processar" la informació capturada per l'atenció.

Encoder vs. Decoder

Arquitectura Exemples Ús principal
Encoder only BERT, RoBERTa Classificació, NER, similitud semàntica
Decoder only GPT, LLaMA, Claude Generació de text, Q&A, chatbots
Encoder-Decoder T5, BART, mT5 Traducció, resum, generació condicionada

Com funciona la generació de text (autoregressive decoding)

Els models de la família GPT/LLaMA/Claude funcionen com a models autoregressius: generen el text token a token, condicionant cada token als anteriors.

Prompt: "La capital de Catalunya és"

Pas 1: El model calcula la probabilitat de cada token possible com a continuació
        - "Barcelona" → 95%
        - "Girona" → 2%
        - "Madrid" → 1%
        - ... (tot el vocabulari)

Pas 2: Es selecciona "Barcelona" (amb temperature=0) o amb mostreig (temperature>0)

Pas 3: El model calcula la probabilitat de cada token possible com a continuació de
        "La capital de Catalunya és Barcelona"
        - "." → 40%
        - "," → 30%
        - " i" → 15%
        - ...

Pas 4: Es continua fins a generar un token de fi (<|endoftext|>) o arribar al límit

Temperatura: controla l'aleatorietat. Temperature=0 és determinista (sempre el token més probable). Temperature=1 mostreix de la distribució tal com és. Temperature>1 fa el model més creatiu i imprevisible.