Highlight-Analyse
- 1,58-bit FLUXDie erste wird sein FLUX Die Parameter des Vision Transformer (insgesamt 119 Milliarden) werden um 99,5% auf ein 1,58-Bit-Quantisierungsmodell reduziert, so dass keine Bilddaten mehr benötigt werden und der Speicherbedarf drastisch reduziert wird.
- Entwicklung eines effizienten linearen Kerns, der für 1,58-Bit-Berechnungen optimiert ist und eine erhebliche Speicherreduzierung und Beschleunigung der Schlussfolgerungen ermöglicht.
- beweisen 1,58-bit FLUX Im anspruchsvollen T2I-Benchmark war die Leistung vergleichbar mit dem FLUX-Modell mit voller Präzision.
Kurze Zusammenfassung
Probleme gelöst
- Aktuelle Text-zu-Bild-Modelle (T2I), wie z. B. DALLE 3 und Stable Diffusion 3, haben eine große Anzahl von Parametern und einen hohen Speicherbedarf für die Inferenz, was ihren Einsatz auf ressourcenbeschränkten Geräten (z. B. Mobilgeräten) erschwert.
- Dieses Papier konzentriert sich auf die Durchführbarkeit der Quantisierung mit sehr niedrigen Bits (1,58 Bit) in T2I-Modellen, um den Speicherbedarf zu reduzieren und gleichzeitig die Inferenz-Effizienz zu verbessern.
Vorgeschlagenes Programm
- Das FLUX.1-dev-Modell wurde als Quantisierungsziel gewählt, und seine Gewichte wurden durch eine Quantisierungsmethode nach dem Training auf 1,58 Bit komprimiert (mit auf {-1, 0, +1} beschränkten Werten), ohne dass auf die Bilddaten zugegriffen wurde.
- Entwicklung spezieller Kernel zur Optimierung von Low-Bit-Operationen, um die Effizienz von Schlussfolgerungen weiter zu verbessern.
Angewandte Technologie
- 1,58-Bit-GewichtsquantifizierungBitNet b1.58: Die extrem niedrige Bitisierung wird erreicht, indem die linearen Schichtgewichte des Modells mit einer Methode ähnlich BitNet b1.58 auf 1,58 Bit komprimiert und die Gewichte als vorzeichenbehaftete 2-Bit-Ganzzahlen gespeichert werden.
- Unüberwachte quantitative Methoden: stützt sich ausschließlich auf den Selbstüberwachungsmechanismus des FLUX.1-dev-Modells selbst und ist nicht auf gemischte Präzisionsschemata oder zusätzliche Trainingsdaten angewiesen.
- Kundenspezifischer KernelEin für Low-Bit-Operationen optimierter Inferenz-Kernel, der den Speicherverbrauch und die Inferenz-Latenzzeit reduziert.
Stanze
- Effizienz der LagerungModellspeicherbedarf um das 7,7-fache reduziert, von 16-Bit auf 2-Bit komprimiert.
- Effizienz der ArgumentationDie Speichernutzung während der Inferenz wird um das 5,1fache reduziert und die Latenzzeit der Inferenz wird deutlich verbessert.
- Erzeugung von QualitätBei den Benchmarks GenEval und T2I Compbench ist die Qualität der Generierung im Wesentlichen gleichwertig mit der von FLUX mit voller Genauigkeit, was die Effektivität und Nützlichkeit des Verfahrens bestätigt.
Ergebnisse
aufstellen
quantifizierbarQuantifizierung: Die Quantifizierung wurde unter Verwendung eines kalibrierten Datensatzes durchgeführt, der aus Cues aus dem Parti-1k-Datensatz und dem T2I CompBench-Trainingssatz besteht und insgesamt 7.232 Cues umfasst. Der gesamte Prozess ist völlig unabhängig von den Bilddaten und es werden keine zusätzlichen Datensätze benötigt. Die Quantifizierung komprimiert alle linearen Schichtgewichte von FluxTransformerBlock und FluxSingleTransformerBlock in FLUX auf 1,58 Bit, was 99,5% der gesamten Modellparameter ausmacht.
BewertungBewertung von FLUX und 1,58-Bit-FLUX auf dem GenEval-Datensatz und dem T2I-CompBench-Validierungssatz nach dem offiziellen Bilderzeugungsverfahren.
- GenEval-DatensatzEnthält 553 Aufforderungen, von denen jede 4 Bilder erzeugt.
- T2I CompBench ValidierungssetDie Bewertung wurde in 8 Kategorien mit 300 Aufforderungen pro Kategorie durchgeführt, wobei jede Aufforderung 10 Bilder generierte, so dass insgesamt 24.000 Bilder für die Bewertung zur Verfügung standen.
- Alle Bilder werden mit einer Auflösung von 1024 × 1024 für FLUX und 1,58-Bit FLUX erzeugt.
am Ende
LeistungenDie Leistung von 1,58-Bit-FLUX ist mit der von FLUX mit voller Genauigkeit in den T2I-Benchmarks Compbench und GenEval vergleichbar (siehe Tabellen 1 und 2). Die Leistungsänderungen sind vor und nach Anwendung des benutzerdefinierten linearen Kernels minimal, was die Genauigkeit der Implementierung weiter bestätigt.
EffizienzWie in Abbildung 2 unten dargestellt, erzielt 1,58-Bit-FLUX erhebliche Verbesserungen bei der Modellspeicherung und dem Inferenzspeicher. In Bezug auf die Inferenzlatenz ist die Verbesserung, wie in Tabelle 3 unten gezeigt, besonders signifikant auf leistungsschwachen, aber einfach einzusetzenden GPUs wie L20 und A10.
Schlussfolgerung und Diskussion
Dieses Papier präsentiert 1,58-bit FLUXIm Fall von 99.5% wurde der Transformator-Parameter auf 1,58 Bit quantifiziert, und die folgenden Verbesserungen wurden durch Anpassung des Rechenkerns erreicht:
- Geringerer SpeicherbedarfReduzierung des Modellspeicherbedarfs um den Faktor 7,7.
- Reduziertes InferenzgedächtnisReduzierung der Inferenzspeichernutzung um mehr als das 5,1-fache.
Trotz dieser Komprimierungseffekte zeigte der 1,58-Bit-FLUX in den T2I-Benchmarks eine vergleichbare Leistung wie das Vollpräzisionsmodell, wobei die hohe visuelle Qualität erhalten blieb. Es ist zu hoffen, dass 1,58-bit FLUX in der Lage sein, Gemeinschaften zu motivieren, Modelle zu entwickeln, die besser für mobile Geräte geeignet sind.
Aktuelle Einschränkungen
Beschränkungen bei Geschwindigkeitsverbesserungen
- Obwohl 1,58-Bit-FLUX die Modellgröße und den Speicherverbrauch reduziert, ist die Verbesserung der Latenzzeit aufgrund der fehlenden Quantisierung des Aktivierungswerts und der fortgeschrittenen Kernel-Optimierungen begrenzt.
- Angesichts der bisher erzielten Ergebnisse ist zu hoffen, dass die Gemeinschaft motiviert wird, eigene Kernel-Implementierungen für das 1,58-Bit-Modell zu entwickeln.
Über die Grenzen der visuellen Qualität
- Wie in den Abbildungen 1, 3 und 4 unten gezeigt, erzeugt 1,58-Bit-FLUX lebendige und realistische Bilder, die in hohem Maße mit den Textinformationen übereinstimmen, bleibt aber bei der Darstellung von Details in ultrahoher Auflösung immer noch hinter dem ursprünglichen FLUX-Modell zurück.
- Es ist geplant, diese Lücke in künftigen Studien zu schließen.
- Visueller Vergleich von FLUX mit 1,58-Bit-FLUX. 1,58-Bit-FLUX zeigt eine vergleichbare Generierungsqualität wie FLUX mit 1,58-Bit-Quantisierung, bei der 99,5% der 11,9B-Parameter des visuellen Transformators auf +1, -1 oder 0 beschränkt sind. Aus Gründen der Konsistenz werden alle Bilder in jedem Vergleich mit demselben latenten Rauscheingang generiert. 1,58-Bit-FLUX verwendet einen benutzerdefinierten 1,58-Bit-Kernel. Aus Gründen der Konsistenz wurden alle Bilder in jedem Vergleich mit demselben potenziell verrauschten Input generiert. 1.58-bit FLUX verwendet einen benutzerdefinierten 1.58-bit Kernel.
Inferenzcodes und Gewichte werden veröffentlicht: https://github.com/Chenglin-Yang/1.58bit.flux