
Taustaa kuvamallin tekoon
2025/09/15
Stable Diffusionin perusasetukset Colabissa
2025/09/29Kahdessa aiemmassa kirjoituksessani (Tekoäly osana luovaa työtä ja Taustaa kuvamallin tekoon) käsittelin, mitä kuvamallit ovat ja millaisia kysymyksiä niiden taustalla pyörii. Nyt siirrytään teoriasta käytäntöön: miltä mallien käyttö oikeasti näyttää, ja mitä työkaluja siihen tarvitaan.
Hugging Face ja Colab
Mallien kanssa työskennellessä nousee usein esiin kaksi nimeä: Hugging Face ja Google Colab.
Hugging Facesta löytyy valmiita malleja, kokeiltavia demoja ja myös paikka minne tallentaa oma malli. Hugging Facessa voi ajaa monia malleja suoraan selaimessa ilman mitään asennuksia. Ja kun aikanaan toivottavasti julkaisen oman mallin, Hugging Face toimii sen jakelukanavana.
Google Colab on pilvipalvelu, jossa saa käyttöönsä ilmaisen GPU-koneen pilvestä, joten voi ajaa malleja ilman omaa tehokasta näytönohjainta. Colabissa voi suorittaa koodia ja kouluttaa malleja omalla datalla.
Mallin tekoon tarvitaan kolme asiaa:
- Data eli kuvat, joilla malli opetetaan.
- Koulutusskripti, näitä löytyy valmiina Hugging Facesta, ja niitä voi ajaa Colabissa.
- Tallennuspaikka, joka on yleensä Hugging Face. Täältä valmis malli löytyy myös muiden testattavaksi.
Vaikka Google Colabin ja Hugging Facen yhdistelmä ei ole se helpoin tie, niin se on sekä edullinen että avoin tapa kokeilla tekoälymalleja. Colabin ilmainen GPU riittää peruskokeiluihin, ja tarvittaessa voin laajentaa maksulliseen versioon. Voin itse valita, mitä mallia käytän – esimerkiksi SD 1.5, 2.1 tai SDXL – ja säätää parametreja, kuten resoluutiota ja negatiivisia kehotteita. Halutessani voin ottaa käyttöön myös lisäosia kuten LoRA-tyylejä. Hugging Face tarjoaa valtavan mallikirjaston ja avoimen ympäristön, jossa näen, mitä koodi tekee ja millä datalla malli on koulutettu. Saan mahdollisuuden oppia miten generatiivinen tekoäly toimii konepellin alla.
Hugging Face demo
Helpoin tapa aloittaa on valita jokin valmiista demoista. Annetaan tekstikehote ja katsotaan millainen kuva siitä syntyy. Useimmille tämä vaihe on tuttua monista muista kuvia luovista palveluista.
Tämä Stable Diffusion -demo antaa saman mahdollisuuden. Ei vaadi koodia, kirjautumista tai asennuksia.
Demon asetuksissa ja lisäasetuksissa (Advanced) on kuitenkin pari kiinnostavaa nappulaa:
- Guidance scale säätää, kuinka tiukasti malli seuraa kehotetta. Pieni arvo → luovempaa, arvaamattomampaa. Suuri arvo → tarkempi, mutta joskus jäykempi lopputulos. Testailemalla selviää, mutta oletus luku (tässä 9) on yleensä paras.
- Negative prompt (esim. low quality, blurry, ugly) kertovat mallille, mitä EI haluta kuvaan. Näiden avulla voi parantaa laatua.
Alla esimerkki kehotteesta ja tuloksena saaduista neljästä kuvasta. Yksittäistä kuvaa klikkaamalla voi tarkastella sitä lähemmin ja halutessaan ladata kuvan. Jos kuvat eivät miellytä, kannattaa kehotetta säätää. Tekstiä tuottavat tekoälyt, kuten ChatGPT ovat hyviä auttamaan kehotteen kirjoittamisessa.

Colab käytännössä
Hugging Face tarjoaa myös omia ‘virallisia’ Colab-notebookeja. Niissä on pelkkiä perusmalleja, joita voi ajaa ilman lisäosia (LoRA, ControlNet, WebUI). Ne ovat avoimia ja kevyitä, ja niistä on helppo aloittaa ilman ylimääräistä koodia.
Hugging Face -mallien ohjeet tulevat usein Notebook-muodossa, koska silloin käyttäjä voi avata tiedoston Colabissa, klikata solut läpi ja nähdä heti tulokset.
Kokeillaan yhtä malleista. Avaa Stable Diffusion with Diffusers
Kun avaat tai varsinkin kun suoritat koodia Colab-notebookissa saatat nähdä varoituksen “This notebook was not authored by Google”. Tämä tarkoittaa sitä, että koodi ei ole Googlen omaa, vaan yhteisön tekemää. Periaatteessa tulisi tarkistaa lähde ja lukea koodi läpi.
Onko tämän nimenomaisen Colabin käyttäminen turvallista?
Kyllä. Tämä on Hugging Facen virallinen Diffusers-esimerkki, joka ajetaan vain sinun Colab-sessiossasi. Se ei asenna mitään koneellesi, eikä sillä ole pääsyä mihinkään, ellet erikseen anna lupaa. Notebookin kaikki solut näkyvät, voit siis lukea ennen ajoa, mitä tapahtuu. Emme myöskään yhdistä Colabiin omaa Google Driveasi, joten notebook ei näe tiedostojasi.
Aloitetaan homma käynnistämällä GPU
GPU on grafiikkasuoritin ja rakennettu tekemään tuhansia pieniä laskuja yhtä aikaa ja juuri sitä tekoäly tarvitsee. Ilman GPU:ta esimerkiksi oman mallin koulutus voisi kestää viikkoja. GPU:lla saman saa puristettua tunneissa tai päivissä.
- Valitse sivun ylälaidan valikosta Suorituspalvelu -> Muuta suorituspalvelun tyyppiä.
- Varmista että aukeavassa ikkunassa on alla olevan kuvan mukaiset valinnat.
- Paina lopuksi Tallenna.

Suoritetaan ensimmäiset solut
Alun Setup-osiossa on kolme suoritettavaa kohtaa. Tunnistat ne ympärillä olevista kehyksistä ja vasemmassa reunassa näkyvistä hakasuluistal.

import torch Tämä tarkistaa, että PyTorch on käytössä. PyTorch on avoimen lähdekoodin ohjelmistokirjasto, jota käytetään koneoppimisen ja tekoälymallien rakentamiseen ja ajamiseen. Sinun ei tarvitse tehdä mitään, se haetaan automaattisesti.
if torch.cuda.is_available(): ... !nvidia-smi Kertoo, mikä GPU sinulle on annettu.
!pip install diffusers==0.11.1 ... Tärkein kohta. Asentaa tarvittavat kirjastot (diffusers, transformers, scipy, ftfy, accelerate).
Kun viet hiiren kunkin ensimmäisen rivin kohdalle (tyhjälle alueelle), ilmestyy siihen Käynnistä kuvake:

Paina nyt Suorita solu jokaisen kolmen kohdalla yksi kerrallaan. Järjestys on ylhäältä alaspäin. Jos ajo sujuu hyvin, ilmestyy kaikkien kohdalle lopuksi pieni vihreä väkänen.
Seuraava vaihe: Stable Diffusion Pipeline
Stable Diffusion Pipeline on kokonainen “valmis putki”, jonka avulla voi generoida kuvia tekstistä vain muutamalla koodirivillä.
Kuten aiemminkin, käynnistä kaikki kolme solua yksi kerrallaan ylhäältä alaspäin Lopuksi tulet neljänteen, And we are ready to generate images, jossa kuvasi generoidaan.
Ensimmäisessä solussa korjataan joidenkin käyttöjärjestelmien ongelma, missä PyTorchilla on ollut bugeja mallien latauksessa.
Toisessa otetaan pipeline käyttöön. Se lataa kaikki mallin osat valmiiksi koulutetuilla ‘painoilla’. Tässä notebookissa käytetään Stable Diffusion v1.4 -mallia (CompVis/stable-diffusion-v1-4), mutta tarjolla on myös muita versioita. Mallia ladatessa (from_pretrained) määritellään mallin versio, mutta lisäksi voidaan antaa joitakin lisäasetuksia.
Kolmannessa solussa siirretään pipeline näytönohjaimelle (GPU:lle), jotta kuvan generointi on nopeampaa
Lopuksi ollaankin valmiita luomaan kuva kohdasta “And we are ready to generate images”

Hmm :D. Parempiakin on nähty!
Vaihdetaan Stable Diffusion mallia. Voit kokeilla näillä:
runwayml/stable-diffusion-v1-5
stabilityai/stable-diffusion-2-1-base
stabilityai/stable-diffusion-2-1 (tämä osaa tuottaa kuvia 768×768 resoluutiolla, kun muut toimivat 512×512 resoluutiossa).
Parhaan tuloksen sain stabilityai/stable-diffusion-2-1 mallilla. Alla olevassa kuvassa esimerkki miten vaihdoin mallia (siirry soluun kuvan yläpuolelle) kirjoittamalla/kopioimalla entisen tilalle uuden polun.

Kokeilin myös jättää torch_dtype=torch.float16 koodinpätkän pois, jolloin malli käyttää täyttä tarkkuutta (float32). Se kuitenkin hidasti kuvan generointia liikaa, eli en suosittele. 16 on optimoitu Colabille ja ns normi tietokoneille.
Huomaa, että voit tietysti korvata kehotteen omallakin. Tässä kokeillaan chihu kehotetta, ja lisäsin koodiin myös negatiiviset määreet:
prompt = ”A cute black short-haired chihuahua chilling by the pool, wearing sunglasses, palm trees in the background”
neg = ”low quality, blurry, ugly, watermark, text, cropped”


Huomioi, että jokainen solu on kuin pieni ohjelma, eli jos muutat koodia solussa, muutos ei astu voimaan ennen kuin ajat, eli suoritat sen uudelleen. Uusi koodi korvaa edellisen version.
Kohdatut ongelmat
Mallin ajaminen keskeytyi monta kertaa muutoksia tehdessä. Tuli aikakatkaisuja tai itse lisätty koodi sotki prosessin, eli siinä oli virheitä. Jokin solu unohtui välillä käynnistää. Itsellä yleensä unohtui ajaa etenkin

Alusta aloittaminen, eli selainsivun päivitys ja kaikkien solujen uudelleen käynnistäminen korjasi ongelmat aina, jos mikään muu ei auttanut. Koodia tulkitessa ja muuttaessa ChatGPT:stä oli korvaamaton apu.
Huh! Jätetään Colabin tutkiminen tällä erää, vaikka muistiosta (Notebookista) löytyy vielä paljon kohtia kuvanluonti solun alapuolelta. Uutta asiaa tuli valtavasti, jatketaan tästä seuraavassa osassa!




