Stable Diffusion

**Stable Diffusion** on syväoppimiseen perustuva tekoälyohjelmisto, joka tuottaa kuvia tekstimuotoisesta kuvauksesta. Ohjelmisto julkaistiin syyskuussa 2022.

Ohjelmiston on kehittänyt Münchenin yliopiston  CompVis-tutkimusryhmä professori Björn Ommerin johdolla.
SD:n jatkokehitysversio on kesäkuussa 2023 julkaistu SDXL, joka on yhteensopiva vanhemman version työkalujen kanssa.
21. marraskuuta 2023 julkaistiin Stable Video Diffusion, joka voi luoda lyhyitä videoita kuvista.

Muista vastaavista tekoälyohjelmistoista Stable Diffusion eroaa siten, että se ei vaadi supertietokonetta ja on ilmaiseksi ladattavissa ja käytettävissä kotikoneella. Ohjelmiston käyttämä tekoälymalli on koulutettu miljardeilla kuvilla ymmärtämään esim. miltä auto näyttää tai miltä tietty taidetyyli näyttää. Malli on julkaistu CreativeML Open RAIL-M -lisenssillä käytettäväksi. Toisista ohjelmistoista Stable Diffusion eroaa myös siten että siitä ei ole sensuroitu sopimattomia termejä, alastomuutta tai julkisuuden henkilöiden kuvia.

Stable Diffusion on ollut myöhemmin laajan käyttäjien jatkokehityksen kohteena.
Ohjelmistoon on lisäosia, kuten VAE:t (Variable Auto Encoder), joka on malli, joka parantaa kuvan laatua tekoälypohjaisella jälkikäsittelyllä.
Alkuperäinen SD käytti yleisesti `vae-ft-mse-840000-ema-pruned`-VAE:a korjaamaan kuvissa olleita ongelmia ("vertavuotavat silmät").
LoRA:t (Low-Rank Adaptation of Large Language Models) ovat puolestaan täsmäkoulutettuja malleja, joita voidaan käyttää SD:n varsinaisen ison mallin päällä. Jos käyttäjä haluaisi esimerkiksi laadukkaita kuvia Pokémoneista, voidaan malli täsmäkouluttaa pokémonien kuvilla tarvitsematta luoda kokonaista mallia.
Lisämalleja erityisiin tarkoituksiin jaetaan esimerkiksi civitai.com-sivustolla.

Ohjelmiston käyttö vaatii 10 Gt näyttömuistia ja CUDA-laskentaa tukevan näytönohjaimen, mitä käytännössä tarkoittaa Nvidia RTX -sarjan näytönohjaimia.
Ohjelmiston julkaisuaikaan tällainen laitteisto maksaa reilusti alle 2000 euroa.

Ohjelmistolle on myös tehty asennuspaketteja (kuten Easy Diffusion), jolla sen saa asennettua kotikoneelle yhdestä paketista muutaman kymmenen gigatavun latauksella. Paketti myös päivittää itsensä käynnistettäessä.
Ohjelmistolle on myös tehty web-selaimessa toimivia käyttöliittymiä kuten ComfyUI ja AUTOMATIC1111 (ja AUTOMATIC1111:n forkkauksina mm. Anapnoe UX ja Vladmandic).

## Toiminta
Diffuusiomalli perustuu yksinkertaistaen siihen, että koulutuskuvaan lisätään Gaussin kohinaa, kunnes kuva on kokonaisuudessaan kohinaa. Nyt mallin avulla ajetaan tämä prosessi takaperin, ja tekoäly luo yksityiskohtia, joita olisi alkuperäisessä kuvassa. Näin satunnaista kohinaa käytetään siemenenä uusien kuvien luomiseen.
Diffuusiomalli on perimmiltään parametrisoitu Markovin ketju.

Stable Diffusion on koulutettu LAIONin (Large-scale Artificial Intelligence Open Network) keräämällä datasetillä, jonka Common Crawl -projekti on kerännyt internetistä. LAIONin tietokanta sisältää viisi miljardia kuvaa tekstimuotoisine kuvauksineen.

Mallin koulutetukseen käytettiin alun perin 256 kappaletta NVidia A100 -GPU:ta Amazonin pilvessä. Tämä vei 150&nbsp;000 tuntia koneaikaa, jonka kustannus 600&nbsp;000 US-dollaria.
Projektia sponsoroi Lontoossa ja Palo Altossa toimiva startup Stability AI. Mallin luominen on ongelmallista kotikäyttäjille, sillä se vaatii 30 Gt muistia, jota ei ole kotikäyttöön myytävissä näytönohjaimissa. Omia malleja on silti tehty, kuten 4chanin waifu-diffusion, joka on optimoitu anime-tyylisille kuville.

Alun perin malli koulutettiin 512×512-resoluution kuvilla, mikä rajoittaa luotavien kuvien laatua. 2.0-julkaisu pystyy tuottamaan natiivisti myös 768×768-kokoisia kuvia. Tämä versio sisältää myös upscale-filtterin, joka skaalaa kuvia suurempaan kokoon jopa 2048x2048-resoluutioon.

## Esimerkkejä

File:Stable Diffusion woman in skirt suit, office, brown hair, hair in a bun, glasses, secretary.jpg | sihteeri
File:Stable diffusion - two red guards smoking in the street.jpg | punakaartilaiset
File:Algorithmically-generated AI-generated artwork of a cyberpunk cityscape.png | cyberpunk-tyylinen kaupunkimaisema
File:Stable Diffusion - In Spain - 1.png | katu Espanjassa
File:AI generated woman with extra legs.jpg | yleinen ongelma on raajojen ja kasvojen luominen


## Katso myös
* DALL-E
* Midjourney

## Lähteet

## Aiheesta muualla
* Easy Diffusion -asennuspaketti
* Stability Matrix -asennus- ja päivityspaketti
* How to use models