Esplorazione dell’architettura del decodificatore del trasformatore: attenzione multi-testa mascherata, attenzione codificatore-decodificatore e implementazione pratica

Questo post è stato scritto in collaborazione con Rafael Nardi.

In questo articolo approfondiremo il componente decoder dell’architettura del trasformatore, concentrandoci sulle sue differenze e somiglianze con l’encoder. La caratteristica unica del decodificatore è la sua natura ciclica e iterativa, che contrasta con l’elaborazione lineare del codificatore. Al centro del decodificatore ci sono due forme modificate del meccanismo di attenzione: attenzione multi-testa mascherata e attenzione multi-testa codificatore-decodificatore.

L’attenzione mascherata multi-head nel decodificatore garantisce l’elaborazione sequenziale dei token, un metodo che impedisce che ciascun token generato venga influenzato dai token successivi. Questo mascheramento è importante per mantenere l’ordine e la coerenza dei dati generati. L’interazione tra l’uscita del decodificatore (dall’attenzione mascherata) e l’uscita del codificatore è evidenziata nell’attenzione codificatore-decodificatore. Quest’ultimo passaggio fornisce il contesto di input nel processo del decodificatore.

Dimostreremo anche come questi concetti vengono implementati utilizzando Python e NumPy. Abbiamo creato un semplice esempio di traduzione di una frase dall’inglese al portoghese. Questo approccio pratico aiuterà a illustrare il funzionamento interno del decodificatore in un modello di trasformatore e fornirà una comprensione più chiara del suo ruolo nei Large Language Models (LLM).

Figura 1: abbiamo decodificato il decoder LLM (immagine dell’autore utilizzando DALL-E)

Come sempre il codice è disponibile sul ns GitHub.

Dopo aver descritto il funzionamento interno dell’encoder nell’architettura del trasformatore nel nostro articolo precedente articolovedremo il segmento successivo, la parte del decoder. Confrontando le due parti del trasformatore riteniamo istruttivo sottolineare le principali somiglianze e differenze. Il meccanismo dell’attenzione è il nucleo di entrambi. Nello specifico, si verifica in due punti del decoder. Entrambi presentano importanti modifiche rispetto alla versione più semplice presente sull’encoder: attenzione multitesta mascherata e attenzione multitesta encoder-decoder. Parlando di differenze, segnaliamo…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *