Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Je vtipné, jak historie vydání open-source modelů pro převod textových pokynů na obrázky, které vyvíjí a školí společnost Stability AI, připomíná sérii vzletů a pádů postupně vydávaných verzí operačního systému Microsoft. Po legendárně úspěšné verzi XP následovala problematická Vista; poté nádherná "sedmička" — a za ní neúrodná Windows 8. U Stable Diffusion, jehož zpočátku neatraktivní, ale postupně vylepšená verze 1.5, následovala otevřeně neúspěšná verze SD 2.0 — neúspěšná proto, že obsahovala netypický kódovač OpenCLIP, natrénovaný na velmi nejednoznačně vybraných obrázcích z otevřeného datového souboru LAION-5B. Při tomto výběru byly vyloučeny nejen nevhodné (NSFW) vizuální reference, ale také obrazy a ilustrace od populárních umělců, jako je proslulý Greg Rutkowski. Právě to poslední definitivně rozzuřilo nadšence: zatímco pro SD 1.5 dokonce v původní verzi, bez použití speciálně přetrénovaných checkpointů, skvěle fungovaly jednoduché pokyny se styly — "epic medieval fantasy landscape, in the style of Greg Rutkowski" — a výsledek byl ohromující, tak SD 2.0 přestala "rozpoznávat" jména nejznámějších ilustrátorů, jejichž autorská práva na vytvořená díla jsou stále aktuální a kteří se neobtěžovali poskytnout tato díla pro trénink AI. Bylo třeba použít více slov k popisu požadovaného, a s příliš dlouhými pokyny si model neporadil dobře.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

⇡#Posadili se — vstali, posadili se — vstali

V kombinaci se změněným kodérem (převodník textového příkazu na digitální tokeny, s nimiž již poté model přímo pracuje) znemožnění použití pojmenovaných stylů prostě zbavilo nadšence motivace pokračovat ve vylepšování "dvojky" svými silami. Opravu: tady bylo třeba současně se zabývat tím, jak přizpůsobit již osvojenou techniku sestavování příkazů novému kodéru, a dále učit model rozpoznávat ty obrazce a motivy, s nimiž se tvůrci v průběhu počátečního trénování nesetkali – a kvalitativní rozdíl od "půlky" generované "dvojkou" rozhodně nebyl zaručen. Ano, došlo k kvalitativnímu skoku z standardní velikosti pro SD 1.5, 512×512 pixelů, na 768×768, ale do té doby již komunita plně využívala upscalery, outpaintery a další nástroje pro zvětšení rozměrů konečného obrázku, takže SD 2.0 prošla, ve velkém měřítku, nepovšimnuta. SDXL se vrátila k standardnímu (vyvinutému OpenAI a používanému mimo jiné projektem DALL-E) kodéru CLIP – jeho kód je také otevřený, ale databáze, na které je trénován, na rozdíl od OpenCLIP, je proprietární. K tomu standardní velikost plátna vzrostla u „Oversize“ na 1024×1024, navíc se objevila celá řada dalších vylepšení, – takže nadšenci si s radostí vzali na starost jeho vylepšení. A k dnešnímu dni lze bezpochyby považovat právě SDXL (a jeho nedávno vzniklé méně náročné deriváty jako SDXL Turbo a SDXL Lightning) za nejpopulárnější AI generátor obrázků s otevřeným kódem. Nicméně, zapálení zastánci SD 1.5 s tímto argumentovaně nesouhlasí, poukazujíce na to, že tak důležité nástroje jako ControlNet, v SDXL dosud nebyly řádně přeneseny.

A tak od 12. června 2024, od okamžiku „vpuštění do divočiny“ kódu modelu, který umožňuje lokální generace, měl nastat čas „otevřené“ verze SD 3 – pokud jsme přesní, pak Stable Diffusion 3 Medium (SD3M nebo SD3 2B) s 2 miliardami pracovních parametrů. Podmíněně, připomeňme, toto číslo odpovídá celkovému počtu vah na vstupech všech perceptronů modelu. Již dříve, v dubnu, Stability AI dolaďovala a nabídla k komerčnímu využití 8milionovou (počet parametrů) Stable Diffusion 3 Large, známá jako SD3 8B. U SDXL 1.0, připomeňme, — 3,5 miliardy parametrů, nicméně SD3M, podle tvrzení vývojářů, je „nejsofistikovanějším modelem pro generování obrazů ze všech, které jsme dosud vytvořili“. Mělo se za to, že při menších než „Oversize“ potřebách na videopaměť by měla i na jednoduché podněty poskytovat obrazy „s novou úrovní fotorealismu“. Mezi přednostmi „trojky“ byly uvedeny také „bezprecedentní kvalita typografie na generovaných obrázcích textu“, „prohloubené porozumění podnětům díky spolupráci tří kódovačů“ a „připravenost k efektivnímu doladění i na omezených datových sadách“.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Očekávalo se očividně, že komunita nadšenců, dostavši do rukou novou dlouho očekávanou hračku, začne ji s nezměrnou vášní zdokonalovat stejně jako „polotovar“ a „Oversize“ kdysi. Nicméně od samého počátku to nešlo tak, jak mělo: SD3M během prvních hodin po zveřejnění souborů modelu na Hugging Face a Civitai dokázala hluboce zklamat své publikum, a to hned dvakrát. Poprvé — nepochopitelnou na první pohled idiosynkrazií k podnětům, zahrnujícím nevinně znějící frázi „ležící na/v trávě“ (lying on/in the grass); podruhé — neuvěřitelně nejasnými formulacemi v uživatelské smlouvě, v nichž se nedokázali hned zorientovat ani zkušení právníci. Ačkoliv se z pohledu běžného nadšence AI umění zdá být poslední bod nepodstatný, na dalším vývoji modelu se právě právní stránka otázky odrazí nejpřímějším způsobem — až do bodu, kdy se žádného vývoje může úplně nedostavit.

Předchozí díla Stable Diffusion s otevřeným kódem (konkrétně s otevřenými hodnotami váhy neuronových sítí, dostupnými k bezplatnému stažení pro následné lokální spuštění), jako například SDXL, byla doprovázena jedním z typických rysů generativních modelů CreativeML Open RAIL++-M License s takovými vlastnostmi, jako je „neomezená, celosvětová, nevýhradní, bezplatná, bezúplatná, neodvolatelná licence na autorská práva, určená k reprodukci, přípravě, veřejné demonstraci, veřejnému výkonu, sublicencování a distribuci dalších materiálů jak samotného modelu, tak odvozených od něj“. „Troika“ však předpokládá dva typy licencování: pro nekomerční použití — s velmi uvolňujícími frázemi, jako je „Stability AI vám poskytuje nevýhradní, celosvětovou, nepřenositelnou, sublicencovatelné, odvolatelné, bezúplatné a omezené právo duševního vlastnictví“ — a daleko více zatěžující obchodní.

⇡#Tráva k dobrému nepovede

Krátce poté se komunita shodla na tom, že Stable Diffusion 3 není Open Source. A v podstatě vyhlásila boycott vůči společnosti vývojáře, nechtějící trávit čas a síly na dodevkování očividně syrového a nebezpečně vyladěného modelu — s vědomím, že Stability AI může svým mediálními manažery kdykoli zrušit licenci dříve udělenou konkrétnímu nadšenci, který provádí takové dodevkování. Licenční smlouva je formulována tak, že u jejího studia i neprávníky vzniká dojem, že po zrušení povolení k obchodnímu využití SD3M by bývalý držitel měl odstranit všechny odvozené produkty tvořené z licencovaného duševního vlastnictví, včetně jak samotných dodevkovaných modelů (LoRA, textové inverze, celé checkpointy), tak i jejich odvozenin (citace: „Po ukončení této smlouvy musíte odstranit a přestat používat jakékoli softwarové produkty nebo odvozené práce“) — tedy plody práce dalších lidí, kteří použili tyto odvozené modely jako výchozí bod pro svou vlastní práci; přičemž to nebylo nikým a nijak hrazeno, bylo to vykonáno na čistém nadšení.

Krátce poté, co vlna pobouření ohledně tohoto dosáhla stratosférických výšin, se začaly objevovat zprávy i od profesních právníků, že to není tak špatné a co se týče recenzí s zákazem dalšího používání, ty by se ve skutečnosti měly týkat pouze určitých pomocných produktů se skrytým kódem, které Stability AI předá komerčnímu uživateli (řekněme, pro urychlení a optimalizaci stále téže předtréninkové fáze SD3M) — ale samotná společnost dosud neposkytla žádná finální vysvětlení ohledně toho. A fakt, že je tu tak dusivé ticho už tři týdny (k datu psaní tohoto článku) od okamžiku, kdy se „trojka“ stala veřejně dostupnou, poškozuje pověst vývojáře mnohem více než tráva — generovaná jeho výtvorem dívkami.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Pokud jde o proslulou trávu, která se doslova během několika hodin stala memem nejprve na Hugging Face, a posléze téměř na všech více či méně tematických platformách na internetu, ukázalo se, že přítomnost ve vyhledávacím dotazu fráze jako „dívka ležící na trávě“ vede k tomu, že se ve výstupu „trojky“ objevují nejen halucinace, ale i noční můry bolavé — v medicínském smyslu — fantazie umělců a filmařů, kteří se specializují na body horror (pro jistotu, pokud vám rozum a život leží na srdci, — držte se od podobného dál a ani se nepokoušejte zadávat tuto frázi do vyhledávacího okna pro obrázky bez zapnutého bezpečnostního filtru). Přitom obrazy stojících — a o něco méně sedících — lidí vycházejí „trojce“ s přesvědčivým čtyřkovým hodnocením s plusovým znaménkem a portréty bývají někdy úplně bezchybné; alespoň ne horší než u základního modelu SDXL 1.0, — problém zde spočívá v jakémsi vnitřním tabu ohledně horizontální polohy lidského těla.

Soudě podle komentáře Emada Mostaka, zakladatele a bývalého (do března 2024) šéfa Stability AI, který opustil společnost, aby „věnoval se decentralizovaným projektům v oblasti umělé inteligence“, hrubé násilí na SD3M přímo v předvečer otevření jejích vah pro omezené nekomerční využití (API většího modelu SD3 8B pro online generaci, připomínáme, je dostupné přes partnerské weby již od dubna, ale její váhy zůstávají skryty) bylo důsledkem snahy současného vedení o bezpečnost — „v souvislosti s regulačními požadavky“, formulovanými již v březnu tohoto roku jako Acceptable Use Policy. V rámci této politiky, při použití generativního modelu SD3M, uživatelům není povoleno "provádět, podporovat, usnadňovat, podněcovat nebo přispívat k dalšímu násilí, terorismu či vytváření obsahu, který vyvolává nenávist, diskriminuje nebo ohrožuje chráněnou skupinu lidí (ať už podle pohlaví, etnického původu, sexuální identity či orientace, náboženství nebo jinak)." Takže žádné obrázky pand, bojujících proti rozzuřeným drakům jen tak, jak je matka porodila! Pouze kočičky v legračních kloboucích, psi v roztomilých bundách, lahve s neznámým obsahem a čerstvé, přímo z trouby, sušenky!

Technicky řečeno, možná byla modelu odejmuta schopnost tím, že ze tréninkové sady dat byly jednoduše vyloučeny obrázky ležících lidí a jiné obrázky, které by naznačovaly nevhodné vyznění, a proto nyní "trojka" prostě "nerozumí" významu slova "ležet". Nebo možná aktualizovaná architektura SD3 schopná dostatečně rozpoznat váhy na perceptronech, které se aktivují ve chvíli generování "nebezpečných" obrázků, a tyto váhy byly před releasem selektivně vynulovány, což mělo za následek "nucené halucinace". Pravděpodobně, to už lze přirovnat k lobotomii: kodér správně převádí text na tokeny, ale v "ochranném" latentním prostoru tyto tokeny už na nic konkrétního nenaznačují, a proto se výsledné pixely na obrázku umisťují vlastně náhodně.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Vzhledem k dostupnosti API plnohodnotného, ale uzavřeného modelu SD3 8B již několik měsíců a vřelým ujištěním mediálních manažerů Stability AI, že "kompaktní" 2B bude téměř stejně kvalitní co do vnímání textu a generování obrázků,, nadšenci AI kreslení přivítali zveřejnění váh SD3M 12. června s velkým nadšením: během prvních 24 hodin byl model stažen 2,7 milionkrát. V tuto chvíli je stále možné ji získat, i když o něco okružnější cestou, než je obvyklé pro checkpointy SDXL a SD 1.5. Vlastně, obvyklá cesta je návštěva webu Civitai, odkud se většina modelů stahuje bez registrace, ale od 17. června a až do doby odevzdání tohoto článku k sazbě je věnovaná stránka o 'trojce' tohoto webu v dočasném zákazu. A důvod je jeden: obchodní licence na SD3M je napsána tak neurčitým jazykem, že i právníci Civitai si vzali čas na její pečlivější studium. Vždyť pokud nějaký nadšenec natrénuje na svém PC LoRA pro 'trojku' a zveřejní ji na Civitai, a Stability AI náhle rozhodne, že výsledek je nevhodný, a odvolá u viníka licenci, — jak se v takovém případě má chovat hostingový web? Vždyť on na svých stránkách nejen umisťuje checkpointy, podpůrné cyklogramy a modely, ale také poskytuje návštěvníkům možnost cloudového generování obrázků a trénování stejných LoRA, textových inverzí atd. V podstatě, zatímco se projednává, lze soubory samotného modelu a tři přiložené převodníky textu na tokeny získat pouze z vlastní stránky Stability AI na portálu Hugging Face.

⇡#Začněme

Pravda, je tu nuance: abyste získali přístup k odkazům pro stahování, musíte se na webu autorizovat a poté potvrdit přijetí zmíněné dříve drakonické licenční smlouvy — avšak tato procedura je bezplatná a v Rusku zcela dostupná. Celkem jsou k dispozici čtyři varianty vlastních modelů (models) a čtyři také převodníků textové nápovědy na tokeny (encoders), plus tři referenční cyklogramy pro provádění v pracovním prostředí ComfyUI, o kterém jsme už jednou hovořili:

modely:

  • sd3_medium.safetensors
  • sd3_medium_incl_clips.safetensors
  • sd3_medium_incl_clips_t5xxlfp8.safetensors
  • sd3_medium_incl_clips_t5xxlfp16.safetensors

kódovače:

  • clip_g.safetensors
  • clip_l.safetensors
  • t5xxl_fp8_e4m3fn.safetensors
  • t5xxl_fp16.safetensors

cyklogramy:

  • sd3_medium_example_workflow_basic.json
  • sd3_medium_example_workflow_multi_prompt.json
  • sd3_medium_example_workflow_upscaling.json

V rámci této ‚Dílny‘ se omezíme na základní model sd3_medium.safetensors (4,2 GB), tři enkodéry — clip_g.safetensors (1,3 GB), clip_l.safetensors (234 MB) a t5xxl_fp8_e4m3fn.safetensors (4,7 GB), stejně jako cyklogram sd3_medium_example_workflow_multi_prompt.json. Faktem je, že na našem testovacím stroji máme, připomínáme, grafickou kartu GeForce GTX 1070 s 8 GB video RAM, a do této kapacity se nevejdou větší modely se všemi integrovanými převodníky najednou. U kontrolních bodů založených na SD 1.5 a SDXL jsou enkodéry standardně integrovány do hlavního souboru, ale v tomto případě těchto převodníků není jen dva, ale tři, celkem přes 6 GB — spolu s modelem už to dává více než 10 GB; a pokud bychom vzali 16bitovou verzi enkodéru T5XXL, pak by byla potřeba ještě výrazně výkonnější grafická karta. V případě, že se nejprve do video paměti nahrávají převodníky textu na tokeny a teprve poté pracuje s těmito tokeny model, bude i 6GB grafický adaptér zcela postačující. Z tohoto hlediska modulární ‚trojka‘ bezpochyby vítězí nad typickým SDXL kontrolním bodem na 5-7 GB.

SD3M je model založený na multimodálních difuzních transformerech (Multimodal Diffusion Transformer, MMDiT) — a tím se principiálně liší od dřívějších vývojů Stability AI (a nejen jí), které se opírají o architekturu U-Net, navrženou již v roce 2015. ‚Dílna‘ není místem pro hloubkové studium rozdílu mezi těmito přístupy k AI generaci obrázků; řekněme pouze, že MMDiT zajišťuje vyšší výkon modelu, jeho schopnost pracovat s větším počtem tokenů (což zase umožňuje operátorovi formulovat velmi rozsáhlé textové pokyny, a systému je dost přesně dodržovat), jakož i lepší kvalitu výsledných obrázků. Plnohodnotná SD3 8B je schopna generovat obrázky na plátně o velikosti 4 MPix (2048×2048 bodů) a také předčí DALL-E 3, Midjourney v6 a Ideogram v1 v takových aspektech, jako je reprodukce textu na obrázku, přesnost shody získaného obrázku s textovým pokynem a celková vizuální estetika. Převedení textu na vektor tokenů se zde provádí rovnou třemi enkodéry (dva modely CLIP a jeden T5-XXL — ‚T5‘, mimochodem, od Text-To-Text Transfer Transformer) — a navíc, nejsou povinni pracovat se stejným výchozím textem.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Ale dost předehry: pustíme se do toho, čemu je věnována „Dílna“ — generaci obrázků na základě modelu SD3M. Použijeme k tomu, jak již bylo zmíněno, pracovní prostředí ComfyUI, které si lze stáhnout přes přímý odkaz z GitHubu. Zdůrazněme, že tato varianta je určena pouze pro provoz na grafických adaperech NVIDIA nebo přímo na CPU AMD či Intel (což bude samozřejmě mnohem pomalejší): majitelům grafických karet AMD se nabízí řešení v podobě balíčků rocm a pytorch, které lze nainstalovat přes správce balíčků pip.

Po dokončení instalace pracovního prostředí je třeba umístit dříve stažené soubory .safetensors: modely do adresáře ComfyUImodelscheckpoints, převodníky textu na tokeny do ComfyUImodelsclip. A — můžeme začít!

⇡#Je čas zrychlit

Stojí za zmínku, že AUTOMATIC1111, dobře známé čtenářům předchozích „Dílen“ o umělé inteligenci, pracovní prostředí, na konci června také dostalo možnost vykonávat SD3M, avšak v ComfyUI zůstává podpora nového modelu prozatím nejkompletnější. Není divu — vždyť do nedávné doby byl autor „těstovinové příšery“, známý komunitě nadšenců pod přezdívkou ComfyAnonimous, nebo jednoduše Comfy, zaměstnancem Stability AI, kde pracoval zejména na interním pracovním prostředí, které používají samotní vývojáři. Jak uvidíme o chvíli později, nejnovější verze ComfyUI skutečně svědčí o tom, že její autor má určité zasvěcené informace o tom, jak je tento kontroverzní model navržen a funguje — informace, kterými se tvůrci jiných pracovních prostředí pro lokální spuštění Stable Diffusion 3 Medium z pochopitelných důvodů nemohou pochlubit.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Nainstalovat ComfyUI v přenosné verzi pro Windows je velmi jednoduché: po stažení příslušného ZIP archivu z oficiální stránky projektu stačí ho rozbalit do libovolného adresáře; samozřejmě je lepší mít ho na logické jednotce, která používá SSD, a ne HDD — výměna mezi úložištěm a pamětí, s přihlédnutím k budoucím cyklům načítání a uvolňování modelů, i pro generaci jednoho jediného obrázku (pro prostředí bude nejprve nutné umístit převodníky textu na tokeny do videoRAM, poté vyčistit video paměť a načíst samotný SD3M), se očekává tím více náročná, čím méně video paměti má k dispozici tento počítač. Mimochodem, přenosná instalace je také výhodná svou naprostou nezávislostí: nic — kromě objemu volného místa na logickém disku — nebrání rozvinout libovolný počet kopií ComfyUI lokálně, abychom si mohli vyzkoušet různá rozšíření, aniž bychom se obávali, že poškodíme již doladěný a skvěle fungující systém.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Po ověření, že soubor hlavního modelu SD3M bez vestavěných převodníků textu na tokeny (soubory stableDiffusion3SD3_sd3Medium.safetensors, 4,2 GB) je umístěn v podadresáři checkpoints (v případě naší testovací instalace je plná cesta — C:Fun-n-GamesComfyUI-SD3ComfyUImodelscheckpoints), a všechny tři modely převodníků (soubory stableDiffusion3SD3_textEncoderClipG.safetensors, stableDiffusion3SD3_textEncoderClipL.safetensors a stableDiffusion3SD3_textEncoderT5E4m3fn.safetensors; 1,3 GB, 234 MB a 4,7 GB) — v podadresáři clip (C:Fun-n-GamesComfyUI-SD3ComfyUImodelsclip), můžete spustit pracovní prostředí dvojitým kliknutím na soubor run_nvidia_gpu.bat v kořenovém adresáři (v našem případě C:Fun-n-GamesComfyUI-SD3). Po spuštění serveru se v okně příkazového řádku Windows automaticky (to předpokládají nastavení BAT souboru) otevře nová karta v výchozím prohlížeči, v níž je na adrese 127.0.0.1/8188 dostupné webové rozhraní. už jsme zkrocili dříve (i když jen v prvním přiblížení) "těstovinového monstra."

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

V zásadě, pokud máte k dispozici modernější grafickou kartu NVIDIA (generace RTX, nikoli GTX, ať už s 6 GB video RAM), můžete okamžitě načíst do pracovní prostředí referenční cyklogram od samotného ComfyAnonimous, o kterém jsme již dříve hovořili — soubor comfy_example_workflows_sd3_medium_example_workflow_multi_prompt.json s mnoha okny pro zadávání promptů, po jednom pro každého ze tří enkodérů, — a pracovat s ním. Pravda, nejprve bude nutné přizpůsobit čtyři názvy souborů modelů (v uzlech jejich načítání) těm, které máte k dispozici. Autor referenčního cyklogramu zřejmě pracoval na svém pracovním místě (ve společnosti Stability AI, jak již bylo zmíněno) s lokálně dostupnými soubory, které měly poněkud jiné názvy, takže pokud stisknete tlačítko „Queue Prompt“ ve spartánském rozhraní ComfyUI hned po načtení cyklogramu, pracovní prostředí vyhodí chybovou zprávu.

⇡#Trojpolí pro AI generaci

Nicméně, to se poměrně snadno opraví: mnohem více deprimuje skutečnost, že námi disponovaná stálice GTX 1070 zpracovává SD3M příšerně pomalu — generování obrázku trvá 27-30 sekund na každou iteraci, a pokud vezmeme v úvahu, že parametr „Steps“ v referenčním cyklogramu je nastaven na „28“, času ubíhá neoprávněně moc. Proto provedeme malou optimalizaci — využijeme Python modul venv (virtuální prostředí, který má mimo jiné za úkol urychlit práci generativních AI modelů. V dodávce přenosné verze ComfyUI není zahrnut, ale existuje mnoho způsobů, jak jej nainstalovat, které se nakonec redukují na nasazení plnohodnotného Python prostředí na místním PC — a aktivaci požadovaného modulu již z tohoto prostředí.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Buďme optimističtí, že čtenáři sledující naše „Dílny“ již mají aktivní pracovní instalaci AUTOMATIC1111 na svých strojích. V tomto případě je vše mnohem jednodušší: modul venv je tam již nasazen, a vše, co je potřeba udělat pro aktivaci při spuštění pracovní prostředí ComfyUI, je správně provést výzvu. Nejdříve je třeba ukončit činnost serveru tak, že přepnete na jeho okno a stisknete „Ctrl“ + „C“, poté zadejte „y“ pro potvrzení; následně zkopírujte soubor BAT run_nvidia_gpu.bat do nového souboru, například run_with_venv.bat. Původní spouštěcí soubor je velmi stručný — jednoduše volá přenosnou instalaci Pythonu s parametrem —windows-standalone-build:

.python_embededpython.exe -s ComfyUImain.py —windows-standalone-build

pauza

Tento parametr je sám o sobě poněkud nejednoznačný — implikuje určité optimalizace, které jsou pravděpodobně navrženy právě pro novější grafické karty NVIDIA a mohou zhoršit situaci pro ty, kteří stále zůstávají věrní svým zasloužilým GTX. Z tohoto důvodu odstraníme —windows-standalone-build z příkazového řádku a zároveň se vzdáme také jiné moderní optimalizace — aktivního výchozího „inteligentního správce paměti“, smart memory, který se snaží udržovat co nejvíce informací ve videoRAM, aniž by je vykládal. To skutečně urychluje vykreslování AI obrázků, ale zároveň to proměňuje náš morálně zastaralý počítač na jednou úlohový systém — nelze se věnovat webovému surfování, hrát, ani dokonce pracovat s dokumenty a e-mailem na PC paralelně s aktivitou pracovní prostředí. Takže pro ty, kteří nemají vyhrazený počítač pro AI umění, se ideálním jeví takový BAT soubor pro spuštění ComfyUI (nejen za účelem generování obrázků s SD3M, mimochodem — pro SDXL je také zcela vyhovující):

@echo off

call cd C:Fun-n-GamesGitstable-diffusion-webuivenvScripts

echo %

call activate.bat

echo venv activated

call cd C:Fun-n-GamesComfyUI-SD3

echo %

call .python_embededpython.exe -s ComfyUImain.py —disable-smart-memory

pauza

Zde se předpokládá, že přenosná instalace ComfyUI byla provedena v adresáři C:Fun-n-GamesComfyUI-SD3 a AUTOMATIC1111 byla dříve nainstalována v C:Fun-n-GamesGitstable-diffusion-webui. Množství „echo“ je potřeba pouze pro vizuální kontrolu toho, že změna adresářů probíhá správně a potřebné příkazy se vykonávají — jakmile bude vše doladěno, mohou být vymazány ze souboru BAT.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Opět spouštíme pracovní prostředí, tentokrát dvakrát kliknutím na run_with_venv.bat. Protože jsme server pouze zavřeli a webové rozhraní se nedotklo, na příslušné kartě by stále měla zůstat ta stejná základní pracovní cyklogram ComfyUI se změněnými názvy modelů. Všimněme si pravé části: tam se nachází uzel „Preview Image“, který nezachovává hotový obrázek na disk, ale pouze jej zobrazuje. Pokud spouštíme cyklogram pro generaci přesně jednoho obrázku, hodnotíme jej vizuálně, něco měníme v parametrech a znovu spouštíme - to je zcela funkční varianta: líbivý obrázek lze vždy uložit ručně kliknutím pravým tlačítkem myši na něj. Ale pokud provedeme v pracovním prostředí mnoho generací sekvenčně, je lepší, aby se jejich výsledky automaticky shromažďovaly v trvalé paměti (v adresáři ComfyUIoutput ve výchozím nastavení).

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Takže je lepší hned změnit uzel „Preview Image“ na „Save Image“. K tomu dvakrát klikneme levým tlačítkem myši na libovolné volné místo cyklogramu - otevře se okno výběru uzlů s vyhledávacím polem. Do tohoto pole začneme psát „Save…“ - a skoro okamžitě uvidíme požadovaný název. Pak stačí kliknout na něj a propojit vstup nově se objevivšího uzlu s výstupem „IMAGE“ uzlu „VAE Decode“, k němuž byl původně připojen „Preview Image“. Samotný uzel „Preview Image“ lze poté odstranit - jednoduše jej vybereme kliknutím na záhlaví a stiskneme klávesu „Del“ na klávesnici.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

A teď je ten pravý čas spustit základní cyklogram od ComfyAnonimous (s našimi skromnými úpravami) k provedení. Vypadá to takto:

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Velmi působivý obrázek, dokonce i se náladou, - a neřeknete, že byl vytvořen pomocí stejného modelu, který naprosto ztroskotává na instrukci nakreslit lidi ležící na trávě. Přitom systém funguje docela svižně - přibližně 5-6 sekund na iteraci pro obrázek o ploše 1 MPix na GTX 1070 je považováno za slušný výsledek. Pro srovnání: ten samý PC ve stejné ComfyUI se stejným BAT souborem generuje SDXL obrázky podobných rozměrů, přičemž každá iterace zabere přibližně 6-7 sekund, takže „trojka“ může být považována za méně náročnou na hardware PC, na kterém probíhá AI generace.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Nyní upravíme rozměry plátna. Nedaleko uzlu „EmptySD3LatentImage“, který je stanovuje, se nachází „prázdný“ (což znamená, že není připojen k ničemu) referenční uzel „Note“, kde je důležité upozornění: celková plocha obrázku by v případě SD3M měla mít přibližně 1 Mpx, podle čehož je třeba volit rozměry stran obdélníkového plátna. Nastavíme je tedy na 1344×768 — což je přibližně 1,03 Mpx a vyjde to.

Všimněme si: výše se nachází uzel „Seed“, kde je stanovena vlastně počáteční hodnota, v tomto případě „945512652412924“, a je uvedeno, že by se po vygenerování neměla měnit (parametr „fixed“).

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Provedeme stejnou cyklogramu se stejnou počáteční hodnotou, ale již pro obdélníkové plátno. Okamžitě je patrné, že celkově je potřeba méně času na provedení, i když rychlost vykreslování zůstala stejná — méně než 6 s na iteraci. A to dává smysl: pokud se textové nápovědy nezměnily, není potřeba znovu načítat kodér(k) pro ně. Obrázek na výstupu je, jak jistě chápete, poněkud odlišný od prvního, čtvercového, ale v principu ne zásadně — celková kompozice, jak se dalo očekávat, zůstala.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Nyní se zaměříme na uzly „CLIPTextEncodeSD3“ a „CLIP Text Encode (Negative Prompt)“. První se vyznačuje tím, že obsahuje hned tři pole pro vstup; pokud z nich odstraníme text, objeví se poznámky, pro jaké kodéry jsou určeny — shora dolů to jsou CLIP G, CLIP L a T5XXL. Dříve podobné uzly v ComfyUI z pochopitelných důvodů nebyly. Oporná cyklogram obsahuje duplicitní krátké nápovědy pro první dvě textová pole (pro převodníky CLIP G a CLIP L) a daleko podrobnější pro třetí — T5XXL. Je jasné, že obsahem těchto polí lze v širokých mezích hrát, a samotné studium toho, do jaké míry změna textu v nich ovlivňuje finální obrázek, je netriviální, ale velmi zajímavý úkol. Nicméně, z důvodů, které se brzy objasní, se zatím této činnosti nebudeme věnovat.

Na nódě „CLIP Text Encode (Negative Prompt)“ však není nic zvláštního — ale uvědomte si, jak složitá je cesta od ní k odpovídajícímu vstupu „conditioning“ hlavní nody „KSampler“! Tato cesta se rozděluje, přičemž jedna z jejích větví (horní v tomto případě) ukazuje, že od 10 % kroků generace a až do jejího dokončení systém vůbec nebude brát v úvahu negativní prompt (projít cestou skrze nód „ConditioningZeroOut“ znamená vlastně nulování podmínky). Zatímco druhá větev propouští negativní prompt (také podmíněně s poloviční váhou) do dalšího zpracování bez změn — ale pouze v prvních 10 % celkového počtu kroků generace.

⇡#Záhadné daleko

Ještě jednou: prvních 10 %, tj. 3 z 28 přidělených v tomto případě, kroků generace se negativní prompt předává do nody „KSampler“, která se zabývá tvorbou obrázku v latentním prostoru (do prostoru pixelů, tj. do pochopitelného obrazového výstupu, jehož výstup převádí následující nód, „VAE Decoder“), běžně: horní větev (s nulováním podmínky) není aktivní, funguje pouze dolní. Zbývajících 90 % kroků (25 z 28 v našem případě) negativní prompt vůbec nefunguje: aktivní je právě horní větev předávání podmínek — s jejich nulováním, — a pohyb po dolní větvi je zablokován hranicovým parametrem spuštění příslušné nody „ConditioningSetTimestepRange“. A nyní je jasné, proč někteří recenzenti tvrdí, že negativní prompt pro SD3M lze v zásadě nepoužívat, — efekt z nich (pokud vezmeme v úvahu právě tento, referenční, cyklus a předpokládáme, že na stránkách s online generací podle modelu SD3 Medium platí podobná pravidla) je minimální.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

A přece existuje: pokud přímo propojit výstup uzlu „CLIP Text Encode (Negative Prompt)“ s odpovídajícím vstupem „KSampler“ (nebo označit všechny mezilehlé uzly s podmínkami na této cestě jako „přeskočitelné“, „Bypass“, což povede k témuž efektu), kvalita výsledného obrázku se znatelně zhorší. To lze ostatně považovat za nepřímý důkaz „nepropečenosti“ SD3M, protože regulovat sílu a význam negativního podnětu, řečeno přísně, by měla být vývojářům ještě před uvolněním vah modelu do veřejného přístupu. Dvě větve chytře nastavených podmínek pro použití negativního podnětu – jakási záplata, a v tomto smyslu stížnosti nadšenců na to, že „trojka“ očividně nedosahuje očekávání, které marketingové oddělení Stability AI v této záležitosti vyvolalo, se zcela oprávněně jeví.

Nedostatek alespoň stručného oficiálního průvodce prací se SD3M vedl k tomu, že po síti již kolují fámy, že tento model vůbec nebyl trénován na použití negativních podnětů. Což samozřejmě není pravda, ale v každém případě je třeba tyto podněty aplikovat úplně jinak, než jak to dělají operátoři SD 1.5 a SDXL. Především, nadšenci s plnou vážností tvrdí, že přidání co nejdetailnějších popisů mnoha nehodných věcí do negativního pole (ano, ano, starého dobrého „nsfw, nude“ nestačí – bude třeba opravdu zapojit fantazii) vede k znatelnému zlepšení vzhledu i proslulé dívky ležící na trávě. Ať už je to pravda nebo ne – nelze zjistit bez důkladného ověření (ačkoliv to není jisté, že i označení „18+“ v záhlaví naší stránky ochrání vydání před žalobami rozhořčených ochránců morálky, pokud se odvážíme publikovat zkomponovanou nadšenci „zázračnou podnět“ – i když je v angličtině). Tato zábavná situace připomíná případ s raně středověkými ponaučeními proti pohanství, díky nimž – právě proto, že obsahovaly poměrně podrobné popisy toho, co a jak by správní křesťané neměli dělat – k nám dorazily alespoň útržkovité písemné doklady o vírách a zvycích pohanské Rusi.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Nyní si můžeme s jistotou říct, že důvody, proč se dále zabývat studiem SD3M v této fázi, se nejeví jako rozumné mrhání silami a časem. Opravdu je zde co probírat a zkoumat: jak striktně doporučené parametry generování v uzlu „KSampler“ (CFG – 4,5-5,0; počet kroků – kolem 28; pár sampler/scheduler – výhradně dpmpp_2m/sgm_uniform, jinak kvalita výstupu výrazně klesá); tak i velmi významný rozptyl subjektivní kvality generací při striktně stejných počátečních parametrech, ale s různými podněty; a zbavení se proslulého „prokletí ležení v/na trávě“ (k čemuž již jsou nabízena velmi neobvyklá řešení); a vlastně zjištění, na které konkrétní parametry generování ovlivňuje každý ze tří převodníků textu na tokeny — a jak, s jejich pomocí, dosáhnout vytvoření opravdových mistrovských děl umělé inteligence (pokud je to s „trojkou“ vůbec možné).

Tím spíše, že odvolání Emada Mostaka v březnu a ComfyAnonimous v červnu, a rozhodně nejen jich, — nejsou jedinými problémy, které Stability AI postihly. Jak uvádí Reuters s odvoláním na The Information, tento britský startup doslova právě teď (v době psaní tohoto článku) znovu změnil generálního ředitele , jímž se stal Prem Akkaraju, zástupce známé globální skupiny IT investorů — a ta, na oplátku, je připravena vložit do firmy značnou částku v hotovosti (jde o 80 milionů USD). Situace Stability AI jako obchodní struktury je dnes otevřeně nestabilní; mnozí zklamaní nadšenci jí předpovídají brzký konec — a v takové situaci je obtížné očekávat od společnosti uvážlivou práci i na tak očividných chybách.

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Nedomyšlená licenční politika bohužel odrazuje komunitu od samostatného vylepšování SD3M, jak tomu bylo u SD 1.5 a SDXL. Minimálně odvozené checkpointy a nástroje jako LoRA pro poslední dvě modely zůstanou zaručeně k dispozici pro lokální provádění, i když (a pokud) Stability AI ukončí svou cestu jako komerční struktura. Hned po ohromující fiasku „trojky“ se na specializovaných fórech začaly stále častěji ozývat hlasy na podporu vzniku nekomerčního projektu pro vývoj generativního modelu pro transformaci textu na obrazy na základě crowdfunding, — a v současnosti se toto hnutí začíná formovat pod jménem Open Model Initiative. O ochotě aktivně se k němu připojit již prohlásily společnosti Invoke (jedna z platforem pro online AI generaci, zaměřená na profesionální studia), Comfy Org (tým zabývající se podporou a rozvojem ComfyUI), Civitai (která není třeba představovat) a tým stojící za LAION (databází anotovaných obrazů, na které se z větší části trénují takové modely).

Takže v blízké budoucnosti budou nové vydání „Dílničky“ pravděpodobně orientovány na práci s modely, pro které již komunita vytvořila širokou sadu vylepšení a dalších nástrojů, — na „polovinu“ a „Oversize“. Možná, že čas vítězství SD3M ještě přijde, — ale dnes je obtížné i jen odhadovat, kdy přesně. Zatím si mohou zájemci stáhnout archiv s generacemi SD3M uvedenými v tomto článku (cyklogramy jsou integrovány přímo do PNG souborů; stačí přetáhnout obrázek na pracovní plochu ComfyUI z „Průzkumníka“ Windows, aby se reprodukoval celý postup a parametry generace) zde. Možná, že někdo z našich čtenářů dokáže dříve než pravidelní návštěvníci Reddit a Hugging Face objevit optimální způsob distribuce textu do tří polí nápovědy?

Nový článek: Praktikum o AI malování, část devátá: SD3M — "trojka" na trojku.

Materiály k tématu:

Stability AI změnila vedení a získala 80 milionů dolarů investic.

Představen AI generátor obrazů Stable Diffusion Medium, který potřebuje pouze grafickou kartu s 5 GB paměti.

Stability AI se utápí v dluzích a nyní hledá kupce.

AI startup Stability AI propustí 10 % zaměstnanců kvůli rostoucí konkurenci.

Byla oznámena Stable Diffusion 3.0 — AI pro kreslení změnila architekturu a naučila se psát.

Zdroj: 3dnews.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster