How to train flux Dev?

Antrenează Flux Dev cu LoRA: Ghid Complet

08/03/2023

Rating: 4.95 (11153 votes)

Modelul Flux Dev reprezintă o inovație remarcabilă în peisajul modelelor de difuzie locale, depășind adesea calitatea generărilor obținute cu Stable Diffusion 1.5 și chiar cu modelele XL. Cu toate acestea, o provocare frecvent întâlnită este obținerea unui realism desăvârșit, deoarece modelul este extrem de rafinat. Soluția la această dilemă este antrenarea fină a modelului Flux cu LoRA (Low-Rank Adaptation), o tehnică puternică ce permite adaptarea modelului la stiluri specifice, fie că vorbim de realism, artă anime sau randări 3D. Acest ghid detaliază procesul complet de antrenament al Flux Dev folosind LoRA, oferind instrucțiuni clare pentru a personaliza și îmbunătăți semnificativ capacitățile de generare ale acestui model excepțional.

How to train flux Dev?
Basically there are two methods: (a) Method 1: Using WebUI (By Multimodelart) and AI-Toolkit plus KohyaSS as backend (For 12GB/16GB/20GB VRAMs) (b) Method 2: Using AI-Toolkit in Command line (Supported for 24GB VRAM and higher) This method supports to train Flux Dev (non-commercial), Flux Schnell (Apache2.0 license) and Flux Dev2Pro model.

Ce este Flux Dev și LoRA?

Flux Dev este un model de inteligență artificială de ultimă generație, conceput pentru a genera imagini de înaltă calitate, recunoscut pentru performanța sa superioară în comparație cu alte modele de difuzie populare. Este un pas înainte semnificativ în dezvoltarea modelelor AI ce pot fi rulate local, oferind utilizatorilor un control mai mare asupra procesului de creare.

LoRA, pe de altă parte, este o metodă eficientă de antrenament fin (fine-tuning) a modelelor mari de inteligență artificială. În loc să antreneze întregul model, LoRA modifică doar un set mic de parametri, ceea ce reduce semnificativ cerințele de resurse computaționale și timpul necesar pentru antrenament. Cu LoRA, poți infuza modelului Flux Dev personaje personalizate, stiluri artistice unice sau chiar un nivel superior de realism, transformând capacitatea sa de generare pentru a se potrivi viziunii tale creative.

Metode de Antrenament pentru Flux Dev cu LoRA

Există două abordări principale pentru a iniția antrenamentul LoRA pe GPU-uri NVIDIA, fie pe servere locale, fie pe cele bazate pe cloud. Alegerea metodei depinde în mare măsură de resursele hardware disponibile și de nivelul tău de confort cu interfețele de utilizator versus linia de comandă.

Tabel Comparativ: Metode de Antrenament

CaracteristicăMetoda 1: Flux Gym WebUI + KohyaSSMetoda 2: AI-Toolkit CLI
Nivel de ExperiențăÎncepători / IntermediariAvansați
VRAM Recomandat12GB / 16GB / 20GB24GB și mai mult
InterfațăGrafică (WebUI bazată pe Gradio)Linie de Comandă
Modele SuportateFlux Dev (non-comercial), Flux Schnell (Apache 2.0), Flux Dev2ProFlux Dev (non-comercial), Flux Schnell (Apache 2.0)
Licență Model AntrenatRespectă licența modelului de bazăRespectă licența modelului de bază
Auto-descărcare ModeleDaNu (descărcare manuală necesară)
Generare Automată SubtitrăriDa (folosind modelul Florence)Nu (subtitrări manuale sau cu alte unelte)

Metoda 1: Utilizând Flux Gym WebUI și KohyaSS

Această metodă este ideală pentru utilizatorii care preferă o interfață grafică și dispun de GPU-uri cu VRAM între 12GB și 20GB. Suportă antrenamentul modelelor Flux Dev, Flux Schnell și Flux Dev2Pro, asigurându-se că noul model LoRA va respecta licența modelului de bază.

Instalare

  1. Pre-requisite: Asigură-te că ai instalat Python și Git pe sistemul tău. Dacă folosești deja un WebUI Stable Diffusion (Automatic1111/Forge/ComfyUI) ca aplicație standalone, aceste pre-requisite ar trebui să fie deja îndeplinite. Altfel, instalează-le manual.
  2. Clonare Repozitoriu: Deschide o linie de comandă (cmd pe Windows) în directorul dorit (ex: unitatea G:). Clonează repozitoriul Fluxgym cu Kohya-SS/sd-scripts folosind comanda:
    git clone https://github.com/cocktailpeanut/fluxgym.git
    Apoi, navighează în directorul clonat:
    cd fluxgym
  3. Instalare KohyaSS: Din directorul fluxgym, instalează KohyaSS:
    git clone -b sd3 https://github.com/kohya-ss/sd-scripts
  4. Creare și Activare Mediu Virtual: Este esențial să creezi un mediu virtual pentru a izola dependențele proiectului. Din directorul rădăcină fluxgym:
    • Pentru Windows:
      python -m venv env
      env\Scripts\activate
    • Pentru Linux:
      python3 -m venv env
      source env/bin/activate
  5. Instalare Biblioteci KohyaSS: Navighează în folderul sd-scripts și instalează dependențele:
    cd sd-scripts
    pip install -r requirements.txt
  6. Instalare Dependențe Fluxgym: Revino la directorul rădăcină fluxgym și instalează dependențele acestuia:
    cd ..
    pip install -r requirements.txt
  7. Instalare PyTorch Nightly: În final, instalează biblioteca PyTorch Nightly:
    pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121

După acești pași, structura folderului ar trebui să fie completă. Poți închide linia de comandă.

Descărcarea Modelelor

Există două modalități de a obține ponderile modelelor Flux, encoderele Clip și VAE-urile:

  1. Descărcare Automată: Aceasta este metoda implicită. Modelele Flux necesare (inclusiv encoderele Clip și VAE) sunt descărcate automat în fundal la inițierea procesului de antrenament. Dacă dorești să utilizezi alte modele, poți specifica detaliile relevante în fișierul fluxgym/models.yaml, respectând formatul existent.
  2. Descărcare Manuală: Dacă preferi controlul total sau nu vrei să aștepți descărcările în timpul antrenamentului:
    • Descarcă encoderele de text Flux relevante: Clip_L și T5XXL_fp16. Plasează-le în folderul fluxgym/models/clip.
    • Descarcă VAE-ul (Variational Auto Encoder) și salvează-l în folderul fluxgym/models/vae.
    • Descarcă modelul Flux Dev de pe depozitul Hugging Face al lui Cocktailpeanut și plasează-l în folderul fluxgym/models/unet.

Fluxul de Lucru al Antrenamentului

  1. Navigare și Activare Mediu Virtual: Deschide o linie de comandă în directorul rădăcină fluxgym. Activează mediul virtual creat anterior:
    • Windows: env\Scripts\activate
    • Linux: source env/bin/activate
  2. Pornire Interfață Web: Execută fișierul app.py pentru a porni interfața web (Gradio WebUI):
    • Windows: python app.py
    • Linux: python3 app.py

    Alternativ, poți accesa interfața direct în browser la http://localhost:7860/.

    What is flux Dev AI model?
    The Flux Dev AI model is a great leap forward in local Diffusion models. It delivers quality surpassing Stable Diffusion 1.5 and XL models. Like Stable Diffusion models, you can train LoRA models on top of Flux to inject custom characters and styles. In this post, I will provide a Google Colab notebook for training Flux LoRA models.
  3. Configurare Antrenament: În interfața web, vei putea încărca imaginile și subtitrările relevante. Definește un nume unic pentru fișierul LoRA. Încarcă imaginile (10-20 imagini funcționează cel mai bine) și adaugă subtitrări folosind cuvinte cheie (trigger words). Poți genera subtitrări automate cu un singur clic folosind modelul Florence.
  4. Inițiere Antrenament: Apasă butonul „Start” pentru a începe procesul de antrenament.
  5. Obținere Model LoRA: Modelul tău LoRA antrenat va fi salvat în folderul de ieșire specificat.

Încărcarea Modelului LoRA pe Hugging Face

Pentru a partaja sau a accesa modelul LoRA antrenat de oriunde:

  1. Accesează tab-ul „Publish” din interfața WebUI.
  2. Introdu token-ul tău Hugging Face în câmpul „Huggingface Token” și apasă „Login” pentru a acorda acces contului tău.
  3. Selectează modelul LoRA antrenat din secțiunea „Dropdown”. Setează numele depozitului și tipul acestuia.
  4. Apasă „Upload to Hugging Face”. Procesul poate dura câteva minute, în funcție de dimensiunea modelului LoRA și viteza internetului.

Metoda 2: Utilizând AI-Toolkit în Linie de Comandă

Această metodă este recomandată pentru utilizatorii avansați, în special pentru cei care lucrează cu GPU-uri de înaltă performanță (minim 24GB VRAM) instalate local sau pe servere cloud. La fel ca Metoda 1, licența modelului antrenat va reflecta licența modelului de bază (Flux Dev – non-comercial, Flux Schnell – Apache 2.0).

Instalare

  1. Pre-requisite: Instalează Git de pe pagina oficială și asigură-te că ai Python versiunea 3.10 sau mai recentă.
  2. Creare Director: Creează un nou director cu un nume relevant (ex: „Flux_training”).
  3. Clonare Repozitoriu și Instalare Dependențe: Deschide o linie de comandă în noul director și execută comenzile următoare, pas cu pas:
    • Pentru Windows:
      git clone https://github.com/ostris/ai-toolkit.git
      cd ai-toolkit
      git submodule update --init --recursive
      python -m venv venv
      .\venv\Scripts\activate
      pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
      pip install -r requirements.txt
    • Pentru Linux:
      git clone https://github.com/ostris/ai-toolkit.git
      cd ai-toolkit
      git submodule update --init --recursive
      python3 -m venv venv
      source venv/bin/activate
      pip3 install torch
      pip3 install -r requirements.txt

    După ce ai instalat toate dependențele, închide linia de comandă.

Configurare API pentru Flux Dev

Pentru a utiliza Flux Dev, trebuie să accepți termenii și condițiile pe Hugging Face și să îți generezi o cheie API:

  1. Autentifică-te pe Hugging Face și acceptă termenii pentru versiunea Flux Dev.
  2. Creează-ți cheia API din tabloul de bord Hugging Face.
  3. În folderul ai-toolkit, creează un fișier numit .env (fără nume înainte de punct). Copiază și lipește cheia API în acest fișier sub forma HF_TOKEN=cheia_ta_aici. (Acest pas nu este necesar pentru Flux Schnell).

Configurare pentru Flux Schnell

Pentru a antrena LoRA pentru Flux Schnell, un adaptor de antrenament este descărcat automat. Asigură-te că următoarele setări sunt prezente (sau adaugă-le, dacă lipsesc) în fișierul modal_train_lora_flux_schnell_24gb.yaml, situat în config/examples/modal:

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 

Fluxul de Lucru al Antrenamentului

  1. Pregătire Set de Date: Creează un folder nou și stochează imaginile de antrenament (JPEG/PNG/JPG) și fișierele text corespunzătoare (subtitrări). Se recomandă minim 10-15 imagini. Imaginile nu necesită redimensionare, deoarece sunt gestionate automat. Fiecare imagine (ex: imagine1.png) trebuie să aibă un fișier text asociat (ex: imagine1.txt) care descrie conținutul. Poți include cuvinte cheie (trigger words) în subtitrări.
  2. Copiere Fișier de Configurare YAML: Navighează în folderul config/examples. Copiază fișierul relevant (train_lora_flux_24gb.yaml pentru Flux Dev sau train_lora_flux_schnell_24gb.yaml pentru Flux Schnell) înapoi în folderul config și redenumește-l (ex: train_Flux_dev-Lora.yaml).
  3. Editare Cale Set de Date: Editează fișierul YAML nou redenumit cu un editor de text (ex: VS Code, Notepad++). Modifică calea către folderul cu imaginile tale de antrenament.
  4. Activare Mediu Virtual: Revino în directorul rădăcină ai-toolkit. Deschide o linie de comandă și activează mediul virtual:
    .\venv\Scripts\activate
  5. Pornire Antrenament: Poți iniția antrenamentul în două moduri:
    • Utilizând WebUI (pentru începători):
      cd ai-toolkit
      huggingface-cli login (pentru a te autentifica)
      python flux_train_ui.py (va porni o interfață grafică bazată pe Gradio)
    • Utilizând Linia de Comandă (pentru utilizatori avansați):
      • Pentru Windows:
        python run.py config/<<numele_fisierului_tau>>
        (Exemplu: python run.py config/train_Flux_dev-Lora.yaml)
      • Pentru Linux:
        python3 run.py config/<<numele_fisierului_tau>>

După finalizarea antrenamentului, modelul LoRA va fi salvat în folderul „output” cu un nume implicit (ex: „my_first_flux_lora_v1”). Timpul de antrenament variază în funcție de GPU; un RTX 4090 de 24GB VRAM poate antrena un model LoRA Flux în aproximativ 4 ore.

Antrenament pe Google Colab

O alternativă excelentă pentru cei fără un GPU local puternic este antrenamentul pe Google Colab. Această opțiune necesită un plan Colab Pro sau Pro+, datorită resurselor computaționale exigente.

Cerințe și Pre-requisite

  • Plan Google Colab Pro: Un plan plătit este obligatoriu. Un antrenament LoRA pe o instanță L4 durează aproximativ 4.5 ore și costă în jur de 1.40 USD cu un plan Colab Plus.
  • Imagini de Antrenament: Ai nevoie de un set de 10-20 de imagini PNG pentru antrenament (ideal 1024x1024 pixeli, dar sunt suportate și alte dimensiuni). Diversitatea în scene, setări și vestimentație este crucială pentru a evita confuzia modelului. Include câteva portrete de înaltă rezoluție dacă antrenezi o față.

Fluxul de Lucru Google Colab

  1. Încărcare Imagini pe Google Drive: Plasează imaginile de antrenament în folderul AI_PICS/Flux_trainer_input din Google Drive (numele folderelor sunt sensibile la majuscule și minuscule). Doar imaginile PNG sunt suportate.
  2. Rulare Notebook-ului de Antrenament: Deschide notebook-ul Google Colab dedicat (disponibil membrilor site-ului sursă). Apasă „Run” și acordă permisiunea de acces la Google Drive. Va dura câteva minute pentru încărcare, după care vei primi o adresă URL și o parolă Tunnel pentru a accesa ComfyUI.
  3. Încărcare Flux de Lucru ComfyUI: Descarcă fluxul de lucru Easy Flux Trainer (fișier JSON) și trage-l în pagina browserului ComfyUI pentru a-l încărca.
  4. Revizuire Parametri de Intrare: Verifică parametrii în grupul „Inputs”:
    • LoRA name: Numele modelului LoRA.
    • Token: Cuvântul cheie (trigger keyword) pentru LoRA.
    • Image Input Path: Calea folderului cu imaginile de antrenament din Google Drive.
    • LoRA Output Path: Calea unde va fi stocat modelul LoRA.
    • Test prompts: Prompt-uri pentru testarea modelului în timpul antrenamentului (separate prin '|').
  5. Generare Subtitrări: În nodul „Step Selector Input”, setează Enable Captioning: Yes și Enable Training: No. Apasă „Queue Prompt” pentru a genera automat subtitrări folosind modelul BLIP Vision-language. Fișierele text vor fi create alături de imagini. Poți revizui subtitrările manual.
  6. Pornire Antrenament: În nodul „Step Selector Input”, setează Enable Captioning: No și Enable Training: Yes. Fluxul de lucru este configurat să testeze și să salveze LoRA la fiecare 400 de pași. Apasă „Queue Prompt” pentru a începe antrenamentul. Pe o instanță L4, 400 de pași durează aproximativ 1.5 ore. De obicei, sunt necesari 1.000-1.500 de pași pentru a antrena un LoRA pentru Flux.1 Dev. Poți opri fluxul de lucru mai devreme dacă rezultatele sunt satisfăcătoare.

Antrenament Local pe Windows/Linux cu ComfyUI

Deși nu este oficial suportată în acest context, poți rula fluxul de lucru ComfyUI local. Se recomandă o instalare proaspătă a ComfyUI și utilizarea PyTorch 2.4. Va trebui să instalezi ComfyUI Manager și să te asiguri că versiunile nodurilor personalizate (custom nodes) corespund celor specificate în documentația sursă pentru a evita conflictele.

Sfaturi pentru Imagini de Antrenament Optime

  • Dimensiune Ideală: 1024x1024 pixeli. Este acceptabil să folosești imagini de diferite dimensiuni, dar include câteva apropiate de 1024x1024.
  • Diversitate: Cheia este diversitatea. Subiectul tău ar trebui să apară în scene, setări și vestimentații diferite. Altfel, modelul ar putea fi confuz în legătură cu ce încerci să antrenezi.
  • Portrete de Înaltă Rezoluție: Dacă antrenezi o față, include câteva portrete de înaltă rezoluție.
  • Cantitate: Parametrii impliciți funcționează bine pentru 10-20 de imagini.

Întrebări Frecvente (FAQ)

Ce este modelul AI Flux Dev?
Flux Dev este un model de difuzie local avansat, care oferă o calitate superioară a imaginilor generate comparativ cu Stable Diffusion 1.5 și XL, fiind un pas important în generarea de conținut AI.
De ce să folosesc LoRA pentru Flux Dev?
LoRA permite antrenarea fină a modelului Flux Dev pentru a injecta stiluri personalizate, personaje specifice sau un nivel sporit de realism, depășind limitările generării implicite a modelului și adaptându-l nevoilor tale creative.
Am nevoie de un GPU puternic pentru antrenament?
Da, antrenamentul LoRA pe Flux Dev este intensiv din punct de vedere al resurselor. Metoda Flux Gym (WebUI) necesită minim 12GB VRAM, în timp ce metoda AI-Toolkit (linie de comandă) este optimizată pentru GPU-uri cu 24GB VRAM sau mai mult.
Pot antrena Flux Dev pe Google Colab?
Da, este posibil să antrenezi Flux Dev pe Google Colab, dar necesită un plan Colab Pro sau Pro+ din cauza cerințelor ridicate de resurse computaționale.
Câte imagini sunt necesare pentru antrenament?
Pentru rezultate bune, se recomandă un set de 10-20 de imagini de antrenament. Diversitatea și calitatea imaginilor sunt mai importante decât cantitatea.
Ce format ar trebui să aibă imaginile de antrenament?
Majoritatea fluxurilor de lucru suportă imagini JPEG, PNG și JPG. Asigură-te că imaginile sunt de înaltă calitate și, ideal, cu o rezoluție apropiată de 1024x1024 pixeli.
Modelul meu antrenat va avea aceeași licență ca Flux Dev?
Da, modelele LoRA antrenate pe Flux Dev (licență non-comercială) sau Flux Schnell (licență Apache 2.0) vor moșteni licența modelului de bază utilizat.

Concluzie

Antrenarea modelului Flux Dev cu LoRA este o modalitate excelentă de a debloca întregul său potențial, permițându-ți să creezi imagini cu un realism și o personalizare fără precedent. Indiferent dacă alegi metoda bazată pe WebUI, linia de comandă sau Google Colab, pașii detaliați din acest ghid te vor ajuta să navighezi prin procesul complex de fine-tuning. Cu răbdare și un set de date bine pregătit, vei putea genera creații vizuale remarcabile, adaptate exact viziunii tale.

Dacă vrei să descoperi și alte articole similare cu Antrenează Flux Dev cu LoRA: Ghid Complet, poți vizita categoria Fitness.

Go up