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.
Il 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. 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 auto-attenzione varia quadraticamente con il numero di token, l'unione di token simili riduce drasticamente il totale delle operazioni in virgola mobile (FLOP), consentendo un'inferenza in tempo reale significativamente più veloce.
ToMe è fondamentalmente diverso dalla tokenizzazione, che costituisce la fase iniziale di pre-elaborazione volta a scomporre un'immagine o un testo in singoli token. Mentre la tokenizzazione crea elementi discreti, il Token Merging funge da meccanismo dinamico di sottocampionamento durante l'esecuzione in avanti del modello.
L'algoritmo utilizza in genere l'abbinamento bipartito per valutare la somiglianza dei token, calcolando spesso la somiglianza cosinusoidale tra le chiavi dei token nei livelli di attenzione. I token che condividono informazioni visive o semantiche altamente simili vengono fusi insieme, spesso calcolando la media delle loro caratteristiche. Ciò garantisce che le informazioni spaziali o contestuali essenziali vengano preservate, eliminando al contempo il carico computazionale superfluo, consentendo a framework come PyTorch di elaborare modelli di visione complessi molto più velocemente.
La fusione dei token è diventata una strategia di ottimizzazione fondamentale per l'implementazione di architetture basate su modelli di attenzione ad alta intensità di calcolo in ambienti con risorse limitate.
Sebbene l'integrazione di ToMe in un'architettura completa richieda la modifica dei blocchi di attenzione, il concetto di base si basa sull' individuazione di token simili. Il seguente PyTorch mostra come si possa calcolare la similarità cosinusoidale tra un insieme di token per identificare quali siano i candidati alla fusione.
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 equilibrio tra precisione e velocità. Sia che si utilizzi il Token Merging per ottimizzare un ViT personalizzato, sia che ci si affidi alle efficienze all’avanguardia di YOLO26, la gestione di questi complessi flussi di lavoro dei dati è notevolmente semplificata dalla Ultralytics . La piattaforma offre un ecosistema intuitivo per l’annotazione automatizzata dei dati, l’addestramento senza soluzione di continuità nel cloud e una distribuzione robusta dei modelli su diversi ambienti hardware di edge computing. Le organizzazioni che stanno espandendo le proprie iniziative di visione artificiale si affidano a questi strumenti per portare in produzione modelli all'avanguardia in modo affidabile ed efficiente.
Inizia il tuo viaggio con il futuro del machine learning