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, z . 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.

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 (vyvinutému OpenAI a používanému mimo jiné projektem DALL-E) – jeho kód je také otevřený, ale databáze, na které je trénován, , 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 a ) 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 .
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 (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ů) , známá jako SD3 8B. U SDXL 1.0, připomeňme, — , nicméně SD3M, podle tvrzení vývojářů, je . 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“.

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 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ů 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í: — 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 .
Tráva k dobrému nepovede
Krátce poté se komunita shodla na tom, že . 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ů, 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.

Pokud jde o proslulou trávu, která se doslova během několika hodin stala memem , 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 , 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, , ale její váhy zůstávají skryty) bylo důsledkem snahy současného vedení o bezpečnost — , formulovanými již v březnu tohoto roku jako . 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ě, : 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ě.

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 , nadšenci AI kreslení přivítali zveřejnění váh SD3M 12. června s velkým nadšením: . 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 . 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 .
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, :
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 () — a tím se principiálně liší od dřívějších vývojů Stability AI (a nejen jí), které se opírají o ‚Dílna‘ není místem pro hloubkové studium rozdílu mezi těmito přístupy k AI generaci obrázků; řekněme pouze, že , 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é 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 ( a jeden T5-XXL — ‚T5‘, mimochodem, od ) — a navíc, nejsou povinni pracovat se stejným výchozím textem.

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 . 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 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é , 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, , 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.

Nainstalovat ComfyUI v přenosné verzi pro Windows je velmi jednoduché: po stažení příslušného ZIP archivu 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.

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í. (i když jen v prvním přiblížení) "těstovinového monstra."

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 (, který má mimo jiné za úkol urychlit práci generativních AI modelů. V dodávce přenosné verze ComfyUI není zahrnut, , 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í.

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 . 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ý , 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.

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í).

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.

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

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.

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“).

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.

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 , — 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í.

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 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 . Což samozřejmě není pravda, ale v každém případě je třeba tyto podněty aplikovat úplně jinak, . 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) 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 , 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.

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ž ); 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, , — 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 , 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 (). Situace Stability AI jako obchodní struktury je dnes otevřeně nestabilní; mnozí zklamaní — 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.

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 . 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) . 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?

Materiály k tématu:
.
.
.
.
.
Zdroj: 3dnews.ru
