AI Toolkit by Ostris : Diffusion stable avec FLUX.1 Model Training Toolkit

Introduction générale

AI Toolkit by Ostris est un ensemble d'outils d'IA open source qui prend en charge les modèles Stable Diffusion et FLUX.1 pour les tâches d'entraînement et de génération d'images. Créé et maintenu par le développeur Ostris et hébergé sur GitHub, le kit d'outils vise à fournir une plateforme flexible aux chercheurs et aux développeurs pour affiner et expérimenter les modèles. Elle contient une variété de scripts d'IA qui prennent en charge des fonctions telles que l'extraction de LoRA, la génération d'images par lots et l'entraînement spécifique aux couches. Le projet est actuellement en phase de développement et certaines de ses fonctionnalités peuvent ne pas être suffisamment stables, mais son haut degré de personnalisation le rend adapté aux utilisateurs avancés dans le domaine de l'apprentissage profond. Le jeu d'outils prend en charge les systèmes Linux et Windows, et un GPU Nvidia avec au moins 24 Go de mémoire vidéo est nécessaire pour exécuter l'entraînement du modèle FLUX.1.

AI Toolkit by Ostris:Stable Diffusion与FLUX.1模型训练工具包

 

Liste des fonctions

  • formation au modèle: : Prise en charge de la diffusion stable et du réglage fin du modèle FLUX.1 pour l'entraînement des modèles LoRA et LoKr.
  • Génération d'imagesGénérer des images par lot en fonction de profils ou d'invites textuelles.
  • Extraction et optimisation de LoRAFournir des outils d'extraction LoRA et LoCON afin d'optimiser l'extraction des caractéristiques des modèles.
  • Formation spécifique à la coucheLes couches spécifiques du réseau neuronal peuvent être sélectionnées pour l'entraînement et les poids peuvent être ajustés de manière flexible.
  • Soutien à l'interface utilisateurLe système de gestion de l'information (AI Toolkit) et l'interface utilisateur de Gradio simplifient la gestion des tâches et les opérations d'entraînement des modèles.
  • Traitement des donnéesLa résolution de l'image est automatiquement ajustée et les images sont regroupées par godet, ce qui permet de prendre en charge un large éventail de formats d'image.
  • Formation en nuageSupport pour l'exécution de tâches d'entraînement sur les plateformes RunPod et Modal.

 

Utiliser l'aide

Processus d'installation

Installation du système Linux

  1. entrepôt de clonesLe code est téléchargé à partir de l'ordinateur de l'utilisateur : Exécutez la commande suivante dans le terminal pour télécharger le code :
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. Mise à jour des sous-modulesLes bibliothèques dépendantes doivent être complètes :
git submodule update --init --recursive
  1. Créer un environnement virtuelUtiliser Python 3.10 ou une version plus récente :
python3 -m venv venv
source venv/bin/activate
  1. Installation des dépendances: Installez d'abord PyTorch, puis les autres dépendances :
pip3 install torch
pip3 install -r requirements.txt

Installation du système Windows

  1. entrepôt de clones: Exécutez à l'invite de commande :
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
  1. Mise à jour des sous-modules:
git submodule update --init --recursive
  1. Créer un environnement virtuel:
python -m venv venv
.\venv\Scripts\activate
  1. Installation des dépendancesPour cela, il faut installer la version de PyTorch qui prend en charge CUDA 12.4, puis installer les autres dépendances :
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt

Interface UI Installation

  1. Installation de Node.jsNode.js : Assurez-vous que Node.js 18 ou une version plus récente est installé sur votre système.
  2. Construire l'interface utilisateur: Entrez dans le répertoire ui et installez les dépendances :
cd ui
npm install
npm run build
npm run update_db
  1. Exécution de l'interface utilisateur: Écran de démarrage :
npm run start
  1. Accès à l'IUType dans votre navigateurhttp://localhost:8675.

Principales fonctions

Formation au modèle FLUX.1

  1. Préparation de l'environnementSi le GPU est utilisé pour l'affichage, définissez cette valeur dans le fichier de configuration.low_vram: truepour quantifier le modèle sur l'unité centrale.
  2. Configuration de FLUX.1-dev:
  • Connectez-vous à Hugging Face et visitezblack-forest-labs/FLUX.1-devet accepter la licence.
  • Dans le répertoire racine du projet, créez le fichier.envajoutez le fichierHF_TOKEN=你的读取密钥.
  1. Configurer FLUX.1 en toute simplicité:
  • Modifier le fichier de configuration (par exempletrain_lora_flux_schnell_24gb.yaml), ajouter :
    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
    
  1. Préparation du jeu de donnéesCréation dans le répertoire racinedatasetdans le dossier.jpg,.jpegpeut-être.pnget l'image correspondante.txtDécrivez le dossier.
  2. Modifier le fichier de configurationLa reproduction : La reproductionconfig/examples/train_lora_flux_24gb.yamljusqu'à (un moment)configle renommer enmy_config.ymlModificationsfolder_pathest le chemin d'accès au jeu de données.
  3. entraînement à la course à pied: : Mise en œuvre :
python run.py config/my_config.yml

Les résultats de la formation sont enregistrés dans le dossier de sortie spécifié et peuvent être interrompus avec Ctrl+C et repris à partir du point de contrôle le plus proche.

Formation avec Gradio UI

  1. Se connecter à Hugging Face: Course à piedhuggingface-cli loginLes entrées ontwriteLa clé du privilège.
  2. Lancer l'interface utilisateur: : Mise en œuvre :
python flux_train_ui.py
  1. Fonctionnement de l'interface utilisateurVous pouvez télécharger des images, remplir des descriptions, définir des paramètres et cliquer sur la formation dans l'interface, puis publier le modèle LoRA une fois terminé.

S'entraîner dans le nuage (RunPod)

  1. Création d'une instance RunPodUtilisation de modèlesrunpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04choisir A40 (mémoire vidéo de 48 Go).
  2. Jeu d'outils d'installationPour cela, connectez-vous à Jupyter Notebook et exécutez la commande Linux install dans le terminal.
  3. Téléchargement d'ensembles de donnéesCréation dans le répertoire racinedatasetglisser des images et des fichiers de description.
  4. Configurer et exécuterModifier le fichier de configuration de l'applicationfolder_pathMise en œuvrepython run.py config/my_config.yml.

Préparation des données

  • Exigences de formatage: Soutien.jpg,.jpeg,.pngle fichier de description est.txtLes noms de fichiers doivent être cohérents (ex.image1.jpgcontrepartiesimage1.txt).
  • Description.txtRédigez la description dans le[trigger]Les espaces réservés, définis par le fichier de configurationtrigger_wordRemplacement.
  • ajustement automatiqueL'outil réduit et regroupe automatiquement les images en fonction de la résolution configurée ; le zoom n'est pas pris en charge.

Formation spécifique à la couche

  1. Modifier le fichier de configuration: EnnetworkPartiellement ajouté :
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"
  1. entraînement à la course à pied: Démarre avec un fichier de configuration modifié, n'entraînant que la couche spécifiée.

mise en garde

  • Interruption de la formationÉvitez d'appuyer sur Ctrl+C lors de l'enregistrement des points de contrôle afin de ne pas corrompre le fichier.
  • Sécurité de l'interface utilisateurL'interface utilisateur n'est actuellement testée que sur Linux, qui est moins sûr et dont l'exposition au réseau public n'est pas recommandée.
  • Obtenir de l'aideLes développeurs peuvent rejoindre la communauté Discord d'Ostris pour poser des questions et éviter d'envoyer des messages privés aux développeurs.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...