Heim >Technologie-Peripheriegeräte >KI >Neue Ideen zur Beschleunigung von ViT-Modellen! Meta führt Token Merging ein, das auf Merging statt Pruning setzt
Visual Transformer (ViT) gelangte vor zwei Jahren in die Öffentlichkeit und hat sich zu einem Kernbestandteil der Computer-Vision-Forschung entwickelt.
Ein Transformer-Modell aus dem Bereich der Verarbeitung natürlicher Sprache wurde erfolgreich in den Bereich der Computer Vision migriert. Seitdem hat sich der Fortschritt im Bereich Computer Vision beschleunigt.
Obwohl Vanilla ViT hinsichtlich Kosten und Leistung übertroffen wird, bietet es dennoch viele Vorteile.
Sie bestehen aus einfachen Matrixmultiplikationen, was sie schneller macht, als ihre reine Anzahl an Operationen vermuten lässt.
Darüber hinaus unterstützen sie leistungsstarke selbstüberwachte Pre-Training-Techniken wie MAE (Masked Autoencoder), die State-of- Ergebnisse auf dem neuesten Stand und können gleichzeitig schnell trainiert werden.
Und weil sie keine Annahmen über die Daten treffen, können sie auf viele Modi wie Bilder, Audio, Text usw. angewendet werden . fast ohne Änderungen .
Natürlich ist das Ideal sehr voll und die Realität sehr dünn. Das ViT-Modell hat einen großen Maßstab und eine große Verzögerung. Die Ausführung dieses komplexen Modells auf einem Gerät mit begrenzten Ressourcen kann sehr problematisch sein.
#🎜 🎜# Um das Problem des langsamen Betriebs anzugehen, haben Forscher mehrere Lösungen vorgeschlagen. Eine der gängigen Methoden zur Beschleunigung des Vision-Transformer-Modells ist die Durchführung einer Token-Bereinigung.
Beschneiden Sie Token zur Laufzeit, um einen effizienten Transformer zu erstellen, indem Sie weniger wichtige Token beschneiden. Beispielsweise bereinigt DynamicViT redundante Token hierarchisch, um FLOPs bei Klassifizierungsaufgaben zu reduzieren.
Das Beschneiden von Token bringt jedoch mehrere Probleme mit sich, von denen das wichtigste darin besteht, dass das Beschneiden von Token zu Informationsverlust führt Die Anzahl der ViT-Modell-Tokens, die Menschen bereinigen können, ist begrenzt. Um den Informationsverlust zu reduzieren, können nur unwichtige Token bereinigt werden.
Darüber hinaus muss man das Modell erneut trainieren, damit der beschnittene Token wirksam ist. Dies führt zu einem zusätzlichen Ressourcenverbrauch.
Noch wichtiger ist, dass das Token-Pruning ein dynamischer Prozess ist und die Unterschiede beim Token-Pruning anhand verschiedener Bilder oder Sätze ermittelt werden müssen . Menge. Dies ist zwar gut für die Verbesserung der Genauigkeit, aber nicht praktisch genug, da die Daten in diesem Fall nicht mehr stapelweise verarbeitet werden können.
Um dieses Problem zu lösen, müssen beim Beschneiden Masken hinzugefügt werden, was sich weiter auf die Effizienzsteigerung auswirkt.
Einfach ausgedrückt: Durch das Token-Pruning läuft ViT zwar schneller, dies geht jedoch auf Kosten des Informationsverlusts.
Wie können wir die Geschwindigkeit von ViT ähnlich wie beim Beschneiden gestalten, dabei aber eine höhere Genauigkeit als beim Beschneiden beibehalten? Das Forschungsteam von Meta AI hat eine neue Lösung entwickelt: Token Merging (ToMe).
Papierlink: https://arxiv.org/pdf/2210.09461 .pdf
Beim Zusammenführen von Token werden Token kombiniert, anstatt sie zu beschneiden. Dank seines benutzerdefinierten Matching-Algorithmus ist es genauso schnell wie das Beschneiden und gleichzeitig genauer. Außerdem funktioniert es ohne zusätzliche Schulung, sodass Sie es bei großen Modellen verwenden können, um diese zu beschleunigen, ohne viel Genauigkeit einzubüßen.Das Ziel von Meta besteht darin, ein Token-Merging-Modul in das bestehende ViT einzufügen, um den Durchsatz von Training und Inferenz zu verbessern, ohne dass zusätzliches Training durch Zusammenführen redundanter Token erforderlich ist. Die Grundidee ist: Im Transformer-Modell wird durch Zusammenführen jede Ebene um r Token reduziert. Angenommen, ein Transformer-Modell hat L Schichten, dann können rL Token durch Zusammenführen reduziert werden. Die Größe der Variablen r bestimmt das Verhältnis zwischen Geschwindigkeit und Genauigkeit, da weniger Marker eine geringere Genauigkeit, aber einen höheren Durchsatz bedeuten. Es ist erwähnenswert, dass beim Token Merging rL-Token unabhängig vom Inhalt des Bildes reduziert werden. Dadurch wird das Problem der Unfähigkeit, beim Token-Bereinigen eine Stapelverarbeitung durchzuführen, perfekt gelöst. Mit ToMe werden Stapel ähnlicher Token in jedem Transformer-Block zusammengeführt: Beispielsweise wird Hundefell zu einem einzigen Token zusammengeführt. Token Merging wird in jeden Aufmerksamkeitsblock und jeden Transformer-Block eingefügt. Dies steht auch im Gegensatz zum Workflow des Token Pruning. Letzteres tendiert dazu, den Beschneidungsschritt am Anfang jedes Transformer-Blocks zu platzieren. Durch Token Merging können die Informationen über Token, die zusammengeführt werden müssen, verbreitet werden, und ViT kann auch die Merkmale im Aufmerksamkeitsblock verwenden, um zu entscheiden, welche Token zusammengeführt werden müssen. Der erste Schritt der Zusammenführung besteht darin, ähnliche Token zu identifizieren. Unter der Bedingung, dass QKV (Abfrage, Schlüssel, Wert) in Transformer durch Ablationsexperimente extrahiert wurde, stellte das Forschungsteam fest, dass die Verwendung von Schlüsseln die Ähnlichkeit zwischen Token am besten messen kann (violetter Teil in der Abbildung unten). Da der Schlüssel die in jedem Token enthaltenen Informationen zusammengefasst hat, kann er für das Skalarprodukt in Attention verwendet werden, um die Ähnlichkeit zwischen Token zu messen. Neben der Untersuchung, welcher Indikator sich besser zur Messung der Token-Ähnlichkeit eignet, müssen Sie auch wissen, welcher Abstand die Ähnlichkeit misst. Durch Experimente stellte das Forschungsteam fest, dass die Verwendung des Kosinusabstands zur Messung der Ähnlichkeit zwischen Tokes das beste Verhältnis zwischen Genauigkeit und Geschwindigkeit erzielen kann. Nachdem die Ähnlichkeit von Token ermittelt wurde, ist eine schnelle Methode erforderlich, um zu bestimmen, welche Token übereinstimmen müssen, um die Gesamtzahl von r zu reduzieren. Das Meta-Team verwendet keinen kmeans-Clustering-Algorithmus oder Graphsegmentierungsalgorithmus, sondern einen Matching-Algorithmus, da letzterer nicht nur die Anzahl der Token in jeder Ebene genau abgleichen, sondern auch schnell Tausende von Matches durchführen kann. Dies kann nicht durch iterative Clustering-Algorithmen erreicht werden. Daher hat das Meta-Team eine effizientere Lösung gefunden. Die Designziele sind wie folgt. 1.) Vermeiden Sie Iterationen, die nicht parallelisiert werden können, 2.) möchten Sie, dass die zusammengeführten Änderungen schrittweise erfolgen, da beim Clustering keine Begrenzung für die Anzahl der Marker besteht, die zu einer Gruppe zusammengeführt werden können (was sich negativ auf das Netzwerk auswirken kann), während die meisten übereinstimmen Tags werden nicht zusammengeführt. Mit dieser einzigartigen Technologie können der Durchsatz und die tatsächliche Trainingsgeschwindigkeit des ViT-Modells verbessert werden. Durch die Verwendung von Token Merging kann die Trainingsgeschwindigkeit verdoppelt werden. Es kann für Bild-, Video- und Audioaufgaben eingesetzt werden und erreicht dennoch höchste Genauigkeit. Die spezifische Methode
Das obige ist der detaillierte Inhalt vonNeue Ideen zur Beschleunigung von ViT-Modellen! Meta führt Token Merging ein, das auf Merging statt Pruning setzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!