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
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:
-
lora_training — Fine-tunes FLUX.2Klein
auf Ihrem Bilddatensatz mithilfe von LoRa , wodurch eine Adapterdatei erzeugt wird. .safetensors -
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
Gehen Sie wie folgt vor, um dieses Beispiel zu vervollständigen:
-
Sorgen Sie dafür, dass die -Voraussetzungen erfüllt sind.
-
Bereiten Sie die Trainingsdaten vor.
-
Reichen Sie den Schulungsjob ein.
-
Reichen Sie den Job zur Bilderzeugung ein.
-
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
-
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.
-
Für ein differenzierteres Training können Sie optional jedem Bild eine
.txtUntertiteldatei 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.
-
Wählen Sie ein eindeutiges Auslösewort (z. B.).
ohwxDadurch wird das erlernte Konzept an ein Token gebunden, das nicht mit vorhandenem Modellwissen kollidiert.
Reichen Sie den Ausbildungsjob ein
Um den Ausbildungsjob einzureichen
-
Navigieren Sie zu dem
flux2_klein_loraVerzeichnis in Ihrem geklontendeadline-cloud-samplesRepository. -
Führen Sie den folgenden Befehl aus, um den Trainingsjob mit der GUI einzureichen:
deadline bundle gui-submit ./lora_trainingOder führen Sie den folgenden Befehl aus, um den Trainingsjob direkt mit der CLI zu senden:
deadline bundle submit ./lora_training \ --queue-idgpu-queue-id\ --parameter DatasetPath=~/training_images \ --parameter InstancePrompt="a photo of ohwx dog" \ --parameter OutputDir=/tmp/lora_output \ --parameter MaxTrainSteps=1500 \ --parameter Resolution=512 -
Überwachen Sie den Jobstatus in der Deadline Cloud-Konsole oder mithilfe des
deadline job getBefehls.
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-idtraining-job-id\ --queue-idgpu-queue-id
Reichen Sie den Job zur Imagegenerierung ein
Um den Job zur Bilderzeugung einzureichen
-
Navigieren Sie zu dem
flux2_klein_loraVerzeichnis in Ihrem geklontendeadline-cloud-samplesRepository. -
Führen Sie den folgenden Befehl aus, um den Job zur Image-Generierung mit der GUI einzureichen:
deadline bundle gui-submit ./image_generationOder führen Sie den folgenden Befehl aus, um den Image-Generierungsjob direkt mit der CLI zu senden:
deadline bundle submit ./image_generation \ --queue-idgpu-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 -
Überwachen Sie den Jobstatus in der Deadline Cloud-Konsole oder mithilfe des
deadline job getBefehls.
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
| 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-idgeneration-job-id\ --queue-idgpu-queue-id
Modellvarianten
| 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
-
Stoppen oder löschen Sie in der Deadline Cloud-Konsole die GPU-Flotte, die Sie für dieses Beispiel verwendet haben.
-
Löschen Sie alle Amazon Simple Storage Service (Amazon S3) -Objekte, die durch Jobanhänge erstellt wurden, wenn sie nicht mehr benötigt werden.
-
Entfernen Sie lokale Ausgabedateien, wenn sie nicht mehr benötigt werden:
rm -rf /tmp/lora_output /tmp/generated_images
Zugehörige Ressourcen
Die folgenden Ressourcen bieten zusätzliche Informationen: