Allgemeine Einführung
AI Toolkit von Ostris ist ein Open-Source-KI-Toolset, das sich auf die Unterstützung von Stable Diffusion und FLUX.1-Modellen für Trainings- und Bilderzeugungsaufgaben konzentriert. Das vom Entwickler Ostris erstellte und gepflegte Toolkit, das auf GitHub gehostet wird, zielt darauf ab, eine flexible Plattform für Forscher und Entwickler zur Feinabstimmung und zum Experimentieren mit Modellen zu bieten. Es enthält eine Vielzahl von KI-Skripten, die Funktionen wie LoRA-Extraktion, Batch-Bilderzeugung und schichtspezifisches Training unterstützen. Das Projekt befindet sich derzeit in der Entwicklungsphase, und einige der Funktionen sind möglicherweise noch nicht stabil genug, aber aufgrund der hohen Anpassungsfähigkeit ist es für fortgeschrittene Benutzer im Bereich des Deep Learning geeignet. Das Toolset unterstützt Linux- und Windows-Systeme, und für das Training der FLUX.1-Modelle ist ein Nvidia-Grafikprozessor mit mindestens 24 GB Videospeicher erforderlich.
Funktionsliste
- Modellschulung:: Unterstützt Stable Diffusion und FLUX.1 Modell-Feinabstimmung für das Training von LoRA und LoKr Modellen.
- BilderzeugungGenerieren von Stapelbildern auf der Grundlage von Profilen oder Textaufforderungen.
- LoRA-Extraktion und OptimierungBereitstellung von LoRA- und LoCON-Extraktionswerkzeugen zur Optimierung der Extraktion von Modellmerkmalen.
- Schichtspezifisches TrainingDie einzelnen Schichten des neuronalen Netzes können für das Training ausgewählt und die Gewichte flexibel angepasst werden.
- Unterstützung der BenutzeroberflächeAI Toolkit UI und Gradio UI zur Vereinfachung der Aufgabenverwaltung und des Modelltrainings.
- Verarbeitung des DatensatzesPasst die Bildauflösung automatisch an und gruppiert die Bilder nach Bereichen, wobei eine Vielzahl von Bildformaten unterstützt wird.
- Cloud-AusbildungUnterstützung für die Ausführung von Trainingsaufgaben auf den Plattformen RunPod und Modal.
Hilfe verwenden
Einbauverfahren
Installation eines Linux-Systems
- Klon-Lager: Führen Sie den folgenden Befehl im Terminal aus, um den Code herunterzuladen:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Aktualisierung von UntermodulenVergewissern Sie sich, dass alle abhängigen Bibliotheken vollständig sind:
git submodule update --init --recursive
- Erstellen einer virtuellen Umgebung: Verwenden Sie Python 3.10 oder höher:
python3 -m venv venv
source venv/bin/activate
- Installation von Abhängigkeiten: Installieren Sie zuerst PyTorch und dann die anderen Abhängigkeiten:
pip3 install torch
pip3 install -r requirements.txt
Installation des Windows-Systems
- Klon-Lager: Ausführen in der Eingabeaufforderung:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- Aktualisierung von Untermodulen:
git submodule update --init --recursive
- Erstellen einer virtuellen Umgebung:
python -m venv venv
.\venv\Scripts\activate
- Installation von AbhängigkeitenInstallieren Sie die Version von PyTorch, die CUDA 12.4 unterstützt, und installieren Sie dann die anderen Abhängigkeiten:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
UI Interface Installation
- Installation von Node.jsStellen Sie sicher, dass Node.js 18 oder höher auf Ihrem System installiert ist.
- Aufbau der UI: Geben Sie das Verzeichnis ui ein und installieren Sie die Abhängigkeiten:
cd ui
npm install
npm run build
npm run update_db
- Ausführen der UIStartbildschirm:
npm run start
- Zugang zur UI: Geben Sie in Ihrem Browser ein
http://localhost:8675
.
Hauptfunktionen
FLUX.1 Modellschulung
- Vorbereiten der UmgebungVergewissern Sie sich, dass der Grafikprozessor über mindestens 24 GB Videospeicher verfügt, und legen Sie dies in der Konfigurationsdatei fest, wenn er für die Anzeigeausgabe verwendet wird.
low_vram: true
um das Modell auf der CPU zu quantifizieren. - FLUX.1-dev konfigurieren:
- Melden Sie sich bei Hugging Face an und besuchen SieSchwarzwald-Labore/FLUX.1-devund akzeptieren die Lizenz.
- Erstellen Sie im Stammverzeichnis des Projekts die Datei
.env
Datei, fügen Sie dieHF_TOKEN=你的读取密钥
.
- FLUX.1-schnell konfigurieren:
- Bearbeiten Sie die Konfigurationsdatei (z. B.
train_lora_flux_schnell_24gb.yaml
), hinzufügen:model: name_or_path: "black-forest-labs/FLUX.1-schnell" assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter" is_flux: true quantize: true sample: guidance_scale: 1 sample_steps: 4
- Vorbereiten des DatensatzesAnlegen im Stammverzeichnis
dataset
in den Ordner.jpg
und.jpeg
vielleicht.png
Bild und das entsprechende.txt
Beschreiben Sie die Datei. - Konfigurationsdatei bearbeitenVervielfältigung
config/examples/train_lora_flux_24gb.yaml
bis zuconfig
Verzeichnis, benennen Sie es um inmy_config.yml
Änderungenfolder_path
ist der Pfad zum Datensatz. - Lauftraining:: Umsetzung:
python run.py config/my_config.yml
Die Trainingsergebnisse werden im angegebenen Ausgabeordner gespeichert und können mit Strg+C angehalten und am nächsten Kontrollpunkt wieder aufgenommen werden.
Ausbildung mit Gradio UI
- Anmelden bei Hugging Face: Laufen
huggingface-cli login
Die Eingänge habenwrite
Der Schlüssel für dieses Privileg. - UI starten:: Umsetzung:
python flux_train_ui.py
- Bedienung UILaden Sie Bilder hoch, geben Sie Beschreibungen ein, stellen Sie Parameter ein und klicken Sie auf "Training" in der Benutzeroberfläche. Nach Fertigstellung können Sie das LoRA-Modell veröffentlichen.
Training in der Cloud (RunPod)
- Erstellen einer RunPod-Instanz: Verwendung von Vorlagen
runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04
wählen Sie A40 (48 GB Videospeicher). - Installationswerkzeugsatz: Verbinden Sie sich mit Jupyter Notebook und führen Sie den Linux-Installationsbefehl im Terminal aus.
- Hochladen von DatensätzenAnlegen im Stammverzeichnis
dataset
und ziehen Sie Bilder und Beschreibungsdateien hinein. - Konfigurieren und ausführen: Ändern Sie die Konfigurationsdatei des
folder_path
Umsetzungpython run.py config/my_config.yml
.
Vorbereitung des Datensatzes
- Anforderungen an die Formatierung: Unterstützung
.jpg
und.jpeg
und.png
Format, ist die Beschreibungsdatei.txt
Die Dateinamen müssen konsistent sein (z. B.image1.jpg
Kontrahentenimage1.txt
). - Beschreibung:
.txt
um eine Beschreibung in der[trigger]
Platzhalter, die in der Konfigurationsdatei untertrigger_word
Ersetzen. - automatische AnpassungDas Werkzeug verkleinert und gruppiert die Bilder automatisch entsprechend der eingestellten Auflösung, Zoomen wird nicht unterstützt.
Schichtspezifisches Training
- Konfigurationsdatei bearbeiten: In
network
Teilweise hinzugefügt:
network:
type: "lora"
linear: 128
linear_alpha: 128
network_kwargs:
only_if_contains:
- "transformer.single_transformer_blocks.7.proj_out"
- "transformer.single_transformer_blocks.20.proj_out"
- LauftrainingStartet mit einer geänderten Konfigurationsdatei und trainiert nur die angegebene Schicht.
caveat
- Unterbrechung der AusbildungVermeiden Sie es, während des Speicherns von Kontrollpunkten Strg+C zu drücken, um die Datei nicht zu beschädigen.
- UI SicherheitUI wird derzeit nur unter Linux getestet, das weniger sicher ist und nicht für den Einsatz im öffentlichen Netz empfohlen wird.
- Hilfe bekommenSie können der Discord-Community von Ostris beitreten, um Fragen zu stellen und direkte private Nachrichten an die Entwickler zu vermeiden.