Vissza az eszközökhöz

Média generálás

Forge

A Forge a Stable Diffusion WebUI böngészőből vezérelhető változata: checkpointokat, LoRA-kat és bővítményeket kezel, saját memóriakezeléssel.

3 perc olvasás

A Forge a Stable Diffusion WebUI egyik elterjedt változata: böngészőben elérhető grafikus felület diffúziós modellekhez, amely a saját gépünkön fut. A felület Gradio alapú, a szövegből képet és a képből képet munkafolyamatokat ugyanaz a webes oldal szolgálja ki, a generálás pedig helyben történik, külső szolgáltatás igénybevétele nélkül.

A projekt önmeghatározása szerint a Forge egy platform a Stable Diffusion WebUI fölött, amelynek célja a fejlesztés egyszerűsítése, az erőforrás-kezelés optimalizálása és a következtetés gyorsítása. A név a Minecraft Forge-ra utal, vagyis arra a szándékra, hogy ez legyen az SD WebUI bővített változata.

Mi köze az eredeti WebUI-hoz

A Forge a Stable Diffusion WebUI 1.10.1-es állapotán alapul, és a leírás szerint körülbelül 90 naponta szinkronizál az eredeti projekttel, illetve fontos javítások megjelenésekor. Ez a gyakorlatban azt jelenti, hogy a felület elemei ismerősek: a checkpointok, a képgenerálási paraméterek és a prompt szintaxis nagyrészt megegyeznek az eredeti WebUI-val, miközben a memóriakezelés és a modellbetöltés belső része eltér.

  • A szokásos módok mind elérhetők: szövegből kép, képből kép, inpainting, outpainting, nagyítás és variációk, valamint párhuzamos paramétertesztek az X/Y/Z plot segítségével.
  • A generálási paraméterek a kimeneti fájl metaadataiba kerülnek, így egy korábbi kép visszahúzásával a beállítások újra elővehetők.
  • Van HTTP API a szövegből kép és képből kép végpontokhoz, ami automatizáláshoz hasznos, például ha egy n8n workflow indítja a generálást.
  • A projekt saját státusztáblázata szerint az integrált bővítmények, a ControlNet-ek, az IP-Adapter és a FreeU általánosan működnek, ugyanakkor a Forge a saját dokumentációjában is építés alatt álló, változó projektként írja le magát.

Modellek, LoRA-k és VAE-k betöltése

A modellek fájlrendszerből töltődnek be, nem letöltési katalógusból, ezért a könyvtárszerkezet ismerete fontos.

  • A checkpointok a models/Stable-diffusion mappába kerülnek, és a felület tetején lévő legördülő listából választhatók, újratöltéshez nem kell újraindítani a szolgáltatást.
  • A LoRA-k a models/Lora mappába valók, és a promptban a <lora:fajlnev:erosseg> jelöléssel aktiválhatók. Ez a szöveg csak az engedélyezést szolgálja, a generálás előtt eltávolítódik a promptból, és negatív promptban nem használható.
  • Az embeddings (textual inversion) az embeddings mappába kerül, és a fájlnevével hívható a promptban, a VAE pedig a models/VAE mappából választható.
  • A felület külön kártyapanelen kínálja a telepített extra hálózatokat, így a LoRA-k és embeddingek képpel, egy kattintással illeszthetők a promptba.

A Forge sajátja, hogy a GGUF és az NF4 formátumú, kvantált modelleket natívan támogatja, LoRA-val együtt, valamint GPU weight csúszkát és offload helyet, illetve offload módot kínál a memória kézi hangolásához. A LoRA-k viselkedése kvantált modelleken eltérhet, erre a projekt külön útmutatót tart.

Bővítmények és kompatibilitás

A bővítmények a extensions mappában élnek, egyenként saját alkönyvtárban, és telepíthetők git clone paranccsal vagy a felület Extensions füléről.

  • A bővítménytelepítés gyakorlatilag tetszőleges kód futtatásának engedélyezésével egyenlő, ezért az eredeti WebUI tiltja, ha a felület távolról is elérhető (például -share vagy -listen kapcsolóval). A tiltás feloldható, de a dokumentáció kifejezetten nem javasolja állandó használatra.
  • A Forge nem futtat minden bővítményt változatlanul: a projekt külön listát vezet arról, mely bővítmények működnek, és melyek helyére javasolt másikat használni.
  • A saját státusztáblázatában is szerepelnek nyitott pontok, például a ControlNet Union és a Flux ControlNet támogatása még nem készült el, és bizonyos LoRA-típusok hibásak.
  • Új bővítmény vagy frissítés után érdemes egy ismert prompttal ellenőrizni a kimenetet, mert a hibák gyakran a bővítmény és a modell együttállásából erednek.

Hardver és licencek

  • A szükséges videomemória nagymértékben a felbontástól és a modelltől függ. Az eredeti WebUI dokumentációja 4 GB-os kártyát említ 512x512-es képekhez a -lowvram és -medvram kapcsolókkal, ezek viszont a teljesítmény rovására csökkentik a memóriaigényt.
  • A Forge memóriakezelése külön hangolható, de a GPU weight túl magasra állítása a projekt tapasztalata szerint gyakori hibaforrás.
  • A telepítőcsomagok CUDA és PyTorch párokban érhetők el. A leggyorsabbnak jelölt kombinációnál a dokumentáció maga jegyzi meg, hogy az xformers nem biztos, hogy működik.
  • A projekt kódja AGPL-3.0 licenc alatt áll, a licencfájl az eredeti szerzői jogot is tartalmazza. Ez a kódra vonatkozik: a letöltött modellsúlyok külön licencet kapnak, például az SDXL alapmodell a CreativeML Open RAIL++-M feltételei szerint használható.
  • A felület alapértelmezés szerint jelszó nélkül hallgat a helyi porton, ezért nyilvános szerveren csak hitelesítés és nginx fordított proxy mögött szabad kitenni.

Tovább olvasás

A CyberElectrónál a Forge a helyi képgenerálás eszköze: tesztkörnyezetben fut, elkülönített Docker konténerben, az LM Studio mellett ugyanazon a gépen.

Címkék
  • képgenerálás
  • diffúzió
  • LoRA
  • GPU
  • helyi üzem