ZeroQ: Ein neues Framework für Zero-Shot-Quantisierung

Die Quantisierung ist ein vielversprechender Ansatz zur Reduzierung der Inferenzzeit und des Speicherbedarfs von neuronalen Netzen. Die meisten existierenden Quantisierungsverfahren erfordern jedoch den Zugriff auf das ursprüngliche Trainingsdatenset für die Retrainingsphase während der Quantisierung. Dies ist für Anwendungen mit sensiblen oder proprietären Daten oft nicht möglich, z.B. aufgrund von Datenschutz- und Sicherheitsbedenken. Existierende zero-shot-Quantisierungsverfahren verwenden verschiedene Heuristiken, um dieses Problem zu lösen, führen aber zu schlechten Leistungen, insbesondere bei der Quantisierung auf ultraniedrige Präzision. Hier stellen wir ZeroQ vor, einen neuen zero-shot-Quantisierungsrahmen, um dies anzugehen. ZeroQ ermöglicht die Mischpräzisionsquantisierung ohne jeglichen Zugriff auf Trainings- oder Validierungsdaten. Dies wird erreicht, indem man sich an einem distillierten Datensatz (Distilled Dataset) optimiert, der so konstruiert ist, dass er die Statistiken der Batch-Normalisierung über verschiedene Schichten des Netzwerks abbildet. ZeroQ unterstützt sowohl gleichmäßige als auch Mischpräzisionsquantisierung. Für letztere führen wir eine neuartige Methode basierend auf der Pareto-Front ein, um automatisch die Mischpräzisionsbitkonfiguration für alle Schichten zu bestimmen, ohne manuelle Suche. Wir testen unser vorgeschlagenes Verfahren ausführlich an einer vielfältigen Reihe von Modellen, darunter ResNet18/50/152, MobileNetV2, ShuffleNet, SqueezeNext und InceptionV3 auf ImageNet sowie RetinaNet-ResNet50 auf dem Microsoft COCO-Datensatz. Insbesondere zeigen wir, dass ZeroQ eine Genauigkeit von 1{,}71\% höher erreichen kann als das kürzlich vorgeschlagene DFQ-Verfahren bei MobileNetV2. Von großer Bedeutung ist dabei, dass ZeroQ einen sehr geringen Rechenaufwand hat und den gesamten Quantisierungsprozess in weniger als 30 Sekunden abschließen kann (0{,}5\% der Trainingszeit eines Epoche von ResNet50 auf ImageNet). Wir haben den ZeroQ-Rahmen unter Open Source veröffentlicht\footnote{https://github.com/amirgholami/ZeroQ}.