Token Merging (ToMe)
Scopri come il Token Merging (ToMe) ottimizza i modelli Transformer e ViT. Scopri come ridurre i FLOP, accelerare l'inferenza in tempo reale e aumentare la velocità dell'IA Generativa.
Token Merging (ToMe) è una tecnica all'avanguardia progettata per ottimizzare le prestazioni e l'efficienza delle architetture Transformer riducendo il numero di token elaborati durante i passaggi in avanti (forward pass). Sviluppato originariamente per accelerare i modelli Vision Transformer (ViT), ToMe funziona identificando e combinando sistematicamente i token ridondanti all'interno della rete senza richiedere alcun addestramento aggiuntivo. Poiché la complessità computazionale del meccanismo di self-attention scala quadraticamente con il numero di token, l'unione di token simili riduce drasticamente le operazioni in virgola mobile totali (FLOP), consentendo un'inferenza in tempo reale significativamente più veloce.
Link to this sectionComprendere il processo di Token Merging#
ToMe è fondamentalmente diverso dalla tokenization, che è la fase iniziale di pre-elaborazione consistente nel suddividere un'immagine o un testo in singoli token. Mentre la tokenization crea gli elementi discreti, il Token Merging agisce come un meccanismo dinamico di downsampling durante l'esecuzione in avanti del modello.
L'algoritmo utilizza solitamente il matching bipartito per valutare la similarità dei token, spesso calcolando la similarità del coseno tra le chiavi dei token nei livelli di attenzione. I token che condividono informazioni visive o semantiche altamente simili vengono fusi insieme, spesso facendo la media delle loro caratteristiche. Ciò garantisce che le informazioni spaziali o contestuali essenziali vengano preservate riducendo al contempo il carico computazionale non necessario, consentendo a framework come PyTorch di elaborare modelli di visione complessi molto più velocemente.
Link to this sectionApplicazioni nel mondo reale del Token Merging#
Il Token Merging è diventato una strategia di ottimizzazione critica per implementare pesanti architetture basate sull'attenzione in ambienti limitati dal punto di vista computazionale.
-
Generative AI and Image Synthesis: Nei popolari modelli di diffusione text-to-image, ToMe viene utilizzato frequentemente per accelerare la generazione di immagini. Unendo i token di sfondo o a basso dettaglio, il processo di generazione richiede meno passaggi, risparmiando immense risorse GPU e riducendo la latenza per gli utenti finali che si affidano a modelli generativi. Puoi saperne di più sui processi di diffusione nella ricerca fondamentale su arXiv.
-
Edge AI Deployments: L'implementazione di modelli massicci come il Segment Anything Model (SAM) su dispositivi mobili è notoriamente difficile a causa dei vincoli di memoria. ToMe aiuta a ridurre dinamicamente l'impronta di memoria, consentendo l'esecuzione di complesse attività di image segmentation su hardware edge. Per gli scenari in cui la pura velocità è fondamentale, gli ingegneri spesso passano ad architetture nativamente ottimizzate e prive di attenzione come Ultralytics YOLO26 per un'inferenza edge end-to-end più veloce.
Link to this sectionEsempio Python: Calcolo della similarità tra token#
Sebbene l'integrazione di ToMe in un'architettura completa richieda la modifica dei blocchi di attenzione, il concetto fondamentale si basa sulla ricerca di token simili. Il seguente snippet PyTorch dimostra come si possa calcolare la similarità del coseno tra un set di token per identificare quali sono candidati per l'unione.
import torch
import torch.nn.functional as F
# Simulate a batch of 4 image patches (tokens) with 64-dimensional features
tokens = torch.randn(1, 4, 64)
# Normalize the tokens to easily compute cosine similarity via dot product
normalized_tokens = F.normalize(tokens, p=2, dim=-1)
# Compute the similarity matrix between all tokens (1 x 4 x 4)
similarity_matrix = torch.matmul(normalized_tokens, normalized_tokens.transpose(1, 2))
# Tokens with high similarity scores (close to 1.0) off the diagonal
# are prime candidates for Token Merging.
print("Similarity Matrix:", similarity_matrix)Le moderne pipeline di machine learning richiedono un attento bilanciamento tra accuratezza e velocità. Che tu stia utilizzando il Token Merging per ottimizzare un ViT personalizzato o che tu faccia affidamento sulle efficienze all'avanguardia di YOLO26, la gestione di questi complessi flussi di lavoro dati è notevolmente semplificata dalla Ultralytics Platform. La Platform fornisce un ecosistema intuitivo per data annotation automatizzata, training cloud senza interruzioni e una solida implementazione del modello su diversi ambienti hardware di edge computing. Le organizzazioni che scalano le loro iniziative di computer vision si affidano a questi strumenti per portare modelli all'avanguardia in produzione in modo affidabile ed efficiente.






