View a markdown version of this page

FLUX.2 Feinabstimmung und Bildgenerierung von Klein LoRa - Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

FLUX.2 Feinabstimmung und Bildgenerierung von Klein LoRa

Dieses Beispiel zeigt, wie man ein FLUX.2 Klein-Bildgenerierungsmodell mithilfe von LoRa (Low-Rank Adaptation) verfeinert und Bilder in Deadline Cloud maßstabsgetreu generiert. Der Workflow trainiert einen leichten Adapter anhand eines kleinen Bilddatensatzes. Anschließend verwendet er diesen Adapter, um anhand von Textansagen neue Bilder zu generieren, die alle als Deadline Cloud-Jobs auf einer GPU-Flotte orchestriert werden.

Der Quellcode für dieses Beispiel ist im Deadline-Cloud-Samples-Repository unter verfügbar. GitHub

Das folgende Video zeigt den FLUX.2 Klein LoRa-Workflow auf Deadline Cloud.

Geschätzte Zeit: 30—60 Minuten (einschließlich 15—45 Minuten für das Training).

-Übersicht

Das Beispiel besteht aus zwei Auftragspaketen:

  1. lora_training — Fine-tunes FLUX.2Klein auf Ihrem Bilddatensatz mithilfe von LoRa, wodurch eine Adapterdatei erzeugt wird. .safetensors

  2. image_generation — Lädt das Basismodell mit Ihrem trainierten Adapter und generiert Bilder aus Texteingabeaufforderungen. Beim Generieren mehrerer Bilder wird die Arbeit zwischen den Mitarbeitern parallelisiert.

LoRa ist eine parametereffiziente Feinabstimmungstechnik, bei der ein kleiner Adapter trainiert wird, anstatt die gesamten Modellgewichte zu ändern. Dieser Ansatz macht das Training schnell (15—45 Minuten auf einer einzelnen GPU) und der daraus resultierende Adapter ist portabel und einfach zu versionieren.

Die Job-Bundles verwenden die Diffusoren und PEFT-Bibliotheken für Schulungen und Inferenz.

Gehen Sie wie folgt vor, um dieses Beispiel zu vervollständigen:

  1. Sorgen Sie dafür, dass die -Voraussetzungen erfüllt sind.

  2. Bereiten Sie die Trainingsdaten vor.

  3. Reichen Sie den Schulungsjob ein.

  4. Reichen Sie den Job zur Bilderzeugung ein.

  5. Bereinigen Sie die Ressourcen.

Voraussetzungen

Stellen Sie vor dem Beginn sicher, dass Sie über Folgendes verfügen:

  • Eine Deadline Cloud-Farm mit einer GPU-Flotte (LinuxNVIDIA A10G-GPU, 13 GB+ VRAM, 64 GiB und mehr Systemspeicher empfohlen).

  • Eine Warteschlange, die der GPU-Flotte zugeordnet ist.

  • Die Deadline Cloud-CLI ist auf Ihrer Workstation installiert.

  • 20—50 Trainingsbilder Ihres Probanden (.jpg, .png.jpeg, oder.webp).

Struktur des Jobpakets

flux2_klein_lora/ ├── lora_training/ │ ├── template.yaml # OpenJD job template │ └── train_lora.py # Training script └── image_generation/ ├── template.yaml # OpenJD job template └── generate_image.py # Inference script

Bereiten Sie Trainingsdaten vor

Um Ihre Trainingsdaten vorzubereiten
  1. Erstellen Sie ein Verzeichnis mit Bildern Ihres Themas. Die besten Ergebnisse erzielen Sie, wenn Sie 20—50 Bilder mit unterschiedlichen Posen, Lichtverhältnissen und Hintergründen verwenden.

  2. Für ein differenzierteres Training können Sie optional jedem Bild eine .txt Untertiteldatei beifügen:

    training_images/ ├── IMG_001.jpeg ├── IMG_001.txt # "a photo of ohwx dog sitting on grass" ├── IMG_002.jpeg ├── IMG_002.txt # "a photo of ohwx dog running on beach"

    Wenn keine Untertiteldateien vorhanden sind, generiert das Trainingsskript sie automatisch mithilfe des Instanz-Prompt-Parameters. Benutzerdefinierte Beschriftungen führen zu qualitativ hochwertigeren Ergebnissen, da sie dem Modell spezifischere Assoziationen zwischen Ihrem Triggerwort und visuellen Merkmalen vermitteln.

  3. Wählen Sie ein eindeutiges Auslösewort (z. B.). ohwx Dadurch wird das erlernte Konzept an ein Token gebunden, das nicht mit vorhandenem Modellwissen kollidiert.

Reichen Sie den Ausbildungsjob ein

Um den Ausbildungsjob einzureichen
  1. Navigieren Sie zu dem flux2_klein_lora Verzeichnis in Ihrem geklonten deadline-cloud-samples Repository.

  2. Führen Sie den folgenden Befehl aus, um den Trainingsjob mit der GUI einzureichen:

    deadline bundle gui-submit ./lora_training

    Oder führen Sie den folgenden Befehl aus, um den Trainingsjob direkt mit der CLI zu senden:

    deadline bundle submit ./lora_training \ --queue-id gpu-queue-id \ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512
  3. Überwachen Sie den Jobstatus in der Deadline Cloud-Konsole oder mithilfe des deadline job get Befehls.

Trainingsparameter

Trainingsparameter
Parameter Description Standard
Modellversion flux.2-klein-base-4b oder flux.2-klein-4b flux.2-klein-base-4b
Datensatz-Pfad Verzeichnis mit Trainingsbildern
Instanz-Aufforderung Text, der Ihr Thema beschreibt
Auflösung Auflösung des Trainingsbilds in Pixeln 512
Netzwerk-Dim LoRa-Rang (höher = mehr Kapazität) 16
Netzwerk Alpha LoRa-Alpha-Skalierungsfaktor 16
Max. Trainingsschritte Anzahl der Trainingsiterationen 1500
Ausgabeverzeichnis Wo kann man trainierte Gewichte speichern

Trainingsausgaben

Der Trainingsjob erzeugt die folgenden Artefakte:

  • flux2_klein_lora.safetensors— Der trainierte LoRa-Adapter mit eingebetteten Metadaten.

  • Checkpoints werden alle 300 Schritte gespeichert.

Führen Sie den folgenden Befehl aus, um die Ausgabe nach Abschluss des Trainings herunterzuladen:

deadline job download-output \ --job-id training-job-id \ --queue-id gpu-queue-id

Reichen Sie den Job zur Imagegenerierung ein

Um den Job zur Bilderzeugung einzureichen
  1. Navigieren Sie zu dem flux2_klein_lora Verzeichnis in Ihrem geklonten deadline-cloud-samples Repository.

  2. Führen Sie den folgenden Befehl aus, um den Job zur Image-Generierung mit der GUI einzureichen:

    deadline bundle gui-submit ./image_generation

    Oder führen Sie den folgenden Befehl aus, um den Image-Generierungsjob direkt mit der CLI zu senden:

    deadline bundle submit ./image_generation \ --queue-id gpu-queue-id \ --parameter LoRAPath=/tmp/lora_output/flux2_klein_lora.safetensors \ --parameter Prompt="a photo of ohwx dog wearing a tuxedo" \ --parameter OutputDir=/tmp/generated_images \ --parameter NumImages=4
  3. Überwachen Sie den Jobstatus in der Deadline Cloud-Konsole oder mithilfe des deadline job get Befehls.

Wenn der NumImages Wert größer als 1 ist, verteilt Deadline Cloud die Arbeit auf mehrere Mitarbeiter, um die Generierung zu beschleunigen.

Parameter der Generierung

Generierungsparameter
Parameter Description Standard
LoRa-Pfad Pfad zur trainierten Datei .safetensors
Prompt Textbeschreibung (schließen Sie Ihr Auslöserwort ein)
Anzahl der Bilder Gesamtzahl der zu generierenden Bilder 1
Width Breite der Ausgabe in Pixeln 1024
Höhe Ausgabehöhe in Pixeln 1024
Schritte zur Inferenz Anzahl der Schritte zur Rauschunterdrückung 50
Orientierungsskala Classifier-free Orientierungsskala 4,0

Leistung der Erzeugung

Bilder werden gespeichert als image_0001.pngimage_0002.png, und so weiter. Führen Sie den folgenden Befehl aus, um sie herunterzuladen:

deadline job download-output \ --job-id generation-job-id \ --queue-id gpu-queue-id

Modellvarianten

FLUX.2 Modellvarianten von Klein
Modell Parameters Am besten geeignet für
flux.2-klein-base-4b 4B Fine-tuning, kommerzielle Nutzung
flux.2-klein-4b 4B Schnelle Inferenz (4 Schritte zur Rauschuntersetzung)

Empfehlungen für Schulungen

Die folgenden Empfehlungen können Ihnen helfen, die besten Ergebnisse zu erzielen:

  • Datensatzgröße — 20—50 qualitativ hochwertige Bilder eignen sich für die meisten Probanden.

  • Auflösung — Verwenden Sie 512 für GPUs mit 24 GB VRAM. Höhere Auflösungen erfordern mehr Speicher.

  • Trainingsschritte — Beginnen Sie mit 1500. Erhöhen Sie den Wert, wenn die Ergebnisse Ihrem Thema nicht ähneln.

  • Netzwerk-Dimierung — 16 ist eine gute Standardeinstellung. Verwenden Sie 32 für komplexe oder abstrakte Konzepte.

  • Lernrate — Die Standardeinstellung 1e-4 funktioniert in den meisten Fällen gut.

Bereinigen

Um laufende Gebühren zu vermeiden, bereinigen Sie die Ressourcen, die Sie für dieses Beispiel erstellt haben:

So bereinigen Sie die Beispielressourcen
  1. Stoppen oder löschen Sie in der Deadline Cloud-Konsole die GPU-Flotte, die Sie für dieses Beispiel verwendet haben.

  2. Löschen Sie alle Amazon Simple Storage Service (Amazon S3) -Objekte, die durch Jobanhänge erstellt wurden, wenn sie nicht mehr benötigt werden.

  3. Entfernen Sie lokale Ausgabedateien, wenn sie nicht mehr benötigt werden:

    rm -rf /tmp/lora_output /tmp/generated_images

Die folgenden Ressourcen bieten zusätzliche Informationen: