Nachricht

118-mal günstiger als Stable Diffusion! 1.890 US-Dollar für das Training eines hochwertigen Vincentschen Graphenmodells mit 1,16 Milliarden Parametern

2024-08-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Neuer Weisheitsbericht

Herausgeber: Alan

[Einführung in die neue Weisheit]Kürzlich haben Forscher der University of California, Irvine und anderer Institutionen die Trainingskosten des Diffusionsmodells mithilfe von Strategien wie verzögerter Maskierung, MoE und hierarchischer Erweiterung auf 1.890 US-Dollar gesenkt.

Wie viel kostet es, ein Diffusionsmodell zu trainieren?

Die bisher günstigste Methode (Wuerstchen) kostete 28.400 US-Dollar, und Modelle wie Stable Diffusion sind um eine Größenordnung teurer.

Im Zeitalter großer Modelle können es sich die meisten Menschen einfach nicht leisten, damit zu spielen. Wenn Sie vinzentinische Damen aller Art wollen, müssen Sie sich darauf verlassen, dass die Hersteller ihr Gewicht tragen.

Um diese enormen Kosten zu reduzieren, haben Forscher verschiedene Lösungen ausprobiert.


Das ursprüngliche Diffusionsmodell benötigt beispielsweise etwa 1.000 Schritte, um vom Rauschen zum Bild zu gelangen, wurde jedoch auf etwa 20 Schritte oder sogar weniger reduziert.

Als das Basismodul im Diffusionsmodell nach und nach durch DiT (Transformer) von Unet (CNN) ersetzt wurde, folgten auch einige Optimierungen auf Basis der Eigenschaften von Transformer.


Zum Beispiel Quantifizierung, z. B. das Überspringen einiger redundanter Berechnungen in Attention, z. B. Pipeline.

Kürzlich haben Forscher der University of California, Irvine und anderer Institutionen das Ziel, „Geld zu sparen“, einen großen Schritt vorangebracht:


Papieradresse: https://arxiv.org/abs/2407.15811

——Trainieren Sie ein Diffusionsmodell mit 1,16 Milliarden Parametern von Grund auf für nur 1.890 $!

Im Vergleich zu SOTA wurde es um eine Größenordnung verbessert, sodass normale Menschen hoffen können, einen Vorgeschmack auf das Vortraining zu bekommen.

Noch wichtiger ist, dass die kostensenkende Technologie die Leistung des Modells nicht beeinträchtigt. 1,16 Milliarden Parameter führen zu den folgenden sehr guten Ergebnissen.



Neben dem Erscheinungsbild sind auch die Datenindikatoren des Modells hervorragend. Beispielsweise liegt der in der folgenden Tabelle angegebene FID-Score sehr nahe an Stable Diffusion 1,5 und DALL·E 2.

Im Gegensatz dazu führte Wuerstchens Kostensenkungsplan zu nicht idealen Testergebnissen.


Tipps zum Geldsparen

Mit dem Ziel „Stretching Each Dollar“ starteten die Forscher mit DiT, dem Basismodul des Diffusionsmodells.

Erstens ist die Sequenzlänge der Feind der Rechenkosten von Transformer und muss eliminiert werden.

Bei Bildern ist es notwendig, die Anzahl der an Berechnungen beteiligten Patches zu minimieren (und auch den Speicheraufwand zu reduzieren), ohne die Leistung zu beeinträchtigen.


Es gibt zwei Möglichkeiten, die Anzahl der Bildkacheln zu reduzieren. Eine besteht darin, die Größe jedes Blocks zu erhöhen, und die andere darin, einen Teil des Patches (Maske) zu entfernen.


Da Ersteres die Modellleistung erheblich verringert, ziehen wir die Maskierungsmethode in Betracht.

Die naivste Maske (Naive-Token-Maskierung) ähnelt dem zufällig beschnittenen Training in Faltungs-UNet, ermöglicht jedoch das Training auf nicht zusammenhängenden Bereichen des Bildes.


Die bisher fortschrittlichste Methode (MaskDiT) fügt vor der Ausgabe eine Wiederherstellungs- und Rekonstruktionsstruktur hinzu und trainiert sie durch eine zusätzliche Verlustfunktion, in der Hoffnung, die verlorenen Informationen durch Lernen auszugleichen.


Beide Masken verwerfen zu Beginn die meisten Patches, um den Rechenaufwand zu reduzieren. Der Informationsverlust verringert die Gesamtleistung des Transformers erheblich. Auch wenn MaskDiT versucht, dies auszugleichen, erzielt es nur keine große Verbesserung.

——Es ist nicht ratsam, Informationen zu verlieren. Wie können wir also die Eingabe reduzieren, ohne Informationen zu verlieren?

Verzögerungsmaske

In diesem Artikel wird eine verzögerte Maskierungsstrategie vorgeschlagen, die einen Patch-Mixer zur Vorverarbeitung vor der Maske verwendet und die Informationen der verworfenen Patches in die verbleibenden Patches einbettet, wodurch die Auswirkungen hoher Masken deutlich reduziert werden.


In dieser Architektur wird der Patch-Mixer durch eine Kombination aus Aufmerksamkeitsschicht und Feed-Forward-Schicht implementiert. Zur Maskierung wird die Verlustfunktion des gesamten Modells verwendet.

Im Vergleich zu MaskDiT ist hier keine zusätzliche Verlustfunktion erforderlich und das Gesamtdesign und die Schulung sind einfacher.

Der Mischer selbst ist eine sehr leichte Konstruktion und erfüllt die Kriterien der Kostenersparnis.

Feinabstimmung

Da ein sehr hohes Maskierungsverhältnis die Fähigkeit des Diffusionsmodells, die globale Struktur im Bild zu lernen, erheblich verringert und eine Verteilungsverschiebung vom Training zum Testen einleitet, hat der Autor nach dem Vortraining eine kleine Feinabstimmung (Demaskierung) vorgenommen (Maske) ).

Darüber hinaus können durch die Feinabstimmung unerwünschte Generierungsartefakte verringert werden, die durch die Verwendung von Masken verursacht werden.

MoE und mehrschichtige Erweiterungen

MoE kann die Parameter und Ausdrucksfähigkeiten des Modells erhöhen, ohne die Trainingskosten wesentlich zu erhöhen.

Die Autoren verwenden eine vereinfachte MoE-Schicht, die auf von Experten ausgewähltem Routing basiert, wobei jeder Experte die Route zu seinem Token bestimmt, ohne dass eine zusätzliche Hilfsverlustfunktion erforderlich ist, um die Last zwischen den Experten auszugleichen.


Darüber hinaus haben die Autoren auch eine hierarchische Skalierungsmethode in Betracht gezogen, die die Breite des Transformer-Blocks (d. h. die Größe der verborgenen Schicht in der Aufmerksamkeitsschicht und der Feed-Forward-Schicht) linear erhöht.

Da tiefere Schichten in Vision-Modellen tendenziell komplexere Funktionen lernen, führt die Verwendung von mehr Parametern in tieferen Schichten zu einer besseren Leistung.

Versuchsaufbau

Der Autor verwendet zwei Varianten von DiT: DiT-Tiny/2 und DiT-Xl/2, mit einer Patchgröße von 2.

Alle Modelle wurden mit dem AdamW-Optimierer mit Kosinus-Lernratenabfall und hohem Gewichtsabfall trainiert.


Das Front-End des Modells verwendet den Vierkanal-Variations-Autoencoder (VAE) im Stable-Diffusion-XL-Modell, um Bildfunktionen zu extrahieren. Darüber hinaus wird die Leistung des neuesten 16-Kanal-VAE im groß angelegten Training (Speicherversion) genutzt ) wurde ebenfalls getestet.


Die Autoren verwenden das EDM-Framework als einheitliche Trainingsumgebung für alle Diffusionsmodelle und verwenden FID- und CLIP-Scores, um die Leistung des Bilderzeugungsmodells zu messen.

Für den Textencoder wurde das am häufigsten verwendete CLIP-Modell ausgewählt. Obwohl größere Modelle wie T5-xxl bei anspruchsvollen Aufgaben wie der Textsynthese besser abschneiden, werden sie hier nicht aus Kostengründen verwendet.

Trainingsdatensatz

Es werden drei reale Bilddatensätze (Conceptual Captions, Segment Anything, TextCaps) verwendet, die 22 Millionen Bild-Text-Paare enthalten.

Da SA1B keine echten Untertitel bereitstellt, werden hier synthetische Untertitel verwendet, die vom LLaVA-Modell generiert werden. Die Autoren fügten dem groß angelegten Training außerdem zwei synthetische Bilddatensätze mit 15 Millionen Bild-Text-Paaren hinzu: JourneyDB und DiffusionDB.

Für die Ablation im kleinen Maßstab erstellten die Forscher einen Text-zu-Bild-Datensatz namens cifar-captions, indem sie Bilder von 10 CIFAR-10-Klassen aus dem größeren COYO-700M-Datensatz unterabtasteten.

Auswerten

Alle Bewertungsexperimente wurden mit dem DiT-Tiny/2-Modell und dem Cifar-Captions-Datensatz (Auflösung 256 × 256) durchgeführt.

Jedes Modell wurde für 60.000 Optimierungsschritte mit dem AdamW-Optimierer und einem exponentiellen gleitenden Durchschnitt (Glättungskoeffizient von 0,995 für die letzten 10.000 Schritte) trainiert.

Verzögerungsmaske

Als Grundlinie des Experiments wurde die oben erwähnte naive Maskierung gewählt, während die Verzögerungsmaskierung in diesem Artikel einen leichten Patch-Mixer hinzufügte, wobei die Anzahl der Parameter weniger als 10 % des Backbone-Netzwerks ausmachte.

Generell gilt: Je mehr Patches verloren gehen (hohes Maskierungsverhältnis), desto schlechter ist die Leistung des Modells. Beispielsweise sinkt die Leistung von MaskDiT erheblich, wenn sie 50 % überschreitet.

Das Vergleichsexperiment hier verwendet die Standardhyperparameter (Lernrate 1,6 × 10e-4, Gewichtsabfall von 0,01 und Kosinus-Lernrate), um zwei Modelle zu trainieren.


Die Ergebnisse in der obigen Abbildung zeigen, dass sich die Verzögerungsmaskierungsmethode bei den drei Indikatoren FID, Clip-FID und Clip-Score verbessert hat.

Darüber hinaus vergrößert sich der Leistungsunterschied zur Basislinie mit zunehmender Maskierungsrate. Wenn die Maskierungsrate 75 % beträgt, reduziert die naive Maskierung den FID-Score auf 16,5, während unsere Methode 5,03 erreicht, was näher am FID-Score ohne Maskierung (3,79) liegt.

Hyperparameter

Der allgemeinen Idee des LLM-Trainings folgend vergleichen wir hier die Hyperparameterauswahl der beiden Aufgaben.

Erstens ist in der Feedforward-Schicht die SwiGLU-Aktivierungsfunktion besser als GELU. Zweitens führt eine höhere Gewichtsdämpfung zu einer besseren Bilderzeugungsleistung.


Darüber hinaus kann das Diffusionsmodell in diesem Artikel im Gegensatz zum LLM-Training eine bessere Leistung erzielen, wenn ein höherer laufender Durchschnittskoeffizient für das AdamW-Moment zweiter Ordnung (β) verwendet wird.

Schließlich stellten die Autoren fest, dass die Verwendung einer kleinen Anzahl von Trainingsschritten bei gleichzeitiger Erhöhung der Lernrate auf den maximal möglichen Wert (bis das Training instabil wird) auch die Leistung bei der Bilderzeugung deutlich verbesserte.

Mixer-Design

Normalerweise ist es richtig, hart zu arbeiten, um Wunder zu erreichen, und der Autor hat auch beobachtet, dass sich die Modellleistung nach Verwendung eines größeren Patch-Mixers weiter verbessert.

Um Geld zu sparen, wird hier jedoch immer noch ein kleiner Mixer gewählt.

Die Autoren änderten die Rauschverteilung auf (−0,6, 1,2), was die Ausrichtung zwischen den Untertiteln und dem generierten Bild verbesserte.

Wie in der folgenden Abbildung dargestellt, untersuchte der Autor bei einem Maskierungsverhältnis von 75 % auch die Auswirkungen der Verwendung unterschiedlicher Patchgrößen.


Wenn die Anzahl der kontinuierlichen Bereiche größer wird (die Patches werden größer), nimmt die Leistung des Modells ab, sodass die ursprüngliche Strategie der zufälligen Maskierung jedes Patches beibehalten wird.

geschichtete Skalierung

Dieses Experiment trainierte zwei Varianten der DiT-Tiny-Architektur, eine mit konstanter Breite und die andere mit einer hierarchisch skalierten Struktur.

Beide Methoden verwenden Naive Masking und passen die Größe des Transformers an, um sicherzustellen, dass die Rechenleistung des Modells in beiden Fällen gleich ist und gleichzeitig die gleichen Trainingsschritte und die gleiche Trainingszeit durchgeführt werden.


Aus den Ergebnissen in der obigen Tabelle ist ersichtlich, dass die hierarchische Skalierungsmethode bei allen drei Leistungsindikatoren besser ist als die Basislinienmethode mit konstanter Breite, was darauf hinweist, dass die hierarchische Skalierungsmethode besser für das Maskierungstraining von DiT geeignet ist.

Referenzen:

https://arxiv.org/abs/2407.15811