Core Concepts
Durch die Kombination von statischem Gewichtspruning und dynamischem Token-Pruning kann die Rechenleistung von Vision Transformers (ViT) auf FPGA-Hardware deutlich gesteigert werden, bei nur geringem Genauigkeitsverlust.
Abstract
Der Artikel präsentiert einen Algorithmus-Hardware-Entwurf zur effizienten Beschleunigung von ViT-Inferenz auf FPGA-Plattformen. Der Ansatz kombiniert zwei bekannte Methoden zur Komplexitätsreduktion - statisches Gewichtspruning und dynamisches Token-Pruning - und überwindet dabei die Herausforderungen, die sich aus der Kombination dieser beiden Techniken ergeben.
Auf Algorithmusebene wird ein systematischer Ansatz vorgestellt, der strukturiertes Block-Pruning der Modellparameter und dynamisches Token-Pruning integriert. Dabei wird ein neuartiger Trainingsalgorithmus entwickelt, um den Genauigkeitsverlust durch das kombinierte Pruning zu minimieren.
Auf Hardwareebene wird ein neuartiger FPGA-Beschleuniger entworfen, der Mehrebenen-Parallelismus und eine lastausgleichende Strategie nutzt, um mit den unregelmäßigen Rechenmustern umzugehen, die durch die beiden Pruning-Ansätze entstehen. Außerdem wird ein effizienter Hardware-Mechanismus entwickelt, um das dynamische Token-Pruning effizient auszuführen.
Die Evaluation auf dem DeiT-Small Modell zeigt, dass der Algorithmus-Hardware-Entwurf die Rechenleistung um bis zu 3,4x steigern kann, bei einem Genauigkeitsverlust von nur ca. 3% und einer Modellkompression von bis zu 1,6x. Im Vergleich zu CPU-, GPU- und FPGA-Implementierungen des Stands der Technik erzielt der Ansatz eine durchschnittliche Latenzreduktion von 12,8x, 3,2x bzw. 0,7-2,1x.
Stats
Die Komplexität des ungeprünten ViT-Modells beträgt 4BND + 4BHNDD' + 2BHN2D'.
Durch das kombinierte Pruning reduziert sich die Komplexität auf 2BND + 2BNkeptD + BHkeptND'D(3α + α') + 2BHkeptN2D' + BN(H + N + D) + 2BNkeptDDmlpαmlp, wobei α und α' die Anteile der behaltenen Gewichtsblöcke sind und Hkept und Nkept die Anzahl der behaltenen Köpfe bzw. Token.
Quotes
"Combining these two techniques should significantly reduce computation complexity and model size; however, naively integrating them results in irregular computation patterns, leading to significant accuracy drops and difficulties in hardware acceleration."
"Addressing the above challenges, we propose a comprehensive algorithm-hardware codesign for accelerating ViT on FPGA through simultaneous pruning–combining static weight pruning and dynamic token pruning."