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.
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.
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
Memandangkan kadar masking yang tinggi akan mengalih keluar kebanyakan isyarat pembelajaran yang berharga dalam imej, penulis tidak boleh tidak bertanya, adakah perlu untuk mask dalam lapisan input? Selagi kos pengiraan kekal malar, ini hanyalah pilihan reka bentuk dan bukan batasan asas. Malah, penulis menemui strategi penyamaran yang jauh lebih baik yang kosnya hampir sama dengan kaedah MaskDiT sedia ada. Memandangkan patch datang daripada kawasan imej yang tidak bertindih dalam Transformer resapan, setiap pembenaman patch tidak membenamkan sebarang maklumat daripada patch lain dalam imej. Oleh itu, matlamat pengarang adalah untuk memproses prabenam tampalan sebelum menyamar supaya tampung yang tidak bertopeng boleh membenamkan maklumat daripada keseluruhan imej. Mereka memanggil pengadun tampalan modul prapemprosesan.
Gunakan pembancuh tampalan untuk melatih pengubah resapan
Pengarang percaya bahawa pengadun tampalan ialah sebarang seni bina saraf yang boleh menggabungkan benam tampalan individu. Dalam model pengubah, matlamat ini secara semula jadi boleh dicapai melalui gabungan perhatian dan lapisan suapan ke hadapan. Oleh itu, penulis menggunakan pengubah ringan yang terdiri daripada beberapa lapisan sahaja sebagai pembancuh tampalan. Selepas token jujukan input diproses oleh pembancuh tampalan, ia menutupnya (Rajah 2e).
Rajah 2: Mampatkan urutan tampalan untuk mengurangkan kos pengiraan. Memandangkan kos latihan pengubah resapan adalah berkadar dengan saiz jujukan (iaitu bilangan tampalan), adalah lebih baik untuk mengurangkan saiz jujukan tanpa merendahkan prestasi. Ini boleh dicapai dengan: b) menggunakan tampalan yang lebih besar; c) menutup sebahagian tampalan secara rawak atau d) menggunakan MaskDiT, yang menggabungkan penyamaran naif dengan objektif pengekodan auto tambahan. Penulis mendapati bahawa ketiga-tiga kaedah membawa kepada kemerosotan yang ketara dalam prestasi penjanaan imej, terutamanya pada kadar penyamaran yang tinggi. Untuk mengurangkan masalah ini, mereka mencadangkan strategi penyamaran tertunda yang langsung menutup tampalan selepas ia diproses oleh pembancuh tampalan. Pendekatan mereka adalah serupa dengan penyamaran naif dalam semua aspek kecuali menggunakan patch-mixer. Berbanding dengan MaskDiT, kaedah mereka tidak memerlukan pengoptimuman sebarang objektif pengganti dan mempunyai kos pengiraan yang hampir sama.
Dengan mengandaikan topeng adalah topeng binari m, penulis menggunakan fungsi kehilangan berikut untuk melatih model:
di mana, M_ϕ ialah model patch-mixer dan F_θ ialah pengubah tulang belakang. Ambil perhatian bahawa berbanding dengan MaskDiT, kaedah yang dicadangkan juga memudahkan reka bentuk keseluruhan dan tidak memerlukan fungsi kehilangan tambahan atau penalaan hiperparameter yang sepadan antara dua kerugian semasa latihan. Semasa inferens, kaedah ini tidak menutup sebarang tompok.
Penalaan halus tanpa topeng
Memandangkan kadar penyamaran yang sangat tinggi akan mengurangkan keupayaan model resapan untuk mempelajari struktur global imej dan memperkenalkan anjakan pengedaran ujian kereta api pada saiz jujukan, penulis mempertimbangkan untuk melakukan sejumlah kecil selepas latihan pra-latihan bertopeng bagi penalaan halus yang tidak bertopeng. Penalaan halus juga boleh mengurangkan sebarang artifak generasi yang disebabkan oleh penggunaan pelekat tampalan. Oleh itu, dalam kerja sebelumnya, adalah penting untuk memulihkan prestasi yang menurun secara mendadak akibat penyamaran, terutamanya apabila menggunakan bootstrap tanpa pengelas dalam pensampelan. Walau bagaimanapun, penulis berpendapat bahawa ini tidak diperlukan sepenuhnya, kerana kaedah mereka mencapai prestasi yang setanding dengan latihan pra-latihan asas tanpa topeng walaupun dengan pra-latihan bertopeng. Pengarang hanya menggunakan pendekatan ini dalam latihan berskala besar untuk mengurangkan sebarang artifak generasi yang tidak diketahui kerana pelekat tampalan yang tinggi.
Menggunakan KPM dan penskalaan mengikut lapisan untuk menambah baik seni bina pengubah tulang belakang
Pengarang juga memanfaatkan inovasi dalam reka bentuk seni bina transformer untuk meningkatkan prestasi model di bawah kekangan pengiraan.
Mereka menggunakan lapisan pakar hibrid kerana ia meningkatkan parameter dan ekspresif model tanpa meningkatkan kos latihan dengan ketara. Mereka menggunakan lapisan MoE yang dipermudahkan berdasarkan penghalaan pemilihan pakar, dengan setiap pakar memutuskan token yang hendak dihalakan ke sana, kerana ia tidak memerlukan sebarang fungsi kehilangan tambahan tambahan untuk mengimbangi beban di kalangan pakar. Mereka juga menganggap penskalaan dari segi lapisan, yang baru-baru ini telah ditunjukkan mengatasi prestasi transformer biasa dalam model bahasa besar. Kaedah ini secara linear meningkatkan lebar blok pengubah, iaitu dimensi lapisan tersembunyi perhatian dan lapisan suapan. Oleh itu, lapisan yang lebih dalam dalam rangkaian diberikan lebih banyak parameter daripada lapisan sebelumnya. Penulis percaya bahawa oleh kerana lapisan yang lebih dalam dalam model visual cenderung untuk mempelajari ciri yang lebih kompleks, menggunakan parameter yang lebih tinggi dalam lapisan yang lebih dalam akan membawa kepada prestasi yang lebih baik. Penulis menerangkan seni bina keseluruhan Transformer penyebaran yang dicadangkan dalam Rajah 3.
Rajah 3: Seni bina keseluruhan pengubah resapan yang dicadangkan dalam artikel ini. Pengarang menambah pengadun tampalan ringan pada model pengubah tulang belakang, yang memproses semua tampalan dalam imej input sebelum ia bertopeng. Mengikuti kerja semasa, pengarang menggunakan lapisan perhatian untuk memproses pembenaman kapsyen, yang kemudiannya digunakan untuk pelaziman. Mereka menggunakan pembenaman sinusoidal untuk mewakili langkah masa. Model mereka hanya menafikan patch yang tidak bertopeng, jadi kehilangan resapan (Persamaan 3 dalam kertas) hanya dikira untuk patch ini. Mereka mengubah suai pengubah tulang belakang untuk menggunakan penskalaan mengikut lapisan pada lapisan individu dan lapisan pakar campuran dalam blok pengubah berselang-seli.
Eksperimen
Percubaan menggunakan dua varian Transformer resapan (DiT), DiT-Tiny/2 dan DiT-Xl/2.
Seperti yang ditunjukkan dalam Rajah 4, kaedah penyamaran kelewatan mencapai prestasi yang lebih baik dalam berbilang metrik. Tambahan pula, apabila kadar penyamaran meningkat, jurang prestasi semakin melebar. Sebagai contoh, pada kadar masking 75%, masking naif mengurangkan skor FID kepada 16.5 (lebih rendah adalah lebih baik), manakala kaedah kami boleh mencapai 5.03, iaitu lebih dekat dengan skor FID 3.79 tanpa masking.
Jadual 1 menunjukkan bahawa kaedah penskalaan mengikut lapisan mempunyai kesan pemasangan yang lebih baik dalam latihan penutupan pengubah resapan.
Bandingkan strategi penyamaran yang berbeza. Pengarang mula-mula membandingkan kaedah kami dengan strategi menggunakan patch yang lebih besar. Meningkatkan saiz tampalan daripada 2 kepada 4 bersamaan dengan 75% pelekat tampalan. Berbanding dengan penyamaran tertunda, kaedah lain berprestasi buruk, masing-masing mencapai hanya 9.38, 6.31 dan 26.70 FID, Clip-FID dan Clip-score. Sebagai perbandingan, penutupan kependaman masing-masing mencapai 7.09, 4.10 dan 28.24 FID, Clip-FID dan Skor Klip.
Gambar di bawah menunjukkan perbandingan topeng tertunda vs pengecutan model untuk mengurangkan kos latihan. Sehingga kadar penutupan mencapai 75%, pengarang mendapati bahawa penutupan tertunda mengatasi pengurangan rangkaian dalam sekurang-kurangnya dua daripada tiga metrik. Walau bagaimanapun, pada kadar penyamaran yang sangat tinggi, penyamaran yang tertunda cenderung untuk mencapai prestasi yang lebih rendah. Ini mungkin disebabkan oleh kehilangan maklumat bertopeng yang terlalu tinggi pada nisbah ini.
Jadual 5 memberikan butiran tentang hiperparameter latihan model. Proses latihan dibahagikan kepada dua peringkat.
Kira kos. Jadual 2 menyediakan pecahan kos pengiraan untuk setiap peringkat latihan, termasuk FLOP latihan dan kos ekonomi. Latihan Fasa 1 dan 2 menggunakan 56% dan 44% daripada jumlah kos pengiraan, masing-masing. Jumlah masa latihan jam model pada kluster GPU 8×H100 ialah 2.6 hari, yang bersamaan dengan 6.6 hari pada kluster GPU 8×A100.
Untuk keputusan lanjut, sila rujuk kertas asal.
Atas ialah kandungan terperinci Untuk $1,890, anda boleh melatih model penyebaran parameter 1.2 bilion yang baik dari awal.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!