Künstliche Intelligenz
EfficientViT: Speichereffizienter Vision-Transformer für hochauflösendes Computer Vision

Aufgrund ihrer hohen Modellkapazität erfreuen sich Vision Transformer-Modelle in jüngster Zeit großer Beliebtheit. Trotz ihrer Leistung haben Vision-Transformer-Modelle einen großen Nachteil: Ihre bemerkenswerte Rechenleistung geht mit hohen Rechenkosten einher, und das ist der Grund, warum Vision-Transformer nicht die erste Wahl für Echtzeitanwendungen sind. Um dieses Problem anzugehen, hat eine Gruppe von Entwicklern EfficientViT auf den Markt gebracht, eine Familie von Hochgeschwindigkeits-Vision-Transformatoren.
Bei der Arbeit an EfficientViT stellten die Entwickler fest, dass die Geschwindigkeit der aktuellen Transformatormodelle häufig durch ineffiziente Speicheroperationen begrenzt wird, insbesondere durch elementweise Funktionen und Tensorumformung in MHSA oder Multi-Head Self Attention-Netzwerken. Um diese ineffizienten Speicheroperationen zu bewältigen, haben die Entwickler von EfficientViT an einem neuen Baustein mit Sandwich-Layout gearbeitet, d. h. das EfficientViT-Modell nutzt ein einzelnes speichergebundenes Multi-Head Self Attention-Netzwerk zwischen effizienten FFN-Schichten, das zur Verbesserung der Speichereffizienz beiträgt Außerdem wird die gesamte Kanalkommunikation verbessert. Darüber hinaus entdeckt das Modell auch, dass Aufmerksamkeitskarten häufig große Ähnlichkeiten zwischen den Köpfen aufweisen, was zu rechnerischer Redundanz führt. Um das Redundanzproblem anzugehen, stellt das EfficientViT-Modell ein kaskadiertes Gruppenaufmerksamkeitsmodul vor, das Aufmerksamkeitsköpfe mit verschiedenen Aufteilungen der gesamten Funktion versorgt. Die Methode hilft nicht nur, Rechenkosten zu sparen, sondern verbessert auch die Aufmerksamkeitsvielfalt des Modells.
Umfassende Experimente, die mit dem EfficientViT-Modell in verschiedenen Szenarien durchgeführt wurden, zeigen, dass EfficientViT bestehende effiziente Modelle übertrifft Computer Vision und dabei einen guten Kompromiss zwischen Genauigkeit und Geschwindigkeit erzielen. Tauchen wir also tiefer ein und erkunden wir das EfficientViT-Modell etwas genauer.
Eine Einführung in Vision Transformers und EfficientViT
Vision Transformers gehören nach wie vor zu den beliebtesten Frameworks in der Computer-Vision-Branche, da sie überragende Leistung und hohe Rechenkapazitäten bieten. Mit der ständig verbesserten Genauigkeit und Leistung der Vision-Transformer-Modelle steigen jedoch auch die Betriebskosten und der Rechenaufwand. Beispielsweise verwenden aktuelle Modelle, von denen bekannt ist, dass sie bei ImageNet-Datensätzen eine hochmoderne Leistung bieten, wie SwinV2 und V-MoE, 3B- bzw. 14.7B-Parameter. Die schiere Größe dieser Modelle in Verbindung mit den Rechenkosten und -anforderungen machen sie für Echtzeitgeräte und -anwendungen praktisch ungeeignet.
Das EfficientNet-Modell zielt darauf ab, zu untersuchen, wie die Leistung von gesteigert werden kann Vision Transformer-Modelleund Finden der Prinzipien, die hinter dem Entwurf effizienter und effektiver transformatorbasierter Framework-Architekturen stehen. Das EfficientViT-Modell basiert auf vorhandenen Vision-Transformer-Frameworks wie Swim und DeiT und analysiert drei wesentliche Faktoren, die sich auf die Interferenzgeschwindigkeit der Modelle auswirken, darunter Rechenredundanz, Speicherzugriff und Parameternutzung. Darüber hinaus stellt das Modell fest, dass die Geschwindigkeit von Vision-Transformator-Modellen speichergebunden ist, was bedeutet, dass die volle Nutzung der Rechenleistung in CPUs/GPUs durch Verzögerungen beim Speicherzugriff verhindert oder eingeschränkt wird, was sich negativ auf die Laufzeitgeschwindigkeit der Transformer auswirkt . Elementweise Funktionen und Tensorumformung in MHSA oder Multi-Head Self Attention-Netzwerken sind die speicherineffizientesten Operationen. Das Modell stellt außerdem fest, dass die optimale Anpassung des Verhältnisses zwischen FFN (Feed Forward Network) und MHSA dazu beitragen kann, die Speicherzugriffszeit erheblich zu verkürzen, ohne die Leistung zu beeinträchtigen. Allerdings beobachtet das Modell auch eine gewisse Redundanz in den Aufmerksamkeitskarten aufgrund der Tendenz des Aufmerksamkeitskopfes, ähnliche lineare Projektionen zu lernen.
Das Modell ist eine abschließende Aufbereitung der Erkenntnisse aus der Forschungsarbeit für das EfficientViT. Das Modell verfügt über ein neues Schwarz mit Sandwich-Layout, das eine einzelne speichergebundene MHSA-Schicht zwischen den Feed Forward Network- oder FFN-Schichten anwendet. Der Ansatz reduziert nicht nur die Zeit, die für die Ausführung speichergebundener Vorgänge in MHSA benötigt wird, sondern macht den gesamten Prozess auch speichereffizienter, indem er mehr FFN-Schichten ermöglicht, um die Kommunikation zwischen verschiedenen Kanälen zu erleichtern. Das Modell nutzt außerdem ein neues CGA- oder Cascaded Group Attention-Modul, das darauf abzielt, die Berechnungen effektiver zu gestalten, indem es nicht nur die Rechenredundanz in den Aufmerksamkeitsköpfen reduziert, sondern auch die Tiefe des Netzwerks erhöht, was zu einer erhöhten Modellkapazität führt. Schließlich erweitert das Modell die Kanalbreite wesentlicher Netzwerkkomponenten, einschließlich Wertprojektionen, und verkleinert gleichzeitig Netzwerkkomponenten mit geringem Wert, wie versteckte Dimensionen in den Feed-Forward-Netzwerken, um die Parameter im Framework neu zu verteilen.

Wie im obigen Bild zu sehen ist, schneidet das EfficientViT-Framework hinsichtlich Genauigkeit und Geschwindigkeit besser ab als aktuelle CNN- und ViT-Modelle. Aber wie hat es das EfficientViT-Framework geschafft, einige der aktuellen State-of-the-Art-Frameworks zu übertreffen? Lasst uns das herausfinden.
EfficientViT: Verbesserung der Effizienz von Bildverarbeitungstransformatoren
Das EfficientViT-Modell zielt darauf ab, die Effizienz der bestehenden Vision-Transformer-Modelle anhand von drei Perspektiven zu verbessern:
- Computerredundanz.
- Speicherzugriff.
- Parameterverwendung.
Ziel des Modells ist es herauszufinden, wie sich die oben genannten Parameter auf die Effizienz von Vision-Transformer-Modellen auswirken und wie diese gelöst werden können, um bessere Ergebnisse mit höherer Effizienz zu erzielen. Lassen Sie uns etwas ausführlicher darüber sprechen.
Speicherzugriff und Effizienz
Einer der wesentlichen Faktoren, die die Geschwindigkeit eines Modells beeinflussen, ist die Speicherzugriffsaufwand oder MAO. Wie in der Abbildung unten zu sehen ist, sind mehrere Operatoren im Transformer, darunter elementweise Addition, Normalisierung und häufiges Umformen, speicherineffiziente Vorgänge, da sie Zugriff auf verschiedene Speichereinheiten erfordern, was ein zeitaufwändiger Prozess ist.

Obwohl es einige bestehende Methoden gibt, die die standardmäßigen Softmax-Selbstaufmerksamkeitsberechnungen vereinfachen können, z. B. Low-Rank-Approximation und spärliche Aufmerksamkeit, bieten sie häufig eine begrenzte Beschleunigung und verschlechtern die Genauigkeit.
Andererseits zielt das EfficientViT-Framework darauf ab, die Speicherzugriffskosten zu senken, indem die Anzahl der speicherineffizienten Schichten im Framework reduziert wird. Das Modell verkleinert DeiT-T und Swin-T auf kleine Subnetze mit einem höheren Interferenzdurchsatz von 1.25X und 1.5X und vergleicht die Leistung dieser Subnetze mit den Anteilen der MHSA-Schichten. Wie im Bild unten zu sehen ist, erhöht der Ansatz bei Implementierung die Genauigkeit von MHSA-Schichten um etwa 20 bis 40 %.

Recheneffizienz
MHSA-Schichten neigen dazu, die Eingabesequenz in mehrere Unterräume oder Köpfe einzubetten und die Aufmerksamkeitskarten einzeln zu berechnen, ein Ansatz, der bekanntermaßen die Leistung steigert. Aufmerksamkeitskarten sind jedoch rechentechnisch nicht billig, und um die Rechenkosten zu untersuchen, untersucht das EfficientViT-Modell, wie redundante Aufmerksamkeit in kleineren ViT-Modellen reduziert werden kann. Das Modell misst die maximale Kosinusähnlichkeit jedes Kopfes und der verbleibenden Köpfe in jedem Block, indem es die in der Breite verkleinerten DeiT-T- und Swim-T-Modelle mit einer 1.25-fachen Inferenzgeschwindigkeit trainiert. Wie im Bild unten zu sehen ist, gibt es eine hohe Ähnlichkeit zwischen Aufmerksamkeitsköpfen, was darauf hindeutet, dass das Modell Rechenredundanz verursacht, da zahlreiche Köpfe dazu neigen, ähnliche Projektionen des genauen vollständigen Merkmals zu lernen.

Um die Köpfe zum Erlernen verschiedener Muster zu ermutigen, wendet das Modell explizit eine intuitive Lösung an, bei der jedem Kopf nur ein Teil des gesamten Merkmals zugeführt wird, eine Technik, die der Idee der Gruppenfaltung ähnelt. Das Modell trainiert verschiedene Aspekte der verkleinerten Modelle, die über modifizierte MHSA-Schichten verfügen.
Parameter Effizienz
Durchschnittliche ViT-Modelle erben ihre Entwurfsstrategien wie die Verwendung einer äquivalenten Breite für Projektionen, die Einstellung des Expansionsverhältnisses auf 4 in FFN und die Erhöhung der Heads-over-Stufen von NLP-Transformatoren. Die Konfigurationen dieser Komponenten müssen für leichte Module sorgfältig neu gestaltet werden. Das EfficientViT-Modell setzt Taylor-strukturiertes Bereinigen ein, um die wesentlichen Komponenten in den Schichten Swim-T und DeiT-T automatisch zu finden, und untersucht weiter die zugrunde liegenden Parameterzuteilungsprinzipien. Unter bestimmten Ressourceneinschränkungen entfernen die Bereinigungsmethoden unwichtige Kanäle und behalten die kritischen Kanäle bei, um die höchstmögliche Genauigkeit zu gewährleisten. Die folgende Abbildung vergleicht das Verhältnis der Kanäle zu den Eingabeeinbettungen vor und nach der Bereinigung im Swin-T-Framework. Es wurde Folgendes beobachtet: Basisgenauigkeit: 79.1 %; Schnittgenauigkeit: 76.5 %.

Das obige Bild zeigt, dass die ersten beiden Stufen des Frameworks mehr Dimensionen beibehalten, während die letzten beiden Stufen viel weniger Dimensionen beibehalten. Dies kann bedeuten, dass eine typische Kanalkonfiguration, die den Kanal nach jeder Stufe verdoppelt oder für alle Blöcke gleichwertige Kanäle verwendet, in den letzten paar Blöcken zu erheblicher Redundanz führen kann.
Effizienter Vision-Transformer: Architektur
Auf der Grundlage der Erkenntnisse aus der obigen Analyse arbeiteten die Entwickler an der Erstellung eines neuen hierarchischen Modells, das schnelle Interferenzgeschwindigkeiten bietet EffizientViT Modell. Werfen wir einen detaillierten Blick auf die Struktur des EfficientViT-Frameworks. Die folgende Abbildung gibt Ihnen einen allgemeinen Überblick über das EfficientViT-Framework.
Bausteine des EfficientViT Frameworks
Der Baustein für das effizientere Vision Transformer-Netzwerk ist in der folgenden Abbildung dargestellt.

Das Framework besteht aus einem kaskadierten Gruppenaufmerksamkeitsmodul, einem speichereffizienten Sandwich-Layout und einer Parameter-Neuzuweisungsstrategie, die sich auf die Verbesserung der Effizienz des Modells in Bezug auf Berechnung, Speicher bzw. Parameter konzentrieren. Lassen Sie uns ausführlicher darüber sprechen.
Sandwich-Layout
Das Modell verwendet ein neues Sandwich-Layout, um einen effektiveren und effizienteren Speicherblock für das Framework zu erstellen. Das Sandwich-Layout verwendet weniger speichergebundene Selbstaufmerksamkeitsschichten und nutzt speichereffizientere Feed-Forward-Netzwerke für die Kanalkommunikation. Genauer gesagt wendet das Modell eine einzelne Selbstaufmerksamkeitsschicht für die räumliche Mischung an, die zwischen den FFN-Schichten liegt. Das Design trägt nicht nur dazu bei, den Speicherzeitverbrauch durch Selbstaufmerksamkeitsschichten zu reduzieren, sondern ermöglicht dank der Verwendung von FFN-Schichten auch eine effektive Kommunikation zwischen verschiedenen Kanälen innerhalb des Netzwerks. Das Modell wendet außerdem eine zusätzliche Interaktions-Token-Schicht vor jeder Feed-Forward-Netzwerkschicht mithilfe einer DWConv oder Deceptive Convolution an und verbessert die Modellkapazität durch Einführung einer induktiven Verzerrung der lokalen Strukturinformationen.
Kaskadierte Gruppenaufmerksamkeit
Eines der Hauptprobleme bei MHSA-Schichten ist die Redundanz der Aufmerksamkeitsköpfe, die Berechnungen ineffizienter macht. Um das Problem zu lösen, schlägt das Modell CGA oder Cascaded Group Attention für Vision Transformer vor, ein neues Aufmerksamkeitsmodul, das von Gruppenfaltungen in effizienten CNNs inspiriert ist. Bei diesem Ansatz füttert das Modell einzelne Köpfe mit Aufteilungen der vollständigen Merkmale und zerlegt die Aufmerksamkeitsberechnung daher explizit auf die einzelnen Köpfe. Die Aufteilung der Features, anstatt jedem Kopf vollständige Features zuzuführen, spart Rechenaufwand und macht den Prozess effizienter, und das Modell arbeitet weiterhin daran, die Genauigkeit und seine Kapazität noch weiter zu verbessern, indem es die Ebenen dazu ermutigt, Projektionen auf Features zu lernen, die über umfangreichere Informationen verfügen.

Parameter-Neuzuordnung
Um die Effizienz der Parameter zu verbessern, ordnet das Modell die Parameter im Netzwerk neu zu, indem es die Kanalbreite kritischer Module erweitert und gleichzeitig die Kanalbreite weniger wichtiger Module verringert. Basierend auf der Taylor-Analyse legt das Modell entweder in jeder Phase kleine Kanalabmessungen für Projektionen in jedem Kopf fest oder das Modell lässt zu, dass die Projektionen dieselben Abmessungen wie die Eingabe haben. Das Erweiterungsverhältnis des Feed-Forward-Netzwerks wird ebenfalls von 2 auf 4 gesenkt, um die Parameterredundanz zu verbessern. Die vorgeschlagene Neuzuweisungsstrategie, die das EfficientViT-Framework implementiert, weist wichtigen Modulen mehr Kanäle zu, damit sie Darstellungen in einem hochdimensionalen Raum besser lernen können, wodurch der Verlust von Merkmalsinformationen minimiert wird. Um den Interferenzprozess zu beschleunigen und die Effizienz des Modells noch weiter zu steigern, entfernt das Modell außerdem automatisch die redundanten Parameter in unwichtigen Modulen.

Der Überblick über das EfficientViT-Framework kann im obigen Bild erklärt werden, in dem die Teile,
- Architektur von EfficientViT,
- Sandwich-Layout-Block,
- Kaskadierte Gruppenaufmerksamkeit.
EfficientViT: Netzwerkarchitekturen

Das obige Bild fasst die Netzwerkarchitektur des EfficientViT-Frameworks zusammen. Das Modell führt eine überlappende Patch-Einbettung ein [20,80], die 16×16 Patches in C1-Dimensionstoken einbettet, was die Fähigkeit des Modells verbessert, beim Lernen visueller Darstellungen auf niedriger Ebene eine bessere Leistung zu erbringen. Die Architektur des Modells umfasst drei Stufen, wobei jede Stufe die vorgeschlagenen Bausteine des EfficientViT-Frameworks stapelt und die Anzahl der Token auf jeder Unterabtastungsschicht (2× Unterabtastung der Auflösung) um das Vierfache reduziert wird. Um die Unterabtastung effizienter zu gestalten, schlägt das Modell einen Unterabtastblock vor, der ebenfalls das vorgeschlagene Sandwich-Layout aufweist, mit der Ausnahme, dass ein invertierter Restblock die Aufmerksamkeitsschicht ersetzt, um den Informationsverlust während der Abtastung zu reduzieren. Darüber hinaus nutzt das Modell anstelle der herkömmlichen LayerNorm(LN) BatchNorm(BN), da BN in die vorhergehenden linearen oder Faltungsschichten gefaltet werden kann, was ihm einen Laufzeitvorteil gegenüber LN verschafft.
EfficientViT-Modellfamilie
Die EfficientViT-Modellfamilie besteht aus 6 Modellen mit unterschiedlichen Tiefen- und Breitenskalen, wobei jeder Stufe eine festgelegte Anzahl von Köpfen zugeordnet ist. Die Modelle verwenden in der Anfangsphase weniger Blöcke als in der Endphase. Dieser Prozess ähnelt dem des MobileNetV3-Frameworks, da der Prozess der Verarbeitung in der Anfangsphase mit größeren Auflösungen zeitaufwändig ist. Die Breite wird über die Stufen hinweg mit einem kleinen Faktor vergrößert, um die Redundanz in den späteren Stufen zu verringern. Die unten angehängte Tabelle enthält die architektonischen Details der EfficientViT-Modellfamilie, wobei sich C, L und H auf Breite, Tiefe und Anzahl der Köpfe in der jeweiligen Bühne beziehen.

EfficientViT: Modellimplementierung und Ergebnisse
Das EfficientViT-Modell hat eine Gesamtstapelgröße von 2,048, wurde mit Timm & PyTorch erstellt, wurde von Grund auf für 300 Epochen mit 8 Nvidia V100-GPUs trainiert, verwendet einen Kosinus-Lernratenplaner und einen AdamW-Optimierer und führt sein Bildklassifizierungsexperiment auf ImageNet durch -1K. Die Eingabebilder werden nach dem Zufallsprinzip zugeschnitten und in der Größe auf eine Auflösung von 224×224 angepasst. Für die Experimente, die eine nachgelagerte Bildklassifizierung beinhalten, optimiert das EfficientViT-Framework das Modell für 300 Epochen und verwendet den AdamW-Optimierer mit einer Stapelgröße von 256. Das Modell verwendet RetineNet für die Objekterkennung auf COCO und trainiert die Modelle für weitere 12 Epochen mit identischen Einstellungen.
Ergebnisse auf ImageNet
Um die Leistung von EfficientViT zu analysieren, wird es mit aktuellen ViT- und CNN-Modellen im ImageNet-Datensatz verglichen. Die Ergebnisse des Vergleichs sind in der folgenden Abbildung dargestellt. Wie man sieht, übertrifft die EfficientViT-Modellfamilie in den meisten Fällen die aktuellen Frameworks und schafft es, einen idealen Kompromiss zwischen Geschwindigkeit und Genauigkeit zu erreichen.

Vergleich mit effizienten CNNs und effizienten ViTs
Das Modell vergleicht zunächst seine Leistung mit effizienten CNNs wie EfficientNet und Vanilla-CNN-Frameworks wie MobileNets. Wie man sieht, erzielen die EfficientViT-Modelle im Vergleich zu MobileNet-Frameworks eine bessere Top-1-Genauigkeitsbewertung, während sie auf Intel-CPU bzw. V3.0-GPU 2.5-mal bzw. 100-mal schneller laufen.

Die obige Abbildung vergleicht die Leistung des EfficientViT-Modells mit hochmodernen ViT-Großmodellen, die auf dem ImageNet-1K-Datensatz ausgeführt werden.
Nachgeschaltete Bildklassifizierung
Das EfficientViT-Modell wird auf verschiedene nachgelagerte Aufgaben angewendet, um die Transferlernfähigkeiten des Modells zu untersuchen. Die folgende Abbildung fasst die Ergebnisse des Experiments zusammen. Wie zu erkennen ist, erzielt das EfficientViT-M5-Modell über alle Datensätze hinweg bessere oder ähnliche Ergebnisse bei gleichzeitig deutlich höherem Durchsatz. Die einzige Ausnahme bildet der Cars-Datensatz, bei dem das EfficientViT-Modell nicht die erforderliche Genauigkeit liefert.

Objekterkennung
Um die Fähigkeit von EfficientViT zur Objekterkennung zu analysieren, wird es mit effizienten Modellen der COCO-Objekterkennungsaufgabe verglichen. Das folgende Bild fasst die Ergebnisse des Vergleichs zusammen.

Fazit
In diesem Artikel haben wir über EfficientViT gesprochen, eine Familie schneller Vision-Transformer-Modelle, die kaskadierte Gruppenaufmerksamkeit nutzen und speichereffiziente Vorgänge ermöglichen. Umfangreiche Experimente zur Analyse der Leistung von EfficientViT haben vielversprechende Ergebnisse gezeigt, da das EfficientViT-Modell in den meisten Fällen aktuelle CNN- und Vision-Transformer-Modelle übertrifft. Wir haben auch versucht, eine Analyse der Faktoren bereitzustellen, die bei der Beeinflussung der Interferenzgeschwindigkeit von Bildtransformatoren eine Rolle spielen.




