Proprio come l'encoder, il decoder è composto da un livello di self-attention e da una rete di feed-forward. Tra questi, il decoder contiene uno strato di mascheramento dell'attenzione multi-head. Questo segna la differenza tra encoder e decoder. Mentre l'encoder genera simultaneamente embedding contestualizzati di token, il livello di attenzione multi-head del decoder utilizza il mascheramento autoregressivo.
Innanzitutto, il decoder riceve il vettore di contesto dall'encoder. Il decoder utilizza questi embedding posizionali per calcolare i punteggi di attenzione per ogni token. Questi punteggi di attenzione determinano in che misura ogni token della sequenza di input influirà sui token successivi; in altre parole, i punteggi determinano il peso che ciascun token ha nelle determinazioni degli altri token nella generazione delle sequenze di output.
Una caratteristica importante di questo, tuttavia, è che il decoder non utilizzerà i token futuri per determinare i token precedenti nella stessa sequenza. L'output generato da ogni token dipende solo dai token precedenti; in altre parole, quando genera l'output di un token, il decoder non considera le parole o i token successivi a quello corrente. Come nel caso di molte tecniche di intelligenza artificiale, questo mira a imitare le comprensioni convenzionali di come gli esseri umani elaborano le informazioni, in particolare il linguaggio. Questo approccio all'elaborazione delle informazioni è chiamato autoregressivo.7