Opas tekstipohjaiseen kuvangenerointiin asiasisällöissä

Osa 1. Miten tekstistä tehdään kuvia?

Vertti Luostarinen
11 min readJun 11, 2021

Nykyisin kenen tahansa on mahdollista kuvittaa sisältöjä tekoälyn avulla. Tässä kolmiosaisessa oppassa perehdytään siihen, mitä iloa ja harmia uudella, tekstiä kuviksi tahkoavalla teknologialla voisi olla asiasisältöjen parissa työskentelevälle. Hankkeen on rahoittanut Media-alan tutkimussäätiö, ja se on tehty yhteistyössä Alma Median kanssa.

Oppaan ensimmäisessä osassa käyn läpi, mitä tekstipohjainen kuvangenerointi on ja miten siihen pääsee käsiksi.

Johdanto

Tein tätä projektia varten kuvitusta Tivi-lehden kesäkuun 2021 numeroon tekoälyn avulla.

”Tähän pitää keksiä joku kuva.”

Tilanne lienee tuttu jokaiselle asiasisältöjen parissa työskentelevälle. Teksti on kasassa, mutta tapa visualisoida se puuttuu. Kuvapankkikuvan tai muun täytemateriaalin löytäminen ei ole aina niin helppo prosessi kuin kuvittelisi. ”Joku kuva” löytyy aina, mutta entäpä kuva, joka jollakin tavalla rikastaisi kokonaisuutta, kommentoisi sitä, toisi siihen jotain uutta? Se on heti vaikeampaa.

New York Timesissa työskentelevän Mikko Takkusen mukaan ”’nollasisällöstä’ puhutaan, kun some-julkaisuun liitetään vain ’joku kuva’ kuvitukseksi.” Itse törmäsin jokin aika sitten verkkojulkaisussa bitcoinia käsittelevään artikkeliin, jota somisti kuvapankkikuva tukusta seteleitä. Tuntui absurdilta, että kun jutun aiheena oli siirtyminen pois fyysisestä rahasta, loi kuvitus päinvastaisen mielikuvan. Tässä kohtaa ei mielestäni puhuta edes nollasisällöstä, vaan negatiivisesta sisällöstä, joka kiinnittää väärällä tavalla huomiota itseensä ja syö tekstin journalistista uskottavuutta.

Elämme aikaa, jolloin melkein kaikkien sisältöjen on pakko olla tavalla tai toisella kuvitettuja. Kun uutisointi siirtyy yhä enemmän visuaalispainotteisille alustoille, paine tuottaa mielenkiintoista kuvitusta kasvaa. Olenkin joskus haaveillut, että voisin vain ajatella, minkälaisen kuvan tahdon, ja kone osaisi tehdä sen minulle. Tällainen fantasia ei ole vielä toteutunut, mutta askelia sitä kohti on otettu.

Tekstipohjaisella kuvangeneroinnilla tarkoitetaan nimensä mukaisesti prosessia, jossa tekstisyötteen pohjalta tuotetaan kuvia. Ihminen syöttää lauseen ja kone sylkäisee ulos kuvia tai videota. Pitkään tällainen teknologia oli hyvin heikkolaatuista ja kapea-alaista; tekstin ja sen pohjalta tuotettujen kuvien yhteys oli epämääräinen. Tilanne on kuitenkin muuttunut hiljattain.

Yhdysvaltalainen tekoälyfirma OpenAI julkaisi vuoden 2021 alussa blogipostauksen, jossa se kertoo kehittämästään Dall-E-tekoälystä. Järjestelmä kykenee muokkaamaan englanninkielisiä lauseita kuviksi ennennäkemättömällä tarkkuudella. Dall-E ei ole vielä saatavilla, mutta samaan teknologiaan pohjautuvia ilmaisia sovellutuksia on tarjolla paljon.

Dall-E:n ja sen kaltaisten järjestelmien ansiosta tekoälyllä on nykyisin potentiaalia olla paljon osuvampi vaikkapa mainitsemani bitcoin-esimerkin kohdalla. Niin yksinkertaista se ei kuitenkaan ole, että toimittaja voi syöttää tekstin koneeseen ja kone kuvittaa sen automaattisesti. Emme ole siinä pisteessä aivan vielä, eikä meidän toisaalta tarvitsekaan olla. Automaatio ei ole arvokasta itsessään.

Tässä oppaassa hahmottamani prosessi painottaa integraatiota, ei automaatiota. Kyseessä ei ole inhimillisen tekijän eliminointi, vaan joissakin tapauksissa jopa ehkä inhimillisen otteen palauttaminen sisältöön, josta se muutoin jää uupumaan. Kun puhutaan nollasisältöisistä tai negatiivissisältöisistä kuvista, mielestäni mitään ei menetetä, kun siirrymme käyttämään koneen luomia kuvia. Päinvastoin tekstin tuottavan ihmisen omat visualisointivalinnat korostuvat.

Millainen syöte sitten tuottaisi halutunlaisen kuvan ja minkälaisia algoritmeja kannattaisi käyttää? Näihin kysymyksiin pyrin tällä oppaalla pureutumaan. Käyn käytännön esimerkkien avulla läpi, mitä hyötyä tekstipohjaisesta kuvangeneroinnista voisi nyt ja tulevaisuudessa olla asiasisältöjen parissa työskentelevälle. Mitä teknisiä haasteita prosessiin liittyy? Minkälaisten kuvien generointi on mahdollista ja millaisten ei?

En itse osaa koodata juuri lainkaan, enkä aiokaan tässä oppaassa pureutua siihen, miten tekoäly toimii, vaan siihen, miten sitä käytetään. Ei valokuvaajankaan tarvitse työtään tehdäkseen osata koodata kuvanpakkausalgoritmeja tai kirjoittajan rakentaa näppäimistöjä. Avaan tekoälyn toimintaperiaatteita vain sen verran kuin katson olevan välttämätöntä niitä käyttävälle sisällöntuottajalle. Tekoälyn asiantuntijoiden näkökulmasta syyllistyn varmasti yleistyksiin ja yliyksinkertaistuksiin.

Tekoälyn hyödyntäminen on nykyään helppoa ilman koodaamisosaamista tai tuhansien eurojen tietokoneita. Kun teknologia on tullut kaikkien saataville, myös huoli sen potentiaalisesta väärinkäytöstä on lisääntynyt. Siksi aion myös käsitellä mahdollisia eettisiä sudenkuoppia — miten tekstipohjaista kuvangenerointia voi tietoisesti tai tiedostamattaan väärinkäyttää ja minkälaisia moraalisia vaikutuksia sillä voi olla koko alalle?

Synteettiseksi mediaksi kutsutaan kaikkea sellaista mediaa, joka on luotu tai jota on muokattu tekoälyn avulla. Käsitteen alle kuuluvat siis niin deepfake-tyyliset snapchat-filtterit kuin vaikkapa uutisrobotin tuottamat jutut. Synteettisestä mediasta on tullut vähitellen valtavirtaa, ja tekstipohjainen kuvangenerointi tulee olemaan osa tätä muutosta.

Emme ole vielä siinä tilanteessa, jossa kuka tahansa voisi napinpainalluksella luoda uskottavan kuvan Kim Jong-unista pitämässä kanteleresitaalia Helsingin Musiikkitalossa, mutta se aika voi koittaa nopeammin kuin uskommekaan. Siinä kohtaa oikeaa asiasisältöä tekevien pitää olla vähintäänkin tietoisia kuvangenerointitekniikan toimintaperiaatteista. Tästä oppaasta voikin olla hyötyä myös synteettisen median tunnistamisessa ja siten myös sen väärinkäytön hillinnässä.

Käytän oppaassa esimerkkinä kuvia, joita generoin Tivi-lehden kesäkuun 2021 numeroon (maksumuuri). Avaan työskentelyprosessiani ja tekemiäni päätöksiä niiden parissa sekä sitä, minkälaisiin haasteisiin törmäsin.

Teknologia menee jatkuvasti eteenpäin ja monet kuvailemani käytännön ongelmat voivat ratketa, kun markkinoille tulee kuvangenerointia tarjoavia ohjelmistoja. Mutta vaikka itse työnkulku saattaakin muuttua, peruskysymykset synteettisen median mahdollisuuksista ja haasteista tuskin häviävät mihinkään.

Projektissa on ollut paljon itselleni uutta ja odottamatonta, mutta se toisaalta on ollut koko prosessin tarkoitus. Olen aiemmin tutkinut tekoälyn hyödyntämistä fiktiosisältöjen käsikirjoittamisessa, joten olen tässä hankkeessa tehnyt loikan teksteistä kuviin ja fiktiosta faktaan. Jos jotain tosin olen tämän hankkeen parissa ymmärtänyt, niin sen, että nuo käsitteet ovat häilyväisiä, monesti niin hyvässä kuin pahassakin. Tekoäly ei tee eroa valheen ja totuuden välille, joten rajan vetäminen jää ihmisen vastuulle.

Miten tekstistä tehdään kuvia?

Tekoäly on käsitteenä ongelmallinen, sillä se, mitä me pidämme älykkäänä, on muuttunut aikojen saatossa. Nyrkkisääntönä voi pitää, että kun jostain teknologiasta tulee niin arkista, että emme edes tiedosta sen olemassaoloa, se ei ole enää älykästä. Tällöin periytyy paitsi itse termi tekoäly, myös termin mukanaan tuoma mystisyyden aura jollekin uudelle teknologialle.

Tällä hetkellä tekoäly merkitsee meille koneoppimista. Koneoppimisella tarkoitetaan järjestelmiä, jotka osaavat kehittyä paremmiksi saamansa informaation perusteella. Kun puhutaan tekoälyjen ”kouluttamisesta”, puhutaan prosessista, jossa tekoälylle syötetään dataa ja se opettelee itsenäisesti tekemään sille annettua tehtävää tuon datan perusteella.

Tässä oppaan osiossa käyn läpi vaihe vaiheelta, mitä kuvangenerointiin käyttämäni koneoppimisjärjestelmät ovat, miten ne toimivat ja miten niitä pyöritetään. Käyn läpi melko tiiviisti Dall-E:n teknisiä puolia. Lisää informaatiota siitä, miten se toimii, löytyy täältä. Tekoälyn perusteista on kirjoitettu viime aikoina paljon. Jos tahdot ensin selventää itsellesi esimerkiksi mitä on tekoäly, mitä on koodi tai mitä tarkoitetaan koodin ”pyörittämisellä”, suosittelen perehtymään esimerkiksi opinnäytetyöni teoriaosioon tai Aallon ilmaiseen verkkokurssiin aiheesta.

Tekoälykäsitteistön popularisointi on vaikeaa, sillä monet käsitteet, kuten ”oppiminen” tarkoittavat ihmistieteissä aivan toisia asioita. Tekoälyä rakentaessa on haettu inspiraatiota ihmisaivojen tiedonkäsittelystä, mutta niiden toimintamekanismit ovat täysin erilaiset. Kun asioita alkaa ilmaista tilastollisten yhtälöiden sijaan sanoin, eksaktius kärsii väistämättä. Toisinaan tuntuu jopa siltä, että mitä yksityiskohtaisemmin jonkin asian selittää, sitä vaikeampaa sitä on ymmärtää.

Onneksi näitä järjestelmiä voi käyttää ymmärtämättä niiden toimintaa syvällisesti. Jollekulle voi olla helpompaa avata selaimessaan Colaboratory-työkirja, jolla voi pyörittää koodia, ottaa ulos pari kuvaa ja oppia käytännön kautta, mistä jutussa on kyse. Lopulta käyttäjän kannalta kyse ei ole sen monimutkaisemmasta prosessista kuin työkirjan ohjeiden seuraamisesta vaihe vaiheelta. Kaiken sen tietäminen, mitä selitän alla, on kuitenkin plussaa.

Dall-E ja sen avoimet versiot

Tekoälyfirma OpenAI julkaisi artikkelin Dall-E-algoritmistaan vuoden 2021 alussa. Artikkelin perusteella Dall-E osaa tuottaa kuvia milteipä mistä tahansa tekstisyötteestä, joka sille annetaan. Se pystyy esimerkiksi generoimaan todella uskottavaa grafiikkaa tai yhdistelemään muotoja yllättävillä tavoilla.

Kuuluisin Dall-E:n tuottamista kuvista lienee avokadotuoli. Sen tuottamiseksi on Dall-E:n tekstikenttään kirjoitettu: ”An armchair in the shape of an avocado. An armchair imitating an avocado.”

Dall-E:n mullistavuus verrattuna aikaisempiin malleihin perustuu entistä tehokkaampaan ja älykkäämpään datakompressioon sekä parempaan yleistyvyyteen, eli kykyyn soveltua erilaisiin tehtäviin laaja-alaisemmin. Dall-E perustuu koneoppimiseen, eli siihen, että se oppii vetämään yhteyksiä datan välille itsenäisesti. Tämän takia sitä on pitänyt kouluttaa valtavalla määrällä dataa; Dall-E:lle on ”näytetty” miljoonia kuvia ja tekstejä internetistä. Kouluttamisprosessi ei ole niin yksinkertaista kuin miltä se kuulostaa ja vaatii paljon resursseja. Dall-E:n kaltaisten järjestelmien koulutus maksaa miljoonia euroja. Tällaisia tekoälymalleja ei siis niin vain kotioloissa luoda, ja tällä hetkellä kilpailijoita on vähän. Niin tieteellistä, taiteellista kuin kaupallistakin kysyntää Dall-E:ta kohtaan on valtavasti, mutta ei ole tiedossa, millä aikataululla ja missä laajuudessa yritys avaa sitä laajemman yleisön käyttöön. Kuten edeltäjänsä, myös Dall-E lopulta julkaistaan kaupallisena palveluna, jonka implementaatio-oikeutta OpenAI kauppaa harvoille valituille. Tällä hetkellä OpenAI tarjoaa nähtäville vain valikoituja esimerkkejä omalla sivullaan.

Vaikka Dall-E:n tarkka toimintaperiaate on yhä salaisuus, palasia siitä, mistä se rakentuu, on julkaistu vapaasti hyödynnettäviksi. Niiden pohjalta aktiiviset harrastajat, tutkijat ja taiteilijat internetissä ovat kasanneet omia tekstipohjaisia kuvangenerointisovellutuksiaan. Koneoppimismallien teho on paljolti kiinni siitä, kuinka suurella datamäärällä niitä koulutetaan, joten harrastajien resursseilla ne jäävät suoritusteholtaan Dall-E:n virallisen version varjoon. Niidenkin kanssa työskentelystä voi kuitenkin oppia paljon siitä, mitä tulevalta voi odottaa ja ennen kaikkea siitä, mikä kaikki nykyään on jo mahdollista. Niille kaikille on yhteistä toinen tämän vuoden alussa julkaistu OpenAI:n keksintö, CLIP.

Prosessi tekstistä kuviksi. Mikään malli ei hyödynnä kaikkia näitä työkaluja, vaan jokainen miksaa niitä eri tavalla. Osa avoimen lähdekoodin sovellutuksista käyttää esimerkiksi VAE:ta, mutta ei GANia. Yritän parhaani mukaan alla selittää, mitä jokainen näistä termeistä tarkoittaa, ja mitä ne tekevät, mutta kannattaa muistaa, että se, miten eri komponentteja on sovellettu, vaihtelee työkirjasta toiseen. Myös siinä, mihin eri komponentteja hyödynnetään, on eroja; CLIP toimii Dall-E:ssa eräänlaisena kuvien jälkiseulojana, kun taas avoimen lähdekoodin sovellutuksissa sitä käytetään ohjaamaan kuvien generointia.

CLIP (Contrastive Language-Image Pre-Training) on vapaasti saatavilla oleva kuvantunnistusjärjestelmä. Se osaa kertoa, miten hyvin jokin kuva ja teksti vastaavat toisiaan, joten sitä voidaan käyttää ohjaamaan generointia suuntaan, jossa se vastaa paremmin tekstisyötettä. Se on koulutettu raapimalla valtava määrä aineistoa internetistä, esimerkiksi blogipostausten kuvia ja kuvatekstejä. Se kykenee ”tunnistamaan” kuvia paljon laaja-alaisemmin kuin sitä edeltävät vastaavat mallit. Siinä missä aikaisemmat algoritmit piti kouluttaa tunnistamaan erikseen vaikkapa pelkkiä kaloja, osaa CLIP arvioida melkein aiheesta kuin aiheesta olevien kuvien ja tekstien yhteyttä.

OpenAI on antanut vapaasti jakoon myös Dall-E:n VAE-komponentin (variational autoencoder), joka tiivistää kuvia pikseleistä tokeneiksi, jotta niitä voidaan käsitellä datana tehokkaammin ja rinnastaa teksteihin helpommin. Miljardien ja taas miljardien pikseleiden sijaan voidaan siis pyöritellä abstrakteja merkkijonoja, jotka jälleen toisessa päässä voidaan purkaa ulos uudestaan kuviksi. Jotkin vapaasti saatavilla olevat sovellutukset hyödyntävät VAE:ta, mutta eivät kaikki.

Tokenit menevät niin kutsuttuun transformer-malliin, joka osaa ennustaa seuraavia merkkejä sille annetussa jonossa. Merkkijonoa täydentämällä se ”keksii” uusia kuvia. Tätä ennustamisprosessia kutsutaan generoinniksi. Kyseessä on samanlainen Generative Pre-Trained Transformer (GPT) -malli, joka löytyy myös OpenAI:n kielijärjestelmistä GPT-2:sta ja GPT-3:sta. Sanojen ja kirjainten ennustamisen sijaan se on tällä kertaa laitettu ennustamaan kuvatokeneita.

Avoimen lähdekoodin versio kuva-GPT:stä löytyy, mutta se kalpenee Dall-E:ssa käytetyn rinnalla. Siksi jotkin avoimen lähdekoodin kehittäjät ovat soveltaneet muita, vapaasti saatavilla olevia kuvangenerointalgoritmeja. Niistä suosituimpia tällä hetkellä ovat laajempi BigGAN ja suppeampi StyleGAN. GANit eli general adversarial networkit toimivat siten, että ne nimensä mukaisesti kinaavat itsensä kanssa. Toinen puoli algoritmista tuottaa kuvia ja toinen yrittää tunnistaa feikkejä. Lopulta parhaat kuvat läpäisevät seulan. Tässä tutkimuksessa kokeilen sekä GANeja että Dall-E:n VAE:ta hyödyntäviä työkirjoja ja pureudun niiden eroihin.

Kun VAE ja CLIP, GPT, GAN tai jokin vastaava kuvia generoiva algoritmi yhdistetään, saadaan järjestelmä, jolla kuviengenerointia voidaan ohjata haluttuun suuntaan tekstisyötteen avulla. Niin kuvien sisältöä kuin tyyliä voidaan ohjata tekstin avulla, mutta nimenomaan ohjata, ei sanella. Tämän takia puhumme tekstipohjaisesta generoinnista, sillä lopulta algoritmi tekee omat, tilastollisiin jakaumiin nojaavat päätöksensä siitä, millainen kuva syntyy. GANien tapauksessa kuva generoidaan eräänlaisesta alkukuvasta. Olemassa olevasta kuvasta muokataan vähitellen tekstisyötteen kaltainen, joten alkukuvan piirteet vaikuttavat myös valmiiseen kuvaan. Kerron tästä laajemmin seuraavassa postauksessa, kun avaan työskentelyprosessiani tarkemmin.

Oma hankaluutensa syntyy siitä, että sovellutuksissa on aina vähintään kaksi erillistä, erilaisella datalla koulutettua koneoppimisjärjestelmää, joiden välinen kommunikaatio ei ole aina saumatonta. CLIP on OpenAI:n valmiiksi kouluttama, kun taas muista järjestelmistä ei ole olemassa valmiiksi koulutettua, ”virallista versiota”, ei edes Dall-E:n VAE:sta.

Kuvangenerointijärjestelmiä voi opettaa itse omalla datalla, mutta tätä opasta varten tehdyissä kokeissa käyttämäni sovellutukset, eli ”työkirjat” olivat harrastajien valmiiksi kouluttamia. Tekoälypiireissä kiertää muutamia hyväksi havaittuja ja rojaltivapaita kuvadatasettejä, joilla useimmat helposti saatavilla olevat työkirjat on koulutettu. Pohdin datasetteihin liittyviä mahdollisuuksia ja potentiaalisia ongelmia laajemmin blogin kolmannessa osassa.

Täydellistä kontrollia generoituihin kuviin ei voi saavuttaa, vaan tekoälyllä ja etenkin sille opetetulla datalla on valtava vaikutus. Kaikkia maailman kuvia ei ole mahdollista opettaa millekään algoritmille, on siis tiedettävä käyttämänsä järjestelmän heikkoudet ja vahvuudet sekä se, mihin opetusdata taipuu. Yritin kerran luoda Vladimir Putinin muotokuvan, mutta lopputuloksena oli pelkästään kultakala. Seuravaksi kokeilin Trumpia, mutta jälleen kerran tulos muistutti pelkkää kalaa, tällä kertaa tosin sellaista, jolla on oranssi tukka. Vasta tämän jälkeen tajusin tarkistaa ja kuinka ollakaan, käyttämäni malli oli koulutettu pelkillä kultakalan kuvilla.

Näyttääkö tämä kala sinusta Putinilta?

Kun käytetään GANia, joka on koulutettu tiukasti rajatulla datasetillä kuvia, saadaan uskottavia tuloksia tietenkin silloin, kun generoidaan lisää samanlaisia kuvia. Tällaiseen tehtävään GANit on alun perin tarkoitettukin, eikä tekstipohjaisten järjestelmien kylkeen. Tästä hyvä, kuuluisa esimerkki on internetsivusto This Person Does Not Exist, joka on koulutettu kasvokuvilla ja on siksi todella hyvä tekemään kasvoja.

Kun datasetti on laaja-alaisempi, tulosten tarkkuus vähenee, mutta mahdollisten aiheiden määrä kasvaa. Kuvista tulee sumeampia ja oudompia, kun malli joutuu ponnistelemaan enemmän. Pahimmillaan Dall-E:n VAE:n avulla generoidut tulokset näyttävät tältä:

Kuva on tuotettu syötteellä “A red Among Us character in a living room”.

Kuten edellä totesin, Dall-E:ssä uutta on se, että siirto-oppimisen ansiosta aiheiden skaala, jolla kuvia voi generoida, on äärettömästi laajempi, mutta tarkkuus ei tunnu ainakaan OpenAI:n oman blogipostauksen perusteella silti heikentyneen verrattuna GANeihin. Avoimen lähdekoodin puolella ei päästä vielä samalle tasolle, mutta aktiiviset koodarit kurovat eroa umpeen päivä päivältä.

Miten se pyörii?

Google Colaboratory on selaimessa toimiva palvelu, joka tarjoaa kenelle tahansa mahdollisuuden pyörittää omaa tai jonkun muun koodia Googlen servereillä. Palvelu on tiettyyn rajaan asti ilmainen. Tätä tutkimusta varten tahdoin tarkoituksella pitäytyä ilmaisversiossa pitääkseni kynnyksen oppaan seuraamiseen matalana ja samalla arvioidakseni palvelun toimivuutta. Alla listaamani ongelmat on mahdollista välttää kymmenen euron kuukausitilauksella, tai sitten tietenkin pyörittämällä koodia itse omalla koneellaan. Tekoäly vaatii paljon tehoa eteenkin näytönohjaimilta, joita on tällä hetkellä heikosti saatavilla. Jos omistaa kuitenkin valmiiksi tehokkaan peli- tai editointikoneen, välttyy monelta päänsäryltä, kun koodia pyörittää itse. Silloin täytyy tosin varautua siihen, että konetta joutuu huudattamaan pitkiä aikoja kerrallaan, eikä sillä välttämättä samaan aikaan voi tehdä mitään muuta.

Colaboratoryyn voi kopioida, kirjoittaa ja lisätä koodia, mutta sen lisäksi se on täynnä valmiita työkirjoja. Työkirjat koostuvat valmiista koodista, ja ohjeista, mitä pitää klikata missäkin järjestyksessä, jotta koodin saa tekemään sen, mitä haluaa. Itse olen generoinut runsaasti kuvia esimerkiksi työkirjoilla, joita on kerätty tälle sivulle.

Vaikka ne saattavat ensi alkuun vaikuttaa pelottavilta, koodaamisosaamista tällaiset etevät, valmiiksi laaditut työkirjat harvoin edellyttävät. Tosin ei siitä ole haittaakaan, sillä aina asiat eivät toimi tekijän tarkoittamilla tavoilla ja varsinkin vanhoja työkirjoja selatessa tulee vastaan paljon sellaisia, jotka syystä tai toisesta eivät enää pelitä Googlen tarjoamassa ympäristössä. Kun hyvän, toimivan työkirjan löytää, siitä kannattaa pitää kiinni ja käyttää sitä testialustana omille modifikaatioille.

Kuvangenerointityökirjat noudattavat yleensä melko samanlaista kaavaa: ensin työkirja pitää alustaa oikealla tavalla ja käynnistää uudelleen. Sen jälkeen työkirjaan ladataan CLIP sekä (yleensä esikoulutettu) kuvangenerointijärjestelmä. Tämän jälkeen annetaan tekstisyöte sekä muut parametrit kuvalle. Sen jälkeen voidaan aloittaa generointi. Yleensä tämä kaikki neuvotaan työkirjassa itsessään vaihe vaiheelta.

Kun Colaboratoryssa aloittaa session, Google arpoo datakeskuksesta tietokoneen, jolla sitten pääsee pyörittämään koodia. Arpaonnesta riippuen saa joko koneen, jolla on hyvä näytönohjain, huono näytönohjain tai ei näytönohjainta ollenkaan. Keskimäärin kuvien generointi on ollut hyvinkin nopeaa, ja esimerkiksi Tivin kuvituksiin käyttämäni työkirja pyöräyttää alkuun päästyään uuden kuvan viiden minuutin välein. Sitten on tullut vastaan myös niitä aamuja, jolloin kuvia on putkahdellut vain puolen tunnin välein, ja niitä, jolloin koodi ei ole pyörähtänyt ollenkaan liikkeelle, sillä näytönohjainta ei ole saatavilla. Google myös satunnaisesti vaatii, että sivua käy klikkaamassa, koska se syystä tai toisesta ei tahdo, että palvelua käytetään epäaktiivisesti. Tämä on pienempi vaiva kuin saattaisi olettaa, sillä koodi jatkaa pyörimistään taustalla, vaikka tällainen ilmoitus välilehdelle ponnahtaisikin.

Isoissa mediataloissa on taatusti mahdollista kehittää järkeviä implementaatioita, jotka hyödyntävät koodin pyörittämistä lokaalisti tai pilvessä, mutta itseni kaltaisille freelancereille Colaboratorylle ei Suomessa ole saatavilla paljonkaan vaihtoehtoja. Toinen varteenotettava palvelu on Kaggle, mutta sen ympärillä ei ole samanlaista kuvangenerointiyhteisöä kuin Colaboratoryn. On siis tyydyttävä siihen, mitä milloinkin saa ja osattava aikatauluttaa Googlen oikkujen ympärille.

Seuraavassa oppaan osiossa käyn Tiviin tekemieni kuvien kautta läpi sitä, miten itse sovelsin tekstipohjaista kuvangenerointia käytännössä. Vedän yhteen erilaisten työkirjojen hyviä ja huonoja puolia havaintojeni perusteella. Jos tämä osio herätti kysymyksiä, vastaan niihin blogin kommenttiosiossa.

--

--