Během Velikonoc jsem si udělal volno a během něj jsem si začal hrát se Stable Diffusion. Jaké jsou moje první dojmy?
Do této chvíle jsem nic o generování obrázků pomocí AI nevěděl, ani bych nedokázal říct, jaký je rozdíl mezi DALL-E, Stable Diffusion, nebo Midjourney.
Procházel jsem si během volna Fireship videa, což je můj nový oblíbený kanál na YouTube. A tohleto mě namotivovalo zkusit si taky vygenerovat nějaké ty obrázky. Šel jsem na Midjourney Discord, zaregistroval se, ale napsalo mi to, že servery jsou přetížené a musím zaplatit, jestli něco chci.
To mě naštvalo. Otevřel jsem DiffusionBee, což je appka na macOS, která zjednodušuje použití Stable Diffusion. To je model, který je open source a když to člověk rozchodí na svém počítači, za nic neplatí. Už před časem jsem si DiffusionBee ze zvědavosti nainstaloval, ale neměl jsem čas to vyzkoušet.
Nedařilo se mi však vygenerovat žádné dobré věci, tak jsem se do toho trochu zavrtal a snažil se pochopit, co dělám blbě. No a dost mě to chytlo. Přidal jsem se do různých Discordů, subredditů, postahoval nějaké upravené modely, pochopil rozdíly mezi různými AI. V noci se mi o tom zdálo.
- Jak do DiffusionBee přidat vlastní modely
- Podcast: Stable Diffusion breaks the internet
- Reddity: r/ChatGPT, r/DiffusionBee, r/StableDiffusion
- Discordy: DiffusionBee, Craiyon, Midjourney (aktuálně největší Discord server na světě), OpenAI, PromptHero,
- Různé další modely a galerie: Crayon, Lexica, ArtHub, Civitai
- Většina lidí nepoužívá DiffusionBee, ale Stable Diffusion web UI, které je nejspíš promakanější. Nezkoušel jsem.
- Modely jde najít na HuggingFace. DiffusionBee podporuje zatím jen některé typy. Zajímavé modely: openjourney, portraitplus, Nitro-Diffusion, dreamlike-photoreal-2.0, modelshoot, vintedois-diffusion-v0-1
Většina promptů, které jde najít na internetu, je nepoužitelných bez dalších informací. Výsledek závisí na modelu a na jeho nastavení: kolik pixelů na kolik, počet kroků… Různé modely se chovají různě. Některé dávají lepší výsledky s pětislovnými zadáními, jiné je potřeba otesávat pomocí dvaceti a více slov a třeba i s nějakými číselnými váhami nebo závorkami. Takže samotný prompt vám je většinou k ničemu, maximálně může posloužit jako inspirace. K tomu ještě můžete využít i negativní prompt, který by měl nějaké věci vyloučit.
Nakonec jsem byl schopen generovat i celkem obstojné obrázky. Kvalit toho, co jde najít na internetu, to však nedosahuje. Stable Diffusion je sice zdarma, ale o to těžší je vymačkat z něj něco pořádného. Když to srovnám v podstatě jakýmkoliv online placeným modelem, např. Lexica, kam napíšu tři slova, dostanu co chci a graficky je to pecka, tak nekonečné vyšívání nad Stable Diffusion je někdy k uzoufání.
O to větší respekt u mě mají všichni, kdo z toho dokážou ty dobré věci dostat. Teď vidím, že v tom jsou hodiny a hodiny zkoušení.
A hlavně ten nedeterminismus! Dám prompt, vygeneruje to osmkrát něco jiného. Na stejný prompt. Jako vývojář nejsem zvyklý pracovat s něčím, kde měním vstup a výstup se sice nějak upravuje podle toho, ale někdy taky ne, a někdy si dokonce dělá úplně co chce. I magie v pohádkách a fantasy funguje tak, že pokud správně řeknu zaklínadlo, stane se něco, co mohu očekávat a předpovídat. Tohle je z 50 % prostě náhoda!
Časem jde oko trochu vytrénovat, najít společné rysy vygenerovaných obrázků a odtušit, jakým směrem to ladit. Výsledkem je však závislost, jakou si představuji, že mají lidi na automatech. Tahám za páčku, tahám tahám a toužím po třech citróncích. Ještě jeden pokus. Ještě. A ještě jeden, teď už to musí vyjít…
Taky jsem se přes Velikonoce hrabal ve starých fotkách a zkusil jsem upscalovat nějaké ze starých mobilů. Některé ty fotky jsou menší než 640×480px a na mojí retině vypadají jako malý obdélníček uprostřed obrazovky. Objevil jsem následující:
- jpgHD, který je online a nad rámec dema za peníze.
- upscayl, který je open source a jde nainstalovat a použít lokálně.
Ten druhý jsem zkusil a na to, co jsem do toho dával, to mělo celkem obstojné výsledky. Možná by to ale šlo i líp. Možná by k tomu šlo použít i to Stable Diffusion! Jenže to jsem zatím nezkoumal.
Pokud jste ve zkoušení dál než já, dejte vědět nějaké tipy! A jestli jste ještě Stable Diffusion nezkoušeli, třeba vám tenhle článek pomůže začít.