Che cos'è l'auto-attenzione?

Illustrazione astratta di linee di punti rossi su sfondo blu

Autori

Vanna Winland

AI Advocate & Technology Writer

Che cos'è l'auto-attenzione?

L'auto-attenzione è un tipo di meccanismo di attenzione utilizzato nei modelli di apprendimento automatico. Questo meccanismo viene utilizzato per valutare l'importanza dei token o delle parole in una sequenza di input per comprendere meglio le relazioni tra di essi. È una parte cruciale dei modelli di trasformatori, una potente architettura di intelligenza artificiale essenziale per le attività di elaborazione del linguaggio naturale (NLP). L'architettura trasformativa è la base per la maggior parte dei moderni modelli linguistici di grandi dimensioni (LLM).

Il meccanismo di auto-attenzione è stato introdotto mediante il trasformatore, un modello di architettura di reti neurali proposto dai ricercatori. L'obiettivo dell'architettura proposta era affrontare le sfide dei modelli tradizionali di apprendimento automatico che utilizzano reti neurali a convoluzione (CNN) e reti neurali ricorrenti (RNN).1

I modelli sequenziali tradizionali seguono la stessa architettura encoder-decoder dei modelli di trasformatore, ma elaborano i dati step-by-step o sequence-to-sequence (seq2seq). Questa funzione rappresenta una sfida per la parallelizzazione, ovvero la capacità di ridurre i tempi di calcolo e migliorare la generazione di output calcolando contemporaneamente i pesi di attenzione su tutte le parti della sequenza di input.

L'auto-attenzione ha svolto un ruolo chiave nell'avanzamento degli LLM, consentendo la parallelizzazione all'interno degli esempi di formazione. Questo metodo è utile perché maggiore è la lunghezza della sequenza, maggiori sono i vincoli di memoria che limitano l'invio in batch tra gli esempi di training. Utilizzando l'auto-attenzione, i dati di addestramento degli LLM possono essere suddivisi in batch ed elaborati contemporaneamente su più GPU.1 L'auto-attenzione riduce la potenza di calcolo necessaria per addestrare modelli di machine learning con batching efficiente elaborato in parallelo.

L'attenzione personale non solo contribuisce a distribuire il carico computazionale in modo efficiente, ma abilita anche la capacità di elaborare i pesi dell'attenzione in modo simultaneo. Questa capacità consente al modello di concentrarsi sulle parti rilevanti di una sequenza di input per prevedere dinamicamente l'importanza di ogni elemento all'interno di una sequenza. L'attenzione personale è utile per attività di NLP come la traduzione automatica, l'analisi del sentiment e il riepilogo.  

Come funziona l'attenzione di sé?

L'auto-attenzione nei modelli di machine learning è simile al concetto comportamentale umano, in quanto entrambi implicano la concentrazione su elementi rilevanti all'interno di un contesto più ampio per elaborare accuratamente le informazioni. In psicologia, si tratta di concentrarsi sui propri pensieri o comportamenti, mentre nel deep learning si tratta di concentrarsi sulle parti rilevanti di una sequenza di input.

L'architettura trasformativa include un livello di auto-attenzione in cui è integrato il processo di attenzione. I passaggi sono spiegati come presentati nel documento "Attention is All You Need" di Ashish Vaswani et al., che introduce il livello di auto-attenzione.

Incorporare la sequenza di input

Una sequenza di input è una serie di punti dati vettorializzati in embedding, o rappresentazioni numeriche, che l'algoritmo di machine learning può utilizzare per calcolare i punteggi di attenzione necessari per produrre una sequenza di output.

Nella traduzione automatica, una frase viene considerata una sequenza di input, in cui ogni parte è considerata un punto dati o un token di input. I token vengono convertiti in embedding che agiscono come unità semantiche che il modello può elaborare.2 Gli embedding vengono utilizzati per calcolare i pesi di attenzione che aiutano il modello a dare priorità (o a occuparsi) degli input più rilevanti.

Generare vettori per la funzione di attenzione

Il modello utilizza questi embedding per generare tre vettori chiave per ogni token: query (Q), chiave (K) e valore (V). Questi valori verranno utilizzati per aiutare il modello a creare le corrispondenze semantiche più forti all'interno della frase di input.

Le moltiplicazioni di matrici vengono eseguite per ottenere i vettori di query, chiave e valore. Il meccanismo di attenzione calcola una somma ponderata dei valori in base alle rispettive matrici di peso dei componenti di query, chiave e valore e agli input incorporati.1 Questo processo è noto come trasformazione lineare.

Calcolare i punteggi di attenzione 

Dopo la trasformazione degli embedding, vengono calcolati i punteggi di attenzione per ogni elemento della sequenza. I punteggi di attenzione si ottengono prendendo i punteggi di attenzione del prodotto scalare tra i vettori di query e i vettori chiave. Questi pesi rappresentano la concentrazione (o attenzione) che un token specifico deve dedicare agli altri token in una sequenza.

Successivamente, il punteggio di attenzione viene scalato dalla radice quadrata della dimensionalità dei vettori chiave. Questo processo aiuta a stabilizzare i gradienti e a evitare che diventino troppo grandi per essere calcolati in modo efficiente all'aumentare della dimensionalità dei vettori.

Trasformare i punteggi di attenzione in probabilità 

I punteggi di attenzione ottenuti attraverso il prodotto scalare dei vettori di query e dei vettori chiave vengono trasformati in probabilità utilizzando la funzione softmax. Questo processo è chiamato normalizzazione.

Con queste probabilità normalizzate, il blocco di attenzione softmax consente all'architettura trasformativa di valutare l'importanza dei singoli elementi di input durante la generazione dell'output.3 Queste probabilità vengono utilizzate per trovare l'importanza relativa di ciascun elemento nella sequenza. Il modello di attenzione usa questi pesi normalizzati per decidere su quali parti dell'input concentrarsi.

Infine, i pesi di attenzione derivati da questo processo contribuiscono alla somma ponderata finale del vettore di valori. Più alto è il punteggio di attenzione, maggiore è il peso dell'attenzione della sequenza. Ciò significa che avrà una maggiore influenza sull'output finale della somma ponderata del vettore di valori.

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

I modelli di attenzione migliorano la comprensione del contesto 

I modelli di attenzione sono efficaci nel catturare le dipendenze a lungo raggio indipendentemente dalla distanza tra ogni elemento, o token, all'interno di una sequenza. L'attenzione multihead è un'estensione cruciale dell'attenzione personale che migliora questa funzionalità primaria occupandosi contemporaneamente di diversi elementi all'interno del set di dati di input. I modelli possono occuparsi contemporaneamente di aspetti o relazioni distinti nei dati, consentendo di tracciare più contesto tra dipendenze o token.

I primi modelli bidirezionali, come le rappresentazioni degli encoder bidirezionali dai trasformatori (BERT), miglioravano la comprensione del contesto consentendo al modello di considerare le informazioni provenienti sia dalla sequenza in avanti che da quella indietro. Nell'attenzione bidirezionale, il modello mira a comprendere il significato di una parola in base alle parole che la circondano.4

I modelli GPT hanno reso popolare l'auto-attenzione, evidenziando i vantaggi di una finestra di contesto ampliata per le attività generative. La capacità di elaborare più informazioni contemporaneamente porta a una maggiore precisione e comprensione.

I modelli AI utilizzano l'auto-attenzione per elaborare in modo efficiente lunghe sequenze di input, scambiando informazioni sull'attenzione su larga scala e riducendo l'utilizzo della memoria.5 L'auto-attenzione consente al modello di acquisire una comprensione contestuale più profonda utilizzando la finestra del contesto all'interno del modello. Più ampia è la finestra contestuale, maggiore è il numero di token a cui il modello può prestare attenzione contemporaneamente.

Casi d’uso

Attività di NLP: il meccanismo di auto-attenzione migliora le funzionalità dei modelli di machine learning consentendo l'analisi efficiente e completa di un intero testo. La ricerca ha mostrato progressi nella classificazione dei sentimenti.6 I modelli possono svolgere bene le attività di NLP perché il livello di attenzione consente di calcolare la relazione tra le parole indipendentemente dalla distanza tra loro.7

Computer vision: i meccanismi di auto-attenzione non sono esclusivi delle attività di NLP. Possono essere utilizzati abche per mettere a fuoco parti specifiche di un'immagine. Gli sviluppi nei modelli di riconoscimento delle immagini suggeriscono che l'auto-attenzione è una componente cruciale per aumentare la loro robustezza e generalizzazione.8

Note a piè di pagina

1. “Attention Is All You Need,” Ashish Vaswani et al., estratti dalla 31ª International Conference on Neural Information Processing Systems, arXiv:1706.03762v7, revisionato il 2 agosto 2023.

2. “Tokenization,” saggio in Introduction to Information Retrieval, Christopher Manning, Prabhakar Raghavan, Hinrich Schutze, 2008.

3. “Rethinking Softmax: Self-Attention with Polynomial Activations,” Hemanth Saratchandran et al., Australian Institute of Machine Learning, University of Adelaide, arXiv:2410.18613v1, 24 ottobre 2024.

4. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” Jacob Devlin et al., arXiv:1810.04805v2, rivisitato il 24 maggio 2019.

5. “Scaling of Search and Learning: A Roadmap to Reproduce o1 from Reinforcement Learning Perspective,” Zhiyuan Zeng et al., arXiv:2412.14135, 18 dicembre 2024

6. “Bidirectional LSTM with self-attention mechanism and multi-channel features for sentiment classification,” Weijiang Li et al., Neurocomputing Vol 387, 28 aprile 2020.

7. “Parallel Scheduling Self-attention Mechanism: Generalization and Optimization,” Mingfei Yu and Masahiro Fujita, arXiv:2012.01114v1, 2 dicembre 2020.

8. “Exploring Self-attention for Image Recognition,” Hengshuang Zhao, Jiaya Jia and Vladlen Koltun, Estratti della conferenza su computer vision e riconoscimento dei pattern IEEE/CVF, 2020.

Risorse

Cos'è l'incorporamento vettoriale?
Argomento correlato
Che cos'è un meccanismo di attenzione?
Argomento correlato
Cos'è un modello trasformatore?
Argomento correlato
Che cos'è un set di dati?
Argomento correlato
Soluzioni correlate
IBM® watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi AI
Fasi successive

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live