Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

WBOY
WBOYOriginal
2024-07-29 18:41:44430Durchsuche

Mit nur 1890 US-Dollar und 37 Millionen Bildern kann man ein ziemlich gutes Diffusionsmodell trainieren.

Derzeit sind visuelle generative Modelle gut darin, realistische visuelle Inhalte zu erstellen, allerdings sind die Kosten und der Aufwand, diese Modelle von Grund auf zu trainieren, immer noch hoch. Stable Diffusion 2.1 benötigte beispielsweise 200.000 A100-GPU-Stunden. Selbst wenn Forscher die fortschrittlichste Methode verwenden, dauert das Training auf einer 8×H100-GPU immer noch mehr als einen Monat.

Darüber hinaus stellt das Training großer Modelle auch Herausforderungen für Datensätze dar. Diese Daten liegen grundsätzlich in Einheiten von Hunderten von Millionen vor, was auch Herausforderungen für das Training von Modellen mit sich bringt.

Hohe Schulungskosten und Anforderungen an den Datensatz schaffen unüberwindbare Hindernisse für die Entwicklung groß angelegter Diffusionsmodelle.

Jetzt haben Forscher von Sony AI und anderen Institutionen nur 1.890 US-Dollar ausgegeben, um ein gutes Diffusionsmodell zu trainieren, einen spärlichen Transformator mit 1,16 Milliarden Parametern.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

  • Papieradresse: https://arxiv.org/pdf/2407.15811

  • Papiertitel: Stretching Each Dollar: Diffusion Training from Scratch on a Micro-Budget

  • Projekt (in Vorbereitung): https://github.com/SonyResearch/micro_diffusion

Konkret entwickelt der Autor in dieser Arbeit eine kostengünstige End-to-End-Pipeline für das Text-zu-Bild-Diffusionsmodell, wodurch die Schulungskosten niedriger sind als bei SOTA Das Modell ist um mehr als eine Größenordnung schneller und erfordert keinen Zugriff auf Milliarden von Trainingsbildern oder proprietären Datensätzen.

Der Autor betrachtete ein latentes Diffusionsmodell, das auf einem visuellen Transformator für die Bildgenerierung basiert. Der Hauptgrund dafür ist, dass diese Methode einfach zu entwerfen und weit verbreitet ist. Um den Rechenaufwand zu reduzieren, nutzen die Autoren die starke Abhängigkeit des Transformator-Rechenaufwands von der Größe der Eingabesequenz (d. h. der Anzahl der Patches pro Bild).

Das Hauptziel dieses Artikels besteht darin, die Anzahl effektiver Patches zu reduzieren, die der Transformator verwendet, um jedes Bild während des Trainingsprozesses zu verarbeiten. Dies kann leicht erreicht werden, indem einige Token in der Eingabeschicht des Transformators zufällig ausgeblendet werden.

Bestehende Maskierungsmethoden sind jedoch nicht in der Lage, die Maskierungsrate auf über 50 % zu erhöhen, ohne die Leistung erheblich zu verringern, insbesondere bei hohen Maskierungsraten, bei denen ein großer Teil des Eingangsfelds vom Diffusionstransformator überhaupt nicht beobachtet wird.

Um den durch Maskierung verursachten erheblichen Leistungsabfall zu mildern, schlägt der Autor eine verzögerte Maskierungsstrategie vor, bei der alle Patches von einem leichten Patch-Mixer vorverarbeitet und dann an den Diffusionstransformator übertragen werden. Patch-Mischer enthalten nur einen Bruchteil der Anzahl an Parametern, die in Diffusionstransformatoren zu finden sind.

Im Vergleich zu naiven Maskierungsmethoden ermöglicht die Maskierung nach dem Patch-Mischen, dass unmaskierte Patches semantische Informationen über das gesamte Bild behalten und ermöglicht ein zuverlässiges Training von Diffusionstransformatoren bei sehr hohen Maskierungsraten, während im Vergleich zu den besten vorhandenen Methoden kein zusätzlicher Rechenaufwand anfällt bis zur erweiterten Maskierung.

Die Autoren zeigen außerdem, dass die verzögerte Maskierungsstrategie bei gleichem Rechenbudget eine bessere Leistung erzielt als Downsizing (d. h. Reduzierung der Modellgröße). Schließlich integrieren die Autoren die jüngsten Fortschritte in der Transformer-Architektur, wie z. B. die schichtweise Skalierung und den Sparse-Transformer mithilfe von MoE, um die Leistung groß angelegter Schulungen zu verbessern.

Die vom Autor vorgeschlagene kostengünstige Trainingspipeline reduziert den experimentellen Aufwand. Neben der Verwendung realer Bilder erwogen die Autoren auch die Kombination anderer synthetischer Bilder im Trainingsdatensatz. Der kombinierte Datensatz enthält nur 37 Millionen Bilder, viel weniger Daten, als die meisten bestehenden Großmodelle benötigen.

Auf diesem kombinierten Datensatz trainierte der Autor einen spärlichen Transformator mit 1,16 Milliarden Parametern zu einem Preis von 1890 US-Dollar und erreichte 12,7 FID bei der Zero-Shot-Generierung auf dem COCO-Datensatz.

Es ist erwähnenswert, dass das in diesem Artikel trainierte Modell einen wettbewerbsfähigen FID und eine qualitativ hochwertige Erzeugung erreicht und dabei nur 1/118 des stabilen Diffusionsmodells und 1/1 der aktuellen Methode nach dem neuesten Stand der Technik (Kosten) kostet 28.400 $) 15.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Einführung in die Methode

Um den Rechenaufwand erheblich zu reduzieren, müssen bei der Patch-Maskierung die meisten Eingabe-Patches verworfen werden, bevor sie in den Backbone-Transformator eingegeben werden, sodass der Transformator die Informationen des maskierten Patches nicht erhalten kann . Hohe Maskierungsraten (z. B. 75 % Maskierungsrate) können die Gesamtleistung des Transformators erheblich verringern. Selbst mit MaskDiT ist nur eine schwache Verbesserung gegenüber der naiven Maskierung zu beobachten, da diese Methode auch die meisten Bildfelder in der Eingabeebene selbst verwirft.

Verzögerte Maskierung, Beibehaltung der semantischen Informationen aller Patches

Da durch eine hohe Maskierungsrate die meisten wertvollen Lernsignale im Bild entfernt werden, kommt der Autor nicht umhin zu fragen: Ist eine Maskierung in der Eingabeebene erforderlich? Solange der Rechenaufwand konstant bleibt, handelt es sich lediglich um eine Entwurfsentscheidung und nicht um eine grundsätzliche Einschränkung. Tatsächlich entdeckten die Autoren eine deutlich bessere Maskierungsstrategie, die fast genauso viel kostet wie die bestehende MaskDiT-Methode. Da Patches aus nicht überlappenden Bildbereichen im Diffusionstransformer stammen, werden bei jeder Patch-Einbettung keine Informationen von anderen Patches im Bild eingebettet. Daher besteht das Ziel des Autors darin, Patch-Einbettungen vor der Maskierung vorzuverarbeiten, sodass unmaskierte Patches Informationen aus dem gesamten Bild einbetten können. Sie nennen das Vorverarbeitungsmodul Patch-Mixer.

Patch-Mixer zum Trainieren des Diffusionstransformators verwenden

Der Autor glaubt, dass Patch-Mixer jede neuronale Architektur ist, die einzelne Patch-Einbettungen verschmelzen kann. Im Transformer-Modell kann dieses Ziel natürlich durch eine Kombination aus Aufmerksamkeits- und Feed-Forward-Schichten erreicht werden. Daher verwenden die Autoren als Patch-Mixer einen leichten Transformator, der nur aus wenigen Schichten besteht. Nachdem die Eingabesequenz-Tokens vom Patch-Mixer verarbeitet wurden, werden sie maskiert (Abbildung 2e).

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Abbildung 2: Komprimieren Sie die Patch-Sequenz, um den Rechenaufwand zu reduzieren. Da die Trainingskosten eines Diffusionstransformators proportional zur Sequenzgröße (d. h. der Anzahl der Patches) sind, ist es am besten, die Sequenzgröße zu reduzieren, ohne die Leistung zu beeinträchtigen. Dies kann erreicht werden durch: b) Verwendung eines größeren Patches; c) zufälliges Maskieren eines Teils des Patches oder d) Verwendung von MaskDiT, das naive Maskierung mit zusätzlichen Zielen der automatischen Kodierung kombiniert; Die Autoren stellten fest, dass alle drei Methoden zu einer erheblichen Verschlechterung der Bilderzeugungsleistung führen, insbesondere bei hohen Maskierungsraten. Um dieses Problem zu lösen, schlugen sie eine einfache Strategie zur verzögerten Maskierung vor, die den Patch maskiert, nachdem er vom Patch-Mixer verarbeitet wurde. Ihr Ansatz ähnelt in allen Aspekten der naiven Maskierung, mit Ausnahme der Verwendung von Patch-Mixer. Im Vergleich zu MaskDiT erfordert ihre Methode keine Optimierung von Ersatzzielen und hat nahezu den gleichen Rechenaufwand.

Unter der Annahme, dass die Maske eine binäre Maske m ist, verwendet der Autor die folgende Verlustfunktion, um das Modell zu trainieren:

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

wobei M_ϕ das Patch-Mixer-Modell und F_θ der Backbone-Transformator ist. Beachten Sie, dass die vorgeschlagene Methode im Vergleich zu MaskDiT auch das Gesamtdesign vereinfacht und keine zusätzlichen Verlustfunktionen oder eine entsprechende Abstimmung der Hyperparameter zwischen den beiden Verlusten während des Trainings erfordert. Während der Inferenz maskiert diese Methode keine Patches.

Unmaskierte Feinabstimmung

Da eine extrem hohe Maskierungsrate die Fähigkeit des Diffusionsmodells, die globale Struktur des Bildes zu lernen und eine Train-Test-Verteilungsverschiebung auf die Sequenzgröße einzuführen, erheblich verringert, erwägt der Autor dies eine kleine Menge nach maskiertem Vortraining und unmaskierter Feinabstimmung. Durch die Feinabstimmung können auch durch die Patch-Maskierung verursachte Generierungsartefakte gemindert werden. Daher ist es in früheren Arbeiten von entscheidender Bedeutung, die Leistung wiederherzustellen, die aufgrund der Maskierung stark abfällt, insbesondere wenn beim Sampling klassifikatorfreies Bootstrapping verwendet wird. Die Autoren argumentieren jedoch, dass dies nicht unbedingt notwendig ist, da ihre Methode auch mit maskiertem Vortraining eine vergleichbare Leistung wie das unmaskierte Vortraining zu Beginn erzielt. Die Autoren verwenden diesen Ansatz nur bei groß angelegten Schulungen, um etwaige unbekannte und unbekannte Generierungsartefakte aufgrund einer hohen Patch-Maskierung abzuschwächen.

Verwendung von MoE und schichtweiser Skalierung zur Verbesserung der Backbone-Transformator-Architektur

Der Autor nutzt auch Innovationen im Design von Transformator-Architekturen, um die Modellleistung unter rechnerischen Einschränkungen zu verbessern.

Sie verwenden hybride Expertenschichten, weil sie die Parameter und die Ausdruckskraft des Modells erhöhen, ohne die Schulungskosten wesentlich zu erhöhen. Sie verwenden eine vereinfachte MoE-Schicht, die auf Expertenauswahl-Routing basiert, wobei jeder Experte entscheidet, welche Token an ihn weitergeleitet werden, da keine zusätzliche Hilfsverlustfunktion erforderlich ist, um die Last zwischen den Experten auszugleichen. Sie erwogen auch die schichtweise Skalierung, von der kürzlich gezeigt wurde, dass sie typische Transformatoren in großen Sprachmodellen übertrifft. Diese Methode erhöht linear die Breite des Transformatorblocks, d. h. die verborgene Schichtdimension der Aufmerksamkeits- und Feedforward-Schichten. Daher werden tieferen Schichten im Netzwerk mehr Parameter zugewiesen als früheren Schichten. Die Autoren glauben, dass die Verwendung höherer Parameter in tieferen Schichten zu einer besseren Leistung führt, da tiefere Schichten in einem visuellen Modell dazu neigen, komplexere Merkmale zu lernen. Die Autoren beschreiben die Gesamtarchitektur ihres vorgeschlagenen Diffusionstransformators in Abbildung 3.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Abbildung 3: Die Gesamtarchitektur des in diesem Artikel vorgeschlagenen Diffusionstransformators. Die Autoren haben dem Backbone-Transformer-Modell einen leichten Patch-Mixer hinzugefügt, der alle Patches im Eingabebild verarbeitet, bevor sie maskiert werden. Im Anschluss an die aktuelle Arbeit verwenden die Autoren eine Aufmerksamkeitsschicht, um Bildunterschriftseinbettungen zu verarbeiten, die dann zur Konditionierung verwendet werden. Sie verwenden eine sinusförmige Einbettung, um den Zeitschritt darzustellen. Ihr Modell entrauscht nur unmaskierte Patches, sodass der Diffusionsverlust (Gleichung 3 im Artikel) nur für diese Patches berechnet wird. Sie haben den Backbone-Transformator so modifiziert, dass er eine schichtweise Skalierung auf einzelnen Schichten und gemischte Expertenschichten in alternierenden Transformatorblöcken verwendet.

Experiment

Das Experiment verwendet zwei Varianten des Diffusionstransformators (DiT), DiT-Tiny/2 und DiT-Xl/2.

Wie in Abbildung 4 dargestellt, erzielt die Verzögerungsmaskierungsmethode eine bessere Leistung bei mehreren Metriken. Darüber hinaus vergrößert sich die Leistungslücke mit zunehmender Maskierungsrate. Beispielsweise reduziert die naive Maskierung bei einer Maskierungsrate von 75 % den FID-Score auf 16,5 (niedriger ist besser), während unsere Methode 5,03 erreichen kann, was näher am FID-Score von 3,79 ohne Maskierung liegt.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Tabelle 1 zeigt, dass die schichtweise Skalierungsmethode einen besseren Anpassungseffekt beim Maskierungstraining des Diffusionstransformators hat.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Vergleichen Sie verschiedene Maskierungsstrategien. Die Autoren vergleichen unsere Methode zunächst mit Strategien, die größere Patches verwenden. Eine Erhöhung der Patchgröße von 2 auf 4 entspricht einer Patchmaskierung von 75 %. Im Vergleich zur verzögerten Maskierung schneiden andere Methoden schlecht ab und erreichen jeweils nur 9,38, 6,31 und 26,70 FID, Clip-FID und Clip-Score. Im Vergleich dazu erreicht die Latenzmaskierung 7,09, 4,10 bzw. 28,24 FID, Clip-FID und Clip-Score.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Das Bild unten zeigt den Vergleich der verzögerten Maskierung mit der Modellverkleinerung zur Reduzierung der Schulungskosten. Bis die Maskierungsrate 75 % erreicht, stellen die Autoren fest, dass die verzögerte Maskierung die Netzwerkreduzierung in mindestens zwei von drei Metriken übertrifft. Bei extrem hohen Maskierungsraten führt die verzögerte Maskierung jedoch tendenziell zu einer geringeren Leistung. Dies kann dadurch verursacht werden, dass der bei diesen Verhältnissen maskierte Informationsverlust zu hoch ist.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Tabelle 5 enthält Details zu den Modelltrainings-Hyperparametern. Der Ausbildungsprozess ist in zwei Phasen unterteilt.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Berechnen Sie die Kosten. Tabelle 2 enthält eine Aufschlüsselung der Rechenkosten für jede Trainingsphase, einschließlich Trainings-FLOPs und wirtschaftlicher Kosten. Das Training der Phasen 1 und 2 verbrauchte 56 % bzw. 44 % der gesamten Rechenkosten. Die gesamte Takttrainingszeit des Modells auf einem 8×H100-GPU-Cluster beträgt 2,6 Tage, was 6,6 Tagen auf einem 8×A100-GPU-Cluster entspricht.

Für 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.

Weitere Ergebnisse finden Sie im Originalpapier.

Das obige ist der detaillierte Inhalt vonFür 1.890 US-Dollar können Sie ein anständiges Diffusionsmodell mit 1,2 Milliarden Parametern von Grund auf trainieren.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn