DeVIT: Low-Power Vision Transformer Acceleration Using Delta Computation
Dieses Paper stellt DeVIT vor, eine Methode zur Leistungsbeschleunigung von Vision Transformern, die die Wertlokalität in quantisierten Modellen ausnutzt, um durch differenzielle Berechnung eine multipliziererlose Matrixmultiplikation zu ermöglichen.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie versuchen, einem superintelligenten Roboter das Erkennen von Bildern beizubringen, wie zum Beispiel eine Katze in einem Baum oder ein Auto auf einer Straße zu entdecken. Um dies zu tun, verwenden wir spezielle, gehirnähnliche Computerprogramme, die man „Vision Transformer“ nennt. Diese Programme sind unglaublich leistungsstark, aber auch massiv und hungrig. Sie müssen bei jedem Blick auf ein Foto Milliarden von winzigen mathematischen Berechnungen durchführen und verschlingen riesige Mengen an Speicher und Akkuleistung. Aus diesem Grund ist es sehr schwierig, sie auf kleinen Geräten wie Telefonen oder Drohnen unterzubringen, ohne dass diese überhitzen oder der Saft ausgeht.
Um diese hungrigen Bestien zu bändigen, haben Wissenschaftler versucht, die Mathematik einfacher zu machen. Ein beliebiger Trick ist die „Quantisierung“, was so ähnlich ist wie das Runden der Zahlen, die der Roboter verwendet. Anstatt präzise Dezimalzahlen zu nutzen, verwendet der Roboter nur einen begrenzten Satz von ganzen Zahlen, wie zum Beispiel 0, 1, 2 bis hin zu 255. Das spart Platz, aber es verhindert nicht, dass der Roboter Milliarden von Multiplikationen durchführt. Es gibt jedoch einen versteckten Bonus bei dieser Rundung: Weil der Roboter gezwungen ist, nur eine begrenzte Anzahl von Zahlen zu verwenden, verwendet er oft immer wieder dieselben Zahlen. Es ist so, als ob ein Koch nur fünf Zutaten hätte; er würde immer wieder dasselbe Gewürzglas benutzen. Die große Frage ist: Können wir einen Roboter bauen, der bemerkt, wenn er kurz davor ist, dasselbe Gewürz erneut zu verwenden, und dann die Arbeit überspringt, um Energie zu sparen?
Genau dieses Problem wollten die Forscher hinter DeVIT (Delta-coded Vision Transformer) lösen. Sie erkannten, dass die Gewichte (die Zahlen, die dem Roboter sagen, wonach er suchen soll), da die Vision Transformer dazu gezwungen sind, eine begrenzte Anzahl von Zahlen zu verwenden, oft direkt neben einander liegen. Wenn der Roboter zum Beispiel eine Zahl mit 5, dann mit 6 und dann mit 7 multiplizieren muss, muss er nicht drei separate, schwere Berechnungen durchführen. Er kann einfach die erste Berechnung durchführen und dann ein kleines bisschen für die nächste addieren und ein kleines bisschen mehr für die darauffolgende.
Das DeVIT-Team hat einen cleveren Weg erfunden, um diese Zahlen zu organisieren, damit der Roboter diesen „ein bisschen addieren“-Trick anstelle von vollen, schweren Multiplikationen anwenden kann. Sie sortieren die Zahlen in einer Linie von der kleinsten zur größten und speichern nur die Differenz zwischen ihnen (das „Delta“). Wenn die Differenz klein ist, kann der Roboter die Zahl einfach „verschieben“ (was so ähnlich ist wie eine Multiplikation mit 2 oder 4) und addieren, anstatt eine komplexe Multiplikation durchzuführen. Wenn die Differenz null ist (was bedeutet, dass die Zahl dieselbe ist wie die letzte), muss der Roboter gar nichts tun – er verwendet einfach das vorherige Ergebnis wieder.
Durch diese Methode zeigten die Forscher, dass sie die Menge der Mathematik, die der Roboter leisten muss, auf nur 0,53 dessen reduzieren konnten, was eine nicht-optimierte Version benötigen würde. Das bedeutet, der Roboter erledigt weniger als halb der Arbeit! In ihren Tests verbrauchte dieses neue Design 159,57 nJ (Nanojoule) Energie für einen einzigen großen Berechnungsschritt. Das ist etwa 5,5 % weniger Energie als die besten bestehenden „Shift-and-Add“-Methoden, mit denen sie verglichen wurden.
Es gibt jedoch einen Haken. Um dies zu ermöglichen, mussten die Forscher die Zahlen sortieren und zusätzliche Informationen darüber speichern, wo sie hingehören, was ein wenig zusätzlichen Speicherplatz beansprucht. Außerdem gibt es, da sie die Differenzen näherungsweise berechnen, einen winzigen Kompromiss bei der Genauigkeit. In ihren Experimenten mit verschiedenen Modellen sank die Genauigkeit um einen kleinen Betrag – manchmal um bis zu 3,11 Prozentpunkte bei der Bildklassifizierung oder 2,53 mAP-Punkte bei der Objekterkennung. Während dies ein kleiner Preis für eine so große Energieeinsparung ist, bedeutet es auch, dass die Methode noch nicht für jede einzelne Situation perfekt ist.
Kurz gesagt: DeVIT ist wie das Geben eines Merkblatts an den Roboter. Anstatt dieselben mathematischen Probleme jedes Mal von Grund auf neu zu berechnen, schaut er auf seine sortierte Liste von Zahlen, sieht, dass die nächste nur ein winziger Schritt entfernt ist, und nimmt eine Abkürzung. Dies macht den Roboter schneller und wesentlich energieeffizienter, was uns einen Schritt näher an eine leistungsstarke KI bringt, die auf alltäglichen Geräten laufen kann, ohne den Akku zu leeren.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.