Token Merging (ToMe)
Erfahre, wie Token Merging (ToMe) Transformer- und ViT-Modelle optimiert. Entdecke, wie sich FLOPs reduzieren, die Inferenz in Echtzeit beschleunigen und die Geschwindigkeit generativer KI steigern lassen.
Token Merging (ToMe) ist eine hochmoderne Technik zur Optimierung der Leistung und Effizienz von Transformer-Architekturen, indem die Anzahl der während der Vorwärtsdurchläufe verarbeiteten Tokens reduziert wird. Ursprünglich zur Beschleunigung von Vision-Transformer-Modellen (ViT) entwickelt, identifiziert und kombiniert ToMe systematisch redundante Tokens innerhalb des Netzwerks, ohne zusätzliches Training zu erfordern. Da die Rechenkomplexität des Mechanismus der Selbstaufmerksamkeit quadratisch mit der Anzahl der Tokens skaliert, reduziert das Zusammenführen ähnlicher Tokens die Gesamtzahl der Gleitkommaoperationen (FLOPs) drastisch und ermöglicht dadurch deutlich schnellere Echtzeit-Inferenz.
Den Token-Merging-Prozess verstehen#
ToMe unterscheidet sich grundlegend von der Tokenisierung, dem anfänglichen Vorverarbeitungsschritt, bei dem ein Bild oder Text in einzelne Tokens zerlegt wird. Während die Tokenisierung diskrete Elemente erzeugt, fungiert Token Merging während der Vorwärtsausführung des Modells als dynamischer Mechanismus zur Verringerung der Auflösung.
Der Algorithmus verwendet typischerweise bipartites Matching, um die Ähnlichkeit von Tokens zu bewerten, und berechnet häufig die Kosinusähnlichkeit zwischen den Schlüsseln der Tokens in den Aufmerksamkeitslayern. Tokens mit sehr ähnlichen visuellen oder semantischen Informationen werden miteinander verschmolzen, oft durch Mittelung ihrer Merkmale. Dadurch bleiben wichtige räumliche oder kontextbezogene Informationen erhalten, während unnötiger Rechenaufwand entfällt. So können Frameworks wie PyTorch komplexe Bildverarbeitungsmodelle deutlich schneller verarbeiten.
Praxisanwendungen von Token Merging#
Token Merging hat sich zu einer wichtigen Optimierungsstrategie für die Bereitstellung umfangreicher, auf Aufmerksamkeit basierender Architekturen in Umgebungen mit begrenzten Rechenressourcen entwickelt.
-
Generative KI und Bildsynthese: In beliebten Diffusionsmodellen zur Umwandlung von Text in Bilder wird ToMe häufig zur Beschleunigung der Bilderzeugung eingesetzt. Durch das Zusammenführen von Tokens für den Hintergrund oder Bereiche mit wenigen Details benötigt der Erzeugungsprozess weniger Schritte, spart erhebliche GPU-Ressourcen und reduziert die Latenz für Endnutzer, die auf generative Modelle setzen. Mehr über Diffusionsprozesse erfährst du in der Grundlagenforschung auf arXiv.
-
KI auf Edge-Geräten: Die Bereitstellung umfangreicher Modelle wie des Modells zur Segmentierung beliebiger Objekte (SAM) auf Mobilgeräten ist aufgrund begrenzter Speicherressourcen bekanntermaßen schwierig. ToMe trägt dazu bei, den Speicherbedarf dynamisch zu verringern, sodass komplexe Aufgaben der Bildsegmentierung auf Edge-Hardware ausgeführt werden können. Wenn maximale Geschwindigkeit entscheidend ist, wechseln Entwickler häufig zu nativ optimierten, aufmerksamkeitfreien Architekturen wie Ultralytics YOLO26, um eine schnellere durchgängige Inferenz auf Edge-Geräten zu ermöglichen.
Python-Beispiel: Berechnung der Token-Ähnlichkeit#
Die Integration von ToMe in eine vollständige Architektur erfordert zwar Änderungen an den Aufmerksamkeitsblöcken, doch das Grundkonzept beruht darauf, ähnliche Tokens zu finden. Das folgende PyTorch-Codebeispiel zeigt, wie sich die Kosinusähnlichkeit zwischen einer Gruppe von Tokens berechnen lässt, um diejenigen zu identifizieren, die sich zum Zusammenführen eignen.
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)Moderne Pipelines für maschinelles Lernen erfordern eine sorgfältige Abstimmung zwischen Genauigkeit und Geschwindigkeit. Unabhängig davon, ob du Token Merging zur Optimierung eines benutzerdefinierten ViT einsetzt oder die hochmoderne Effizienz von YOLO26 nutzt: Die Verwaltung dieser komplexen Daten-Workflows wird durch die Ultralytics Platform erheblich vereinfacht. Die Plattform bietet ein intuitives Ökosystem für die automatisierte Datenannotation, nahtloses Training in der Cloud und die zuverlässige Bereitstellung von Modellen auf verschiedenster Edge-Computing-Hardware. Organisationen, die ihre Initiativen im Bereich Computer Vision ausbauen, setzen auf diese Tools, um hochmoderne Modelle zuverlässig und effizient in die Produktion zu überführen.






