KI-Modelle und Plattformen

EfficientViT: Speicher-Effizienter Vision-Transformer fÞr HochauflÃķsende Computer-Vision

mm
Unite.AI zu deinen bevorzugten Quellen auf Google hinzufÞgen

Aufgrund ihrer hohen ModellkapazitÃĪt haben Vision-Transformer-Modelle in letzter Zeit großen Erfolg gehabt. 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 Echtzeit-Anwendungen sind. Um dieses Problem zu lÃķsen, haben eine Gruppe von Entwicklern EfficientViT entwickelt, eine Familie von Hochgeschwindigkeits-Vision-Transformern.

Bei der Arbeit an EfficientViT haben die Entwickler festgestellt, dass die Geschwindigkeit der aktuellen Transformer-Modelle oft durch ineffiziente Speicheroperationen begrenzt ist, insbesondere Element-weise Funktionen und Tensor-Neuformulierung in MHSA oder Multi-Head-Self-Attention-Netzwerk. Um diese ineffizienten Speicheroperationen zu lÃķsen, haben die EfficientViT-Entwickler einen neuen Baustein mit einer Sandwich-Struktur entwickelt, d. h. das EfficientViT-Modell verwendet ein einzelnes speicherbegrenztes Multi-Head-Self-Attention-Netzwerk zwischen effizienten FFN-Schichten, was dazu beitrÃĪgt, die Speichereffizienz zu verbessern und die gesamte Kanalkommunikation zu erhÃķhen. DarÞber hinaus hat das Modell festgestellt, dass Aufmerksamkeitskarten oft hohe Ähnlichkeiten Þber KÃķpfe hinweg aufweisen, was zu berechnungstechnischer Redundanz fÞhrt. Um das Redundanzproblem zu lÃķsen, prÃĪsentiert das EfficientViT-Modell ein kaschierendes Gruppenaufmerksamkeitsmodul, das AufmerksamkeitskÃķpfe mit verschiedenen Teilen des vollstÃĪndigen Merkmals fÞttert. Die Methode hilft nicht nur dabei, Rechenkosten zu sparen, sondern verbessert auch die Aufmerksamkeitsvielfalt des Modells.

Umfassende Experimente, die am EfficientViT-Modell in verschiedenen Szenarien durchgefÞhrt wurden, zeigen, dass EfficientViT bestehende effiziente Modelle fÞr Computer-Vision Þbertrifft, wÃĪhrend es einen guten Kompromiss zwischen Genauigkeit und Geschwindigkeit schlÃĪgt. Lassen Sie uns also einen tieferen Einblick in das EfficientViT-Modell werfen.

Eine EinfÞhrung in Vision-Transformer und EfficientViT

Vision-Transformer bleiben eines der beliebtesten Frameworks in der Computer-Vision-Industrie, da sie eine Þberlegene Leistung und hohe RechenfÃĪhigkeiten bieten. Allerdings steigen die Betriebskosten und die RechenÞberhead mit der stÃĪndig verbesserten Genauigkeit und Leistung der Vision-Transformer-Modelle. Zum Beispiel verwenden aktuelle Modelle, die auf ImageNet-DatensÃĪtzen wie SwinV2 und V-MoE State-of-the-Art-Leistung bieten, 3B und 14,7B Parameter. Die enorme GrÃķße dieser Modelle, kombiniert mit den Rechenkosten und Anforderungen, machen sie praktisch unsuitable fÞr Echtzeit-GerÃĪte und Anwendungen.

Das EfficientNet-Modell zielt darauf ab, zu erforschen, wie die Leistung von Vision-Transformer-Modellen gesteigert werden kann und welche Prinzipien hinter der Gestaltung effizienter und effektiver Transformer-basierter Framework-Architekturen stecken. Das EfficientViT-Modell basiert auf bestehenden Vision-Transformer-Frameworks wie Swim und DeiT und analysiert drei wesentliche Faktoren, die die Interferenzgeschwindigkeit der Modelle beeinflussen, einschließlich Rechenredundanz, Speicherzugriff und Parameterverwendung. DarÞber hinaus stellt das Modell fest, dass die Geschwindigkeit von Vision-Transformer-Modellen speicherbegrenzt ist, was bedeutet, dass die vollstÃĪndige Nutzung der Rechenleistung in CPUs/GPUs durch SpeicherzugriffsverzÃķgerungen eingeschrÃĪnkt wird, was sich negativ auf die Laufzeitgeschwindigkeit der Transformer auswirkt. Elementweise Funktionen und Tensor-Neuformulierung in MHSA oder Multi-Head-Self-Attention-Netzwerk sind die ineffizientesten Operationen. Das Modell stellt außerdem fest, dass die optimale Anpassung des VerhÃĪltnisses zwischen FFN (Feed-Forward-Netzwerk) und MHSA dazu beitragen kann, die Speicherzugriffszeit erheblich zu reduzieren, ohne die Leistung zu beeintrÃĪchtigen. Allerdings stellt das Modell auch fest, dass es eine Redundanz in den Aufmerksamkeitskarten gibt, die durch die Neigung der AufmerksamkeitskÃķpfe, ÃĪhnliche lineare Projektionen zu erlernen, verursacht wird.

Das Modell ist das endgÞltige Ergebnis der Forschungsarbeiten fÞr das EfficientViT. Das Modell verfÞgt Þber einen neuen Baustein mit einer Sandwich-Struktur, der ein einzelnes speicherbegrenztes MHSA-Schicht zwischen den FFN-Schichten verwendet. Der Ansatz reduziert nicht nur die Zeit, die fÞr die AusfÞhrung von speicherbegrenzten Operationen in MHSA benÃķtigt wird, sondern macht den gesamten Prozess auch speichereffizienter, indem er mehr FFN-Schichten ermÃķglicht, die die Kommunikation zwischen verschiedenen KanÃĪlen erleichtern. Das Modell verwendet auch ein neues CGA- oder kaschierendes Gruppenaufmerksamkeitsmodul, das darauf abzielt, die Berechnungen effizienter zu machen, indem es die Rechenredundanz nicht nur in den AufmerksamkeitskÃķpfen, sondern auch die Tiefe des Netzwerks erhÃķht, was die ModellkapazitÃĪt erhÃķht. Schließlich erweitert das Modell die Kanalbreite der kritischen Netzwerkkomponenten, einschließlich Wertprojektionen, wÃĪhrend es die Kanalbreite der weniger wichtigen Komponenten reduziert, um die Parameter im Framework umzuverteilen.

Wie aus dem oben gezeigten Bild hervorgeht, fÞhrt das EfficientViT-Framework besser als aktuelle State-of-the-Art-CNN- und ViT-Modelle in Bezug auf Genauigkeit und Geschwindigkeit. Aber wie hat das EfficientViT-Framework es geschafft, einige der aktuellen State-of-the-Art-Frameworks zu Þberbieten? Lassen Sie uns das herausfinden.

EfficientViT: Verbesserung der Effizienz von Vision-Transformern

Das EfficientViT-Modell zielt darauf ab, die Effizienz der bestehenden Vision-Transformer-Modelle aus drei Perspektiven zu verbessern:

  1. Rechenredundanz.
  2. Speicherzugriff.
  3. Parameterverwendung.

Das Modell zielt darauf ab, herauszufinden, wie diese Parameter die Effizienz von Vision-Transformer-Modellen beeinflussen und wie sie gelÃķst werden kÃķnnen, um bessere Ergebnisse mit besserer Effizienz zu erzielen. Lassen Sie uns sie genauer betrachten.

Speicherzugriff und Effizienz

Einer der wesentlichen Faktoren, die die Geschwindigkeit eines Modells beeinflussen, ist der Speicherzugriffs-Overhead oder MAO. Wie aus dem Bild unten hervorgeht, sind mehrere Operatoren in Transformer, einschließlich Element-weise Addition, Normalisierung und hÃĪufige Tensor-Neuformulierung, speicherineffiziente Operationen, da sie den Zugriff auf verschiedene Speichereinheiten erfordern, was ein zeitaufwÃĪndiger Prozess ist.

Obwohl es einige bestehende Methoden gibt, die die Standard-Softmax-Self-Attention-Berechnungen vereinfachen kÃķnnen, wie z. B. Low-Rank-Approximation und Sparse-Attention, bieten sie oft nur begrenzte Beschleunigung und verringern die Genauigkeit.

Andererseits zielt das EfficientViT-Framework darauf ab, die Speicherzugriffskosten zu reduzieren, indem es die Anzahl der speicherineffizienten Schichten im Framework reduziert. Das Modell skaliert das DeiT-T und Swin-T auf kleine Subnetzwerke mit einer hÃķheren Interferenzdurchsatzrate von 1,25X und 1,5X und vergleicht die Leistung dieser Subnetzwerke mit den Proportionen der MHSA-Schichten. Wie aus dem Bild unten hervorgeht, verbessert der Ansatz die Genauigkeit der MHSA-Schichten um etwa 20 bis 40 %.

Berechnungseffizienz

MHSA-Schichten neigen dazu, die Eingabesequenz in mehrere UnterrÃĪume oder KÃķpfe zu einbetten und die Aufmerksamkeitskarten einzeln zu berechnen, ein Ansatz, der die Leistung verbessert. Allerdings sind Aufmerksamkeitskarten nicht rechenbillig, und um die Rechenkosten zu untersuchen, erforscht das EfficientViT-Modell, wie die 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 Breite herunterskalierte DeiT-T- und Swin-T-Modelle mit 1,25-facher Inferenzbeschleunigung trainiert. Wie aus dem Bild unten hervorgeht, gibt es eine hohe Anzahl von Ähnlichkeiten zwischen den AufmerksamkeitskÃķpfen, was darauf hindeutet, dass das Modell Rechenredundanz aufweist, da viele KÃķpfe dazu neigen, ÃĪhnliche Projektionen des vollstÃĪndigen Merkmals zu erlernen.

Um die KÃķpfe dazu zu bringen, unterschiedliche Muster zu erlernen, wendet das Modell eine intuitive LÃķsung an, bei der jeder Kopf nur einen Teil des vollstÃĪndigen Merkmals erhÃĪlt, eine Technik, die der Idee der Gruppenkonvolution ÃĪhnelt. Das Modell trainiert verschiedene Aspekte der herunterskalierten Modelle, die modifizierte MHSA-Schichten aufweisen.

Parameter-Effizienz

Durchschnittliche ViT-Modelle erben ihre Designstrategien wie die Verwendung einer ÃĪquivalenten Breite fÞr Projektionen, die Festlegung der Expansionsrate auf 4 in FFN und die ErhÃķhung der KÃķpfe Þber Stufen von NLP-Transformern. Die Konfigurationen dieser Komponenten mÞssen fÞr leichte Module sorgfÃĪltig neu entworfen werden. Das EfficientViT-Modell setzt Taylor-Struktur-Pruning ein, um die wesentlichen Komponenten in den Swin-T- und DeiT-T-Schichten automatisch zu finden und erforscht die zugrunde liegenden Parameterzuweisungsprinzipien. Unter bestimmten RessourcenbeschrÃĪnkungen entfernen die Pruning-Methoden unwichtige KanÃĪle und behalten die kritischen KanÃĪle, um die hÃķchstmÃķgliche Genauigkeit zu gewÃĪhrleisten. Die Abbildung unten vergleicht das VerhÃĪltnis der KanÃĪle zu den Eingabedarstellungen vor und nach dem Pruning im Swin-T-Framework. Es wurde festgestellt, dass: Baseline-Genauigkeit: 79,1 %; geschnittene Genauigkeit: 76,5 %.

Die obige Abbildung zeigt, dass die ersten beiden Stufen des Frameworks mehr Dimensionen erhalten, wÃĪhrend die letzten beiden Stufen weniger Dimensionen erhalten. Es kÃķnnte bedeuten, dass eine typische Kanalkonfiguration, die die Kanalbreite nach jeder Stufe verdoppelt oder ÃĪquivalente KanÃĪle fÞr alle BlÃķcke verwendet, in den letzten BlÃķcken zu erheblicher Redundanz fÞhren kann.

Effizienter Vision-Transformer: Architektur

Basierend auf den Erkenntnissen, die wÃĪhrend der obigen Analyse gewonnen wurden, haben die Entwickler an der Erstellung eines neuen hierarchischen Modells gearbeitet, das schnelle Interferenzgeschwindigkeiten bietet, das EfficientViT-Modell. Lassen Sie uns einen detaillierten Blick auf die Struktur des EfficientViT-Frameworks werfen.

Bausteine des EfficientViT-Frameworks

Der Baustein fÞr das effizientere Vision-Transformer-Netzwerk ist in der folgenden Abbildung dargestellt.

Das Framework besteht aus einem kaschierten Gruppenaufmerksamkeitsmodul, einer speichereffizienten Sandwich-Struktur und einer Parameterreallokationsstrategie, die darauf abzielen, die Effizienz des Modells in Bezug auf Berechnung, Speicher und Parameter zu verbessern. Lassen Sie uns sie genauer betrachten.

Sandwich-Struktur

Das Modell verwendet eine neue Sandwich-Struktur, um einen effizienteren Speicherblock fÞr das Framework zu erstellen. Die Sandwich-Struktur verwendet weniger speicherbegrenzte Selbstaufmerksamkeitsschichten und nutzt speichereffizientere Feed-Forward-Netzwerke fÞr die Kanalkommunikation. Um genauer zu sein, wendet das Modell eine einzelne Selbstaufmerksamkeitsschicht fÞr rÃĪumliches Mischen an, die zwischen den FFN-Schichten eingeschlossen ist. Der Ansatz hilft nicht nur dabei, die Speicherzeit aufgrund von Selbstaufmerksamkeitsschichten zu reduzieren, sondern ermÃķglicht auch eine effektive Kommunikation zwischen verschiedenen KanÃĪlen im Netzwerk dank der Verwendung von FFN-Schichten. Das Modell wendet auch eine zusÃĪtzliche Interaktionstoken-Schicht vor jeder Feed-Forward-Netzwerkschicht mit einem DWConv oder Deceptiven Konvolution an und erhÃķht die ModellkapazitÃĪt, indem es induktive Voreingenommenheit der lokalen Strukturinformationen einfÞhrt.

Kaschierte Gruppenaufmerksamkeit

Eines der Hauptprobleme von MHSA-Schichten ist die Redundanz in den AufmerksamkeitskÃķpfen, die die Berechnungen ineffizienter macht. Um dieses Problem zu lÃķsen, schlÃĪgt das Modell ein kaschierendes Gruppenaufmerksamkeitsmodul fÞr Vision-Transformer vor, ein neues Aufmerksamkeitsmodul, das von Gruppenkonvolutionen in effizienten CNNs inspiriert ist. In diesem Ansatz erhÃĪlt jeder Kopf nur einen Teil des vollstÃĪndigen Merkmals, was die Aufmerksamkeitsberechnung explizit Þber die KÃķpfe hinweg zerlegt. Das Teilen der Merkmale anstelle des gesamten Merkmals fÞr jeden Kopf spart Rechenkosten und macht den Prozess effizienter, und das Modell arbeitet weiter daran, die Genauigkeit und KapazitÃĪt des Modells zu verbessern, indem es die Schichten dazu bringt, Projektionen auf Merkmale mit reichhaltigeren Informationen zu erlernen.

Parameter-Reallokation

Um die Effizienz der Parameter zu verbessern, realloziert das Modell die Parameter im Netzwerk, indem es die Kanalbreite der kritischen Netzwerkkomponenten erweitert, wÃĪhrend es die Kanalbreite der weniger wichtigen Komponenten reduziert. Basierend auf der Taylor-Analyse setzt das Modell entweder kleine Kanaldimensionen fÞr Projektionen in jedem Kopf wÃĪhrend jeder Stufe oder ermÃķglicht es den Projektionen, die gleiche Dimension wie die Eingabe zu haben. Die Expansionsrate des Feed-Forward-Netzwerks wird auch auf 2 von 4 reduziert, um die Parameterredundanz zu helfen. Die vorgeschlagene Reallokationsstrategie, die das EfficientViT-Framework implementiert, weist mehr KanÃĪle wichtigen Modulen zu, um sie zu ermÃķglichen, ReprÃĪsentationen in einem hochdimensionalen Raum besser zu erlernen, was den Verlust von Merkmalinformationen minimiert. DarÞber hinaus entfernt das Modell automatisch redundante Parameter in unwichtigen Modulen, um den Interferenzprozess zu beschleunigen und die Effizienz des Modells weiter zu verbessern.

Die Übersicht Þber das EfficientViT-Framework kann in der folgenden Abbildung erlÃĪutert werden, in der die Teile

  1. Architektur des EfficientViT,
  2. Sandwich-Struktur-Block,
  3. Kaschierte Gruppenaufmerksamkeit.

 

EfficientViT: Netzwerkarchitekturen

Die obige Abbildung fasst die Netzwerkarchitektur des EfficientViT-Frameworks zusammen. Das Modell fÞhrt eine Þberlappende Patch-Einbettung [20,80] ein, die 16×16-Patches in C1-Dimension-Tokens einbettet, was die FÃĪhigkeit des Modells zur besseren Leistung bei der niedrigen visuellen ReprÃĪsentationslernen verbessert. Die Architektur des Modells umfasst drei Stufen, bei denen jede Stufe die vorgeschlagenen Bausteine des EfficientViT-Frameworks stapelt, und die Anzahl der Token in jeder Subsampling-Schicht (2×-Subsampling der AuflÃķsung) wird um 4X reduziert. Um das Subsampling effizienter zu machen, schlÃĪgt das Modell einen Subsampling-Block vor, der die vorgeschlagene Sandwich-Struktur mit der Ausnahme aufweist, dass ein inverser Restblock die Aufmerksamkeitsschicht ersetzt, um den Informationsverlust wÃĪhrend des Samplings zu reduzieren. DarÞber hinaus verwendet das Modell anstelle der herkÃķmmlichen LayerNorm (LN) die BatchNorm (BN), da BN in die vorhergehenden linearen oder konvolutiven Schichten eingefaltet werden kann, was es bei der Laufzeit gegenÞber LN auszeichnet.

 

EfficientViT-Modellfamilie

Die EfficientViT-Modellfamilie umfasst 6 Modelle mit unterschiedlicher Tiefe und Breite und einer festen Anzahl von KÃķpfen, die fÞr jede Stufe zugewiesen werden. Die Modelle verwenden weniger BlÃķcke in den Anfangsstufen im Vergleich zu den Endstufen, ein Prozess, der dem von MobileNetV3 ÃĪhnelt, da der Prozess der frÞhen Stufenverarbeitung mit grÃķßeren AuflÃķsungen zeitaufwÃĪndig ist. Die Breite wird Þber die Stufen mit einem kleinen Faktor erhÃķht, um Redundanz in den spÃĪteren Stufen zu reduzieren. Die folgende Tabelle enthÃĪlt die architektonischen Details der EfficientViT-Modellfamilie, in der C, L und H die Breite, Tiefe und Anzahl der KÃķpfe in der jeweiligen Stufe bezeichnen.

EfficientViT: Modellimplementierung und Ergebnisse

Das EfficientViT-Modell hat eine GesamtbatchgrÃķße von 2.048, wird mit Timm und PyTorch erstellt, wird von Grund auf fÞr 300 Epochen mit 8 Nvidia (NVDA ) V100-GPUs trainiert, verwendet einen Cosinus-Lernrate-Planer, einen AdamW-Optimizer und fÞhrt sein Bildklassifizierungsexperiment auf ImageNet-1K durch. Die Eingabebilder werden zufÃĪllig beschnitten und in eine AuflÃķsung von 224×224 vergrÃķßert. FÞr die Experimente, die die nachgelagerte Bildklassifizierung betreffen, feinjustiert das EfficientViT-Framework das Modell fÞr 300 Epochen und verwendet den AdamW-Optimizer mit einer BatchgrÃķße von 256. Das Modell verwendet RetineNet fÞr die Objekterkennung auf COCO und trainiert die Modelle fÞr weitere 12 Epochen mit den gleichen Einstellungen.

Ergebnisse auf ImageNet

Um die Leistung von EfficientViT zu analysieren, wird es mit aktuellen ViT- und CNN-Modellen auf dem ImageNet-Datensatz verglichen. Die Ergebnisse des Vergleichs werden in der folgenden Abbildung angezeigt. Wie aus der Abbildung hervorgeht, Þbertrifft die EfficientViT-Modellfamilie die aktuellen Frameworks in den meisten FÃĪllen und erreicht einen idealen Kompromiss zwischen Geschwindigkeit und Genauigkeit.

Vergleich mit effizienten CNNs und effizienten ViTs

Das Modell vergleicht zunÃĪchst seine Leistung mit effizienten CNNs wie EfficientNet und herkÃķmmlichen CNN-Frameworks wie MobileNets. Wie aus der Abbildung hervorgeht, erzielt das EfficientViT-Modell eine bessere Top-1-Genauigkeit, wÃĪhrend es 3,0-mal und 2,5-mal schneller auf Intel-CPU und V100-GPU lÃĪuft.

Die obige Abbildung vergleicht die Leistung des EfficientViT-Modells mit State-of-the-Art-Großmodellen, die auf dem ImageNet-1K-Datensatz laufen.

Nachgelagerte Bildklassifizierung

Das EfficientViT-Modell wird auf verschiedene nachgelagerte Aufgaben angewendet, um die FÃĪhigkeit des Modells zur Transferlernen zu untersuchen, und die folgende Abbildung fasst die Ergebnisse des Experiments zusammen. Wie aus der Abbildung hervorgeht, erreicht das EfficientViT-M5-Modell bessere oder ÃĪhnliche Ergebnisse auf allen DatensÃĪtzen, wÃĪhrend es einen viel hÃķheren Durchsatz aufrechterhÃĪlt. Der einzige Ausnahmefall ist der Cars-Datensatz, bei dem das EfficientViT-Modell nicht in der Lage ist, in der Genauigkeit zu liefern.

Objekterkennung

Um die FÃĪhigkeit von EfficientViT zur Objekterkennung zu untersuchen, wird es mit effizienten Modellen auf der COCO-Objekterkennungsaufgabe verglichen, und die folgende Abbildung fasst die Ergebnisse des Vergleichs zusammen.

Schlussgedanken

In diesem Artikel haben wir Þber EfficientViT gesprochen, einer Familie von schnellen Vision-Transformern, die kaschierte Gruppenaufmerksamkeit und speichereffiziente Operationen verwenden. Umfassende Experimente, die zur Analyse der Leistung von EfficientViT durchgefÞhrt wurden, 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 zu liefern, die die Interferenzgeschwindigkeit von Vision-Transformern beeinflussen.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen VerstÃĪndnis fÞr KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.