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 Klein LoRa Feinabstimmung und Bildgenerierung
Dieses Beispiel zeigt, wie ein FLUX.2 Klein-Bildgenerierungsmodell mithilfe von LoRa (Low-Rank Adaptation) optimiert und Bilder in großem Maßstab in Deadline Cloud generiert werden. Der Workflow trainiert einen leichten Adapter aus einem kleinen Bilddatensatz. Anschließend verwendet er diesen Adapter, um neue Bilder aus Textanfragen zu generieren, die alle als Deadline Cloud-Jobs auf einer GPU-Flotte orchestriert werden.
Der Quellcode für dieses Beispiel ist im https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/flux2_klein_lora
Das folgende Video zeigt den FLUX.2 Klein LoRa-Workflow in Deadline Cloud.
Geschätzte Zeit: 30—60 Minuten (einschließlich 15—45 Minuten für das Training).
-Übersicht
Das Beispiel besteht aus zwei Jobpaketen:
-
lora_training — Fine-tunes FLUX.2 Klein
auf Ihrem Bilddatensatz mit LoRa , wobei eine Adapterdatei erzeugt wird. .safetensors -
image_generation — Lädt das Basismodell mit Ihrem trainierten Adapter und generiert Bilder aus Textanfragen. Bei der Generierung mehrerer Bilder erfolgt die Arbeit der einzelnen Mitarbeiter parallel.
LoRa ist eine parametereffiziente Methode zur Feinabstimmung, bei der ein kleiner Adapter trainiert wird, anstatt die gesamten Modellgewichte zu modifizieren. 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 Jobpakete verwenden die Diffusoren und linken
Gehen Sie folgendermaßen vor, um dieses Beispiel abzuschließen:
-
Sorgen Sie dafür, dass die -Voraussetzungen erfüllt sind.
-
Bereiten Sie die Trainingsdaten vor.
-
Reichen Sie den Trainingsjob ein.
-
Reichen Sie den Job zur Bildgenerierung 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+ 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 die Trainingsdaten vor
Um deine Trainingsdaten aufzubereiten
-
Erstellen Sie ein Verzeichnis mit Bildern Ihres Motivs. Die besten Ergebnisse erzielen Sie, wenn Sie 20—50 Bilder mit unterschiedlichen Posen, Lichtverhältnissen und Hintergründen verwenden.
-
Fügen Sie optional zu jedem Bild eine
.txtUntertiteldatei hinzu, um ein differenzierteres Training zu ermöglichen: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 Instance-Prompt-Parameters. Benutzerdefinierte Beschriftungen führen zu qualitativ hochwertigeren Ergebnissen, da sie dem Modell spezifischere Assoziationen zwischen Ihrem auslösenden Wort und visuellen Merkmalen vermitteln.
-
Wählen Sie ein eindeutiges Triggerwort (z. B.).
ohwxDadurch wird das erlernte Konzept an ein Token gebunden, das nicht im Widerspruch zu vorhandenem Modellwissen steht.
Reichen Sie den Trainingsjob 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 einzureichen:
deadline bundle submit ./lora_training \ --queue-idgpu-queue-id\ --parameter DatasetPath="$HOME/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.
Parameter für das Training
| Parameter | Description | Standard |
|---|---|---|
| Modellversion | flux.2-klein-base-4b oder flux.2-klein-4b |
flux.2-klein-base-4b |
| Pfad des Datensatzes | Verzeichnis, das Trainingsbilder enthält | Keine |
| Instance Prompt | Text, der Ihr Thema beschreibt | Keine |
| Auflösung | Auflösung des Trainingsbildes in Pixeln | 512 |
| Netzwerk Dim | LoRa-Rang (höher = mehr Kapazität) | 16 |
| Netzwerk Alpha | LoRa-Alpha-Skalierungsfaktor | 16 |
| Maximale Trainingsschritte | Anzahl der Trainingswiederholungen | 1500 |
| Ausgabeverzeichnis | Wo kann man trainierte Gewichte speichern | Keine |
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
Senden Sie den Auftrag zur Image-Generierung
Um den Auftrag zur Image-Generierung 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 zu senden:
deadline bundle gui-submit ./image_generationOder führen Sie den folgenden Befehl aus, um den Job zur Image-Generierung 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 NumImages der Wert größer als 1 ist, verteilt Deadline Cloud die Arbeit zur schnelleren Generierung auf mehrere Mitarbeiter.
Parameter für die Generierung
| Parameter | Description | Standard |
|---|---|---|
| LoRa-Pfad | Pfad zur trainierten Datei .safetensors |
Keine |
| Prompt | Textbeschreibung (einschließlich Ihres Triggerworts) | Keine |
| Anzahl der Bilder | Gesamtzahl der zu generierenden Bilder | 1 |
| Width | Breite der Ausgabe in Pixeln | 1024 |
| Höhe | Ausgabehöhe in Pixeln | 1024 |
| Schritte der Inferenz | Anzahl der Schritte zur Rauschunterdrückung | 50 |
| Orientierungsskala | Classifier-free Orientierungsskala | 4,0 |
Leistung der Erzeugung
Bilder werden gespeichert unter image_0001.pngimage_0002.png, usw. Führen Sie den folgenden Befehl aus, um sie herunterzuladen:
deadline job download-output \ --job-idgeneration-job-id\ --queue-idgpu-queue-id
Varianten des Modells
| Modell | Parameters | Am besten geeignet für |
|---|---|---|
flux.2-klein-base-4b |
4B | Fine-tuning, gewerbliche Nutzung |
flux.2-klein-4b |
4B | Schnelle Inferenz (4 Schritte zur Rauschunterdrückung) |
Empfehlungen für das Training
Die folgenden Empfehlungen können dir helfen, die besten Ergebnisse zu erzielen:
-
Datensatzgröße — 20—50 qualitativ hochwertige Bilder eignen sich für die meisten Motive gut.
-
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 die Anzahl, wenn die Ausgaben nicht Ihrem Motiv entsprechen.
-
Netzwerk-Dim — 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:
Um Beispielressourcen zu bereinigen
-
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 Auftragsanhä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: