Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Attention Sinks

Gli attention sink sono token, di solito i primi, che assorbono il peso di attenzione residuo; memorizzarli nella cache mantiene stabili gli LLM anche durante flussi molto lunghi.

Un sink di attenzione è un token che riceve una quota elevata dei pesi di attenzione in molte teste e livelli, anche se il suo contenuto è irrilevante per la richiesta; spesso si tratta del primo token della sequenza. Guangxuan Xiao e colleghi di MIT, Meta AI e Carnegie Mellon University hanno dato un nome al fenomeno in Efficient Streaming Language Models with Attention Sinks, pubblicato a ICLR 2024. Hanno mostrato che i modelli linguistici di grandi dimensioni (LLM) come Llama 2, MPT, Falcon e Pythia si degradano quando una cache KV scorrevole elimina i primi token e che mantenerne quattro consente di ripristinare una generazione stabile.

Perché si formano i sink#

La self-attention trasforma i punteggi di ogni query in pesi mediante una softmax, e la loro somma è sempre uno. Quando nessun token nel contesto è rilevante per una testa, il peso deve comunque essere assegnato a qualcosa. In un modello linguistico causale, i primi token sono visibili a tutti quelli successivi, perciò l'addestramento li trasforma nella destinazione predefinita per il peso di cui una testa non ha bisogno. Nell'analisi StreamingLLM di Llama 2, ogni livello oltre i due inferiori concentrava l'attenzione sui token iniziali in tutte le teste. Un logit sink aggiunto alla softmax mostra l'effetto:

import torch

torch.manual_seed(0)
values = torch.randn(6, 4)
# A query that matches none of the 6 tokens: every score is close to zero
scores = torch.tensor([0.1, -0.2, 0.0, 0.2, -0.1, 0.0])

# Softmax must hand out a total weight of 1, so the output mixes all six values
weights = scores.softmax(dim=-1)
print(f"No sink: weight on tokens {weights.sum():.2f}, output norm {(weights @ values).norm():.2f}")

# A sink logit joins the softmax but carries no value, so it absorbs the spare weight
sink = torch.tensor([3.0])
weights = torch.cat([sink, scores]).softmax(dim=-1)[1:]
print(f"With sink: weight on tokens {weights.sum():.2f}, output norm {(weights @ values).norm():.2f}")

Senza sink, la testa distribuisce il suo peso totale su sei valori irrilevanti e restituisce un output con norma 0,83. Con un logit sink pari a 3, il sink riceve il 77% del peso e l'output scende a 0,19, così che la testa non fa quasi nulla per questa query. I modelli open-weight gpt-oss di OpenAI integrano questo meccanismo con un logit sink appreso per ogni testa di attenzione, offrendo a ciascuna un punto in cui assegnare il peso residuo senza contribuire all'output.

Generazione in streaming con StreamingLLM#

Un modello che genera testo all'infinito supera qualsiasi finestra di contesto e non può mantenere ogni token nella cache KV; la semplice attenzione a finestra, che conserva solo i token più recenti, non funziona più appena vengono rimossi i primi token. StreamingLLM mantiene permanentemente le chiavi e i valori dei quattro token iniziali accanto a una finestra scorrevole di quelli recenti e assegna le posizioni in base all'ordine nella cache anziché nel testo originale, riapplicando a ogni passaggio gli embedding posizionali rotativi (RoPE):

Questo ha mantenuto stabile la modellazione linguistica per oltre 4 milioni di token e ha raggiunto una velocità fino a 22,2 volte superiore rispetto a una finestra scorrevole che ricalcola la cache per ogni nuovo token. La finestra continua a limitare ciò che il modello può ricordare: i token eliminati dalla parte centrale sono persi per sempre, quindi un chatbot in streaming o un agente di AI ricorda solo gli scambi più recenti. Gli autori hanno anche preaddestrato modelli con un token segnaposto dedicato e apprendibile all'inizio di ogni campione, che ha assunto autonomamente il ruolo del sink.

  • Attenzione a finestra scorrevole: Limita ogni token ai vicini recenti. Applicata in inferenza a un modello addestrato con attenzione completa, non funziona più quando i sink escono dalla finestra.
  • Degrado del contesto: Calo di accuratezza al crescere di un prompt, anche quando rientra ancora nella finestra di contesto.

Sink nei modelli di visione#

I Transformer visivi (ViT) mostrano un comportamento correlato. In Vision Transformers Need Registers, ricercatori di Meta e Inria hanno individuato token con norme insolitamente elevate in patch di sfondo con poche informazioni nei ViT supervisionati e auto-supervisionati, riutilizzati per calcoli interni. Aggiungere alcuni token register all'input ha assorbito quel ruolo, rimosso gli artefatti dalle mappe delle caratteristiche e dalle mappe di attenzione e migliorato la predizione densa.

SAM 2 di Meta, eseguibile con il pacchetto Ultralytics, gestisce la memoria video secondo uno schema simile, che mantiene un riferimento iniziale e una finestra: per ogni nuovo fotogramma, la sua attenzione alla memoria legge le voci della banca di memoria relative ai fotogrammi indicati dall'utente, conservate per l'intero video, oltre a quelle dei 6 fotogrammi più recenti, così che il costo dell'attenzione per fotogramma rimanga costante indipendentemente dalla durata del video.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning