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

Longformer

Longformer combina l'attenzione a finestra scorrevole con alcuni token globali, così il costo cresce linearmente con la lunghezza e può leggere documenti di 4.096 token.

Longformer è un Transformer per documenti lunghi che sostituisce l'attenzione automatica completa con un'attenzione a finestre scorrevoli attorno a ogni token, più un'attenzione globale su alcuni token scelti in base all'attività; il suo costo cresce così linearmente con la lunghezza dell'input anziché quadraticamente. Iz Beltagy, Matthew Peters e Arman Cohan dell'Allen Institute for AI lo hanno presentato nel 2020 nell'articolo Longformer: The Long-Document Transformer. Gli encoder come BERT e RoBERTa leggono al massimo 512 token, quindi i testi più lunghi dovevano essere suddivisi in blocchi che perdevano i collegamenti tra loro. I modelli Longformer pubblicati leggono 4.096 token in un solo passaggio, una finestra di contesto otto volte più lunga.

Come funziona l'attenzione di Longformer#

Ogni livello combina schemi locali e globali all'interno di un unico meccanismo di attenzione:

  • Attenzione a finestra scorrevole: Ogni token presta attenzione a una finestra fissa di token vicini, 256 per lato nei modelli pubblicati.
  • Finestra scorrevole dilatata: Gli intervalli tra le posizioni a cui si presta attenzione permettono a una testa di raggiungere distanze maggiori a parità di costo. Gli autori hanno usato la dilatazione in alcune teste dei livelli superiori dei loro modelli linguistici a livello di carattere.
  • Attenzione globale: I token selezionati prestano attenzione a tutte le posizioni e ogni posizione presta attenzione a loro, tramite proiezioni distinte di query, key e value. La scelta dipende dall'attività: il token [CLS] per la classificazione e i token della domanda per la risposta alle domande.

La sovrapposizione dei livelli amplia la portata della finestra, proprio come le convoluzioni sovrapposte ampliano il campo recettivo di una rete neurale convoluzionale (CNN): l livelli con finestra w coprono l × w token. Ogni livello calcola circa n × w punteggi di attenzione invece di n × n. Contare le coppie in una maschera Longformer rende evidente la differenza:

import torch

window = 512  # Longformer-base: 256 tokens on each side of every token

for n in (1024, 2048, 4096):
    pos = torch.arange(n)
    # Sliding window: each token attends to neighbors within window / 2 positions
    mask = (pos[:, None] - pos[None, :]).abs() <= window // 2
    # Global attention on token 0 ([CLS]): it sees every token and every token sees it
    mask[0, :] = True
    mask[:, 0] = True
    print(f"{n} tokens: full attention {n * n / 1e6:.1f}M scores, Longformer {mask.sum().item() / 1e6:.1f}M")

Stampa 0,5 M, 1,0 M e 2,0 M punteggi Longformer, rispetto a 1,0 M, 4,2 M e 16,8 M per l'attenzione completa: a ogni raddoppio dell'input, il lavoro di attenzione di Longformer raddoppia, mentre quello dell'attenzione completa quadruplica. Le implementazioni reali calcolano solo la banda dei punteggi, da cui deriva il risparmio di memoria.

Addestramento e risultati#

Longformer parte dal checkpoint RoBERTa. Gli autori hanno copiato otto volte i 512 embedding posizionali appresi, per coprire 4.096 posizioni, e hanno continuato il preaddestramento del modello linguistico mascherato su documenti lunghi. Dopo il fine-tuning, ha superato sistematicamente RoBERTa nei task su documenti lunghi e raggiunto all'epoca risultati all'avanguardia nei benchmark di risposta a domande WikiHop e TriviaQA; il modello linguistico a livello di carattere ha stabilito nuovi risultati su text8 ed enwik8.

Longformer-Encoder-Decoder (LED) aggiunge un decoder per la sintesi del testo e altre attività di generazione di testo, dimostrato nella sintesi di interi articoli scientifici provenienti da arXiv. Hugging Face Transformers implementa entrambi i modelli e accetta i token globali come global_attention_mask. In seguito sono state sviluppate versioni specifiche per settore, come Clinical-Longformer, preaddestrato su ampi corpus di testi clinici e valutato su 10 attività, tra cui il riconoscimento di entità nominate, la risposta alle domande e la classificazione di documenti.

  • Transformer-XL: Legge un testo lungo un segmento alla volta e consente a ogni segmento di prestare attenzione agli stati nascosti memorizzati nella cache del segmento precedente, estendendo il contesto tramite ricorrenza per la generazione da sinistra a destra.
  • BigBird: Un modello di Google dello stesso anno che aggiunge collegamenti di attenzione casuali all'attenzione a finestra e globale e legge anch'esso 4.096 token.
  • Attenzione sparsa: La famiglia più ampia di schemi di attenzione fissi a cui appartiene Longformer.
  • Attenzione flash: Calcola l'attenzione completa esatta in blocchi di memoria on-chip, così la memoria cresce linearmente con la lunghezza mentre il numero di punteggi resta quadratico.

Attenzione locale e globale nella visione#

Le immagini ad alta risoluzione presentano lo stesso problema, perché un Transformer visivo (ViT) trasforma un'immagine in migliaia di token di patch. Lo Swin Transformer risolve il problema usando finestre locali traslate; il Segment Anything Model (SAM) di Meta, incluso nel pacchetto Ultralytics, alterna blocchi di attenzione a finestre e globale per la segmentazione delle immagini: l'encoder d'immagini ViT-B presta attenzione all'interno di finestre non sovrapposte di 14 × 14 su una griglia di patch 64 × 64 in 8 dei suoi 12 blocchi e globalmente su tutte le 4.096 patch nei blocchi 2, 5, 8 e 11.

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