Sparsity in Vision Transformers verfolgen: Eine umfassende explorative Analyse

Vision Transformers (ViTs) haben kürzlich eine explosionsartige Beliebtheit erfahren, aber ihre enormen Modellgrößen und Trainingskosten bleiben weiterhin einschüchternd. Konventionelle Post-Training-Pruning-Methoden führen oft zu erhöhten Trainingsbudgets. Im Gegensatz dazu zielt dieser Artikel darauf ab, sowohl den Trainings-Speicherbedarf als auch die Inferenzkomplexität zu reduzieren, ohne dabei die erreichbare Genauigkeit zu beeinträchtigen. Wir führen erstmals eine umfassende Untersuchung durch, bei der wir einen einheitlichen Ansatz zur Integration von Sparsity in ViTs „von Anfang bis Ende“ verfolgen. Insbesondere trainieren wir anstelle vollständiger ViTs dynamisch extrahierte und trainierte dünn besetzte Teilnetze, während wir uns an ein festes kleines Parameterbudget halten. Unser Ansatz optimiert gleichzeitig Modellparameter und untersucht die Verbindungsstruktur während des gesamten Trainingsprozesses, wobei das endgültige Ergebnis ein dünn besetztes Netzwerk ist. Der Ansatz wird nahtlos von unstrukturiertem zu strukturiertem Sparsity erweitert, letzteres durch Berücksichtigung der Steuerung des Pruning-und-Growing-Prozesses der Selbst-Aufmerksamkeits-Köpfe innerhalb der ViTs. Wir erforschen ferner Data- und Architektur-Sparsity gemeinsam für zusätzliche Effizienzgewinne, indem wir einen neuen lernfähigen Token-Selektor integrieren, der adaptiv die aktuell wichtigsten Patches bestimmt. Ausführliche Ergebnisse auf ImageNet mit verschiedenen ViT-Basismodellen bestätigen die Effektivität unserer Vorschläge, die eine erhebliche Reduzierung der Rechenaufwands und fast unbeeinträchtigte Generalisierung ermöglichen. Überraschenderweise stellen wir fest, dass das vorgeschlagene dünn besetzte (ko-)Training manchmal die Genauigkeit der ViTs verbessern kann anstatt sie zu beeinträchtigen, was Sparsity zu einem verlockenden „kostenlosen Mittagessen“ macht. Zum Beispiel verbessert unser sparsifizierter DeiT-Small bei einer Sparsity von (5%, 50%) für (Daten, Architektur) um 0,28% die Top-1-Genauigkeit und profitiert gleichzeitig von einer Reduktion der FLOPs um 49,32% und einer Zeitersparnis von 4,40%. Unsere Codes sind unter https://github.com/VITA-Group/SViTE verfügbar.