Utelias mieli, jakso 31, tekstiversio: Mihin kaikkeen kvanttitietokone pystyy?

Kesto: 32 minuuttia
Haastattelija: Hanna Hantula
Haastateltava: Jukka Nurminen

Hanna: Jukka Nurminen, mitä jokaisen tulisi just nyt tietää kvanttitietokoneista?

Jukka: Kvanttitietokoneet on jännä juttu, joka on kovaa vauhtia tulossa. Me ei ihan varmasti tiedetä, mihin ne pystyy, mutta niillä on suuret lupaukset. Paljon on vielä tehtävissä, mutta valtavasti tapahtuu. Ja niistä voi tulla iso juttu, joka mullistaa aika paljon sitä, miten tietojenkäsittelyä tehdään.

 

[rauhallista elektronista musiikkia]

 

Hanna: Kuuntelet Utelias mieli -podcastia, joka puhuu tieteestä tunteella. Tässä podcastissa tutkijat saavat puhua niistä asioista, mitkä juuri nyt ovat kiinnostavimpia ja tärkeimpiä. Vieraana on tänään tietojenkäsittelytieteen professori Jukka Nurminen Helsingin yliopistosta, tervetuloa.

Jukka: Kiitos.

Hanna: Minä olen Hanna Hantula, tämän podcastin juontaja.

 

[rauhallista elektronista musiikkia]

 

Hanna: Kvantit ei ole enää pelkästään fyysikoiden työhuoneessa toistuva termi, vaan sitä tulee vastaan niin tekniikasta puhuessa kuin scifileffoja katsoessa. Mitä kvantti oikeastaan meinaa?

Jukka: Kvanttimekaniikka on tämä ala, joka tutkii, mitä tapahtuu, kun mennään ihan pienen pieniin asioihin, mitä tapahtuu atomin sisällä, elektroneihin, näihin asioihin, mitä varmaan kaikki on ehkä koulussa törmännyt atominrakenteesta. Ja siellä tapahtuu hyvin kummallisia asioita, mitä meidän on varmaan vaikea kuvitella. Ja sanovat, ettei fyysikotkaan niitä oikein pysty kuvittelemaan. Että vain laskemalla voidaan sanoa, että näin siellä tapahtuu ja kokeet vastaa sitten sitä, mitä on laskettu. Ja taas sitten ehkä tänne tietojenkäsittelytieteeseen mennessä, niin ne kvantit on pikkuisen samoja kuin bitit, mutta taas varsin kummallisesti käyttäytyviä. Ja siihen kummalliseen käyttäytymiseen ehkä pohjaa se, että niistä on sitten hyötyä ja semmoista erilaista kyvykkyyttä kuin mitä niillä biteillä saadaan aikaan.

Hanna: Miten sä oikein olet päätynyt kvanttitietokoneiden ohjelmoinnin pariin?

Jukka: No tämä tarina on sinänsä pitkä. Siis tosiaan se alkoi sieltä, että mä opiskelin teknistä fysiikkaa, joka oli sikäli hyvä opintoala, että siellä pystyi opiskelemaan melkein mitä vaan. Ja sitten kahden vuoden jälkeen mä suuntauduin sovellettuun matematiikkaan siellä. Ja sitten sen jälkeen mä menin töihin, missä mä olen koko työurani sitten tehnyt erilaisia tietojenkäsittelyyn liittyviä juttuja. Ja nyt mä kolme ja puoli vuotta sitten aloitin Helsingin yliopistossa professorina ja siinä sitten mietin, että mitä kaikkea kivaa voisi tehdä, kun on nyt uusi puhdas pöytä tavallaan edessä. Ja määrittelin sinne sitten aika monenlaisiakin asioita. Ja yksi oli tämä kvanttilaskenta nimenomaan siitä perspektiivistä, että mä olin tehnyt tämmöisiä koneoppimisjuttuja, ja puhuttiin, että kvanttilaskenta auttaa koneoppimisessa. Ja sitten, nimittäin se sana tuli eteen monta kertaa, ja tämmöiset uudet asiat on jänniä oppia, että mitä tämä nyt oikein tarkoittaa ja miten se toimii ja mitä sillä tehdään. Niin se sitten oikeastaan johti siihen, että hei, että mähän nyt alankin katsomaan, että mitä tämä kvanttilaskenta on. Ja sehän osoittautui aika kivaksi.

Hanna: Tämä tuntuu aika spesifiltä aiheelta. Onko tätä Suomessa kuinka paljon?

Jukka: No Suomessa on ihan älyttömän hyvää tutkimusta tästä kvanttiteknologiasta. Eli sitä, miten niitä laitteita rakennetaan. Suomessa on tämmöinen merkittävä kvanttitietokoneita valmistava firma. Ja fyysikkopuolella sitä tutkimusta on tosi paljon ja se on tosi hyvätasoista. Tämä ohjelmistopuoli tässä kvanttitietokonemaailmassa on nyt vähän vasta nousemassa. Että koska ne laitteet on ollut niin primitiivisiä, että niillä ei ole mitään oikeaa voinut tehdä, niin ei ole ollut oikeastaan ongelmaa tehdä niille ohjelmistoja, koska ne ei ole tehnyt mitään hyödyllistä. Mutta nyt kun se laitteisto kehittyy, niin nyt alkaa sitten olla tarve osata ohjelmoida niitä. Ja sitä kautta tulee ihan uudenlaiset ongelmat eteen.

Hanna: Onko kuinka tyypillistä, että kun sä ryhdyt selittämään, että millaisten asioiden parissa sä työskentelet, että maallikot ei ihan tajua?

Jukka: Joo, joo.

Hanna: Harmittaako se sua?

Jukka: Ei, eihän se nyt harmita sillein. Ja ehkä sen suuren kuvan jotenkin voi maallikoille saada välitettyä. Mutta tämä kvanttitietokone on nimenomaan erityisen hankala. Että jonkun koneoppimisen selittäminen maallikolle on hirveän paljon helpompaa. Mutta se on tietysti kanssa, kaikki näkee, miten jotain kuvantunnistuksia ja muita tapahtuu. Tätä on hankalampi selittää. Ja ehkä just se konsepti, kun tämä ei oikein toimi vielä, niin tämä on tämmöistä tulevaisuuden rakentamista vielä.

 

[rauhallista elektronista musiikkia]

 

Hanna: Tässä podcastissa tutkijat saavat puhua siitä, mikä heistä on oikeasti juuri nyt tärkeää. Meillä on vieraana tietojenkäsittelytieteen professori Jukka Nurminen. Ja tänään me keskustellaan kvanttitietokoneista, niiden ohjelmoinnista, ja siitä, mitä kaikkea ne mahdollistavat. Jos sun pitäisi selittää kolmessa minuutissa kvanttitietokoneen perusperiaatteet, niin mistä lähtisit liikkeelle?

Jukka: No siellä on näitä termejä niin kuin kubitti, mikä on tämä peruskäsite eli tämä nollan ja ykkösen välillä oleva periaatteessa kompleksikertoiminen tila. Jos unohtaa ne kompleksiluvut, niin voi ajatella, että liikutaan siellä nollan ja ykkösen välillä. Sitten meillä on mittaus, jolla me mitataan se kubitin arvo. Ja sen mittauksen ominaisuus, mikä tulee sieltä kvanttitietokonemaailmasta on se, että se mittaus ei kerro meille, että se arvo oli 0,6 tai muuta. Vaan se on joko nolla tai yksi. Ja se, mikä se kvanttitila oli, vaikuttaa siihen todennäköisyyteen. Että jos se arvo nyt oli 0,9 niin silloin on todennäköistä, että me mitataan ykkönen ja aika harvoin nolla. Ja tähän pohjautuu se, että me halutaan se kvanttitila semmoiseksi, että sitten kun me luetaan sieltä sitä arvoa, niin siitä pitäisi tulla suunnilleen se toivottu tulos ulos. Tämä on kubitti ja tämä on se kubittien lukeminen. Ja sitten sen jälkeen on nämä kaksi lisäkäsitettä, eli on tämä superpositio, että kun meillä on useampia kubitteja, niin sitten se koko kvanttitietokone on jonkinmoisessa tilassa, mikä on jonkinlainen yhteenlasku näistä kaikista mahdollisista bittijonoista, mitä ne kubitit voi muodostaa. Ja sitä kautta se avaruus, mitä se kerralla käsittelee, on valtavan suuri. Ja sitten viimeisenä on tämä kubittien kytkeytyminen toisiinsa, lomittuminen, entanglement englannin kielellä, mikä kytkee ne kubittien tilat toisiinsa niin, että jos meillä on nyt kaksi kubittia tämmöisessä lomittuneessa tilassa, niin tässä toisen kubitin tilan muuttaminen muuttaa saman tien sitä toisen kubitin tilaa. Ja sitä kautta siellä syntyy tämmöisiä kytköksiä niiden välillä. Ja näihin kytköksiin nimenomaan pohjautuu isolta osin kvanttialgoritmien fiksu toiminta.

Hanna: Kvanttitietokoneita on ideoitu jo 80-luvulla, mutta pitkään ne oli todellisuutta lähinnä scifikirjojen sivuilla. Miksi kvanttitietokone tuntuu olevan jonkinnäköinen tutkijoiden haave?

Jukka: Jos me saataisiin semmoisia toimivampia kvanttitietokoneita kuin nykyiset, niin oletus olisi, että niillä pystyttäisiin tekemään merkittävästi paremmin joitakin asioita, mitä nykytietokoneet pystyy tekemään. Ja sitä kautta se tulee. Siis varmaan se tehtäväjoukko, mitä pystytään tekemään on varsin pieni. Mutta toisaalta taas varsin merkityksellinen.

Hanna: Merkityksellinen mille asioille?

Jukka: No riippuu siitä, että mitä tehdään. Että siis yksi näitä varmaan, mihin on ehkä suurimmat odotukset lyhyellä tähtäimellä, on ikään kuin molekyylien, elektronien mallintaminen. Että kun meillä on joku tämmöinen mutkikas molekyyli, vaikka joku lääke, niin tänä päivänä se on aika kokeellista, että sitä pitää kokeilla, että miten se reagoi erilaisissa tilanteissa. Ja sitä kautta joku lääkekehitys ja tämmöinen, kemian vaikkapa patteriteknologioiden kehitys on aika hidasta, kun kaikki pitää vähän niin kuin kokeilemalla todeta. Että se haave olisi se, että sen sijaan, että me kokeillaan, niin me lasketaan etukäteen, että okei, näin se toimii. Ja sitten sen jälkeen me vaan kokeilla varmistuttaisiin, että no joo, näinhän se meni. Me ei päästä tähän normitietokoneilla, koska ne on niin älyttömän mutkikkaita ne vuorovaikutukset ja muut. Mutta se on ehkä yksi näitä kvanttitietokoneen lupauksia, että kenties niillä voitaisiin tähän päästä. Mikä vauhdittaisi kaikkea lääkekehitystä ja tämmöistä erilaisten kemiallisten juttujen kehitystä varmaan aika varsin paljon.

Hanna: Onko kvanttitietokoneen ohjelmointi kovin erilaista kuin perustietokoneen?

Jukka: On. Mä olen pitänyt kaksi vuotta nyt kurssia, kuinka ohjelmoida kvanttitietokonetta. Ja kun sitä on kaksi vuotta opettanut, niin alkaa pikkuisen ymmärtämään itsekin, että miten sitä ohjelmoidaan.

Hanna: [naurahtaa] No niin, tämä ei kuulosta siltä, että me nyt tämän podcastin aikana siis saadaan kaikki jotenkin hyvä ja kattava käsitys siitä, että miten kvanttitietokonetta ohjelmoidaan. Mutta jos lähdetään ihan perusasioista, niin käytetäänkö kvanttitietokoneiden ohjelmointiin ihan samantyyppistä koodauskieltä kuin vaikka perustietokoneiden kanssa?

Jukka: No tavallaan käytetään. Että siis iso osa kvanttitietokoneohjelmoinnista tehdään Pythonilla, mikä on näitä yleisimpiä normaalikieliä. Mutta se juttu tulee siitä, että siinä on erilaisia kirjastoja, mitkä sitten toteuttaa näitä kvanttijuttuja. Ja oikeastaan semmoinen kvanttiohjelma ei näytä tämmöiseltä ohjelmakoodilta, vaan se näyttää vähän semmoiselta nuottiviivastolta, missä meillä on viiva per kubitti. Ja sitten meillä on portteja, jotka sitten kohdistuu joko yhteen viivaan tai tämmöisiä portteja, jotka kohdistuu kahteen tai ehkä kolmeen viivaan. Ja näillä porteilla saadaan sitten se magiikka aikaiseksi, että ne muuttaa näitten kubittien tiloja. Ja sitten siellä jossain vasemmalta oikealle edettäessä, kun sitä ohjelmaa suoritetaan, on sitten se paikka, missä niitä kubittien arvoja luetaan. Mikä on yksi näitä hankalia paikkoja, koska kun sen kubitin arvon lukee, niin se muuttaa silloin sen kvanttitilan. Ja silloin se ei ole semmoinen snapshot siitä, miltä asiat näytti, vaan se onkin erilainen kuin mikä oli se hetki silloin lukuhetkellä. Ja sitten kolmas tapa katsoa sitä asiaa vielä, mikä ehkä ei toimi sitten suurissa jutuissa, mutta mikä toimii tämmöisissä pienemmissä, on sitten tämmöinen ympyränotaatio, mikä visualisoi sitä aika kivasti. Mutta se ongelma on se, että silloin kun on pieni määrä kubitteja, me pystytään katsomaan jotain 16:ta ympyrää tai 32:ta ympyrää. Mutta sitten jos meillä on 1024 ympyrää, mistä meidän pitäisi jotain katsoa, tai sitä suurempia lukuja, niin sitten alkaa siellä loppumaan voima kesken. Mun oma ajatus on jotenkin sillein, että varmaan jatkossakin meillä tulee olemaan rinnakkain se kvanttitietokone ja tämmöinen klassisen maailman tietokone. Me sillä klassisen maailman tietokoneella ehkä sitten jotenkin vähän pienemmillä ohjelmilla, pienemmillä kubittimäärillä yritetään varmistua, että nyt se kvanttiohjelma toimii oikein. Ja sitten kun aletaan uskoa siihen, niin sitten annetaan sen kvanttitietokoneen ottaa isomman kubittimäärän ja tehdä sitten niitä asioita, mihin se klassinen tietokone ei enää pysty. Mutta siellä on paljon semmoista uutta etsittävää ja niitä uusia menetelmiä, että miten sitä oikeasti tehdään. Että varmaan se vastaus oikeastaan on se, että kukaan ei oikeastaan tiedä, miten niitä tullaan ohjelmoimaan.

Hanna: Kvanttitietokoneista tulee ehkä monille kuulijoillekin mieleen heti hyvin scifit mielikuvat, että avaruusalukset suihkivat ympäriinsä, autot lentävät, on jotain mystisiä supertietokoneita. Mutta tämä ei nyt kuitenkaan ehkä ihan taida olla sitä maailmaa, missä sinäkään elät. Kvanttitietokoneet ei sovellu ihan kaikkeen käyttöön ja ilmeisesti myös kaupallinen käyttö on vielä aika kaukana. Mihin tarkoitukseen kvanttitietokone sitten soveltuu parhaiten?

Jukka: No siis tämä kemiatutkimus oli se, mistä mä jo puhuin, se on varmaan yksi niitä lupaavimpia. Sitten koneoppimiseen. Se on se, missä on luja usko ja mihin varmaan monet siinä panostavat. Ehkä se tärkein syy oikeastaan, miksi tästä kvanttitouhusta ollaan monessa mielessä innostuneita, on, että se soveltuu tähän salakirjoitusmenetelmien murtamiseen. Eli on tämmöinen Shorin algoritmi, mikä on tuolla 90-luvulla jo kehitetty. Ja sen ansiosta pystyttäisiin oikeastaan kaikki nämä menetelmät, millä nykyisin tämmöistä luottamuksellista tietoa välitetään internetissä tai käydään webbisivuja lukemassa tai muuta, niin ne pystyttäisiin murtamaan tällä algoritmilla.

Hanna: Hetkinen, toi ei kuulosta kauhean hyvältä.

Jukka: [naurahtaa] Joo.

Hanna: Tarkoittaako tuo, että vaikka mun sähköpostit on tulevaisuudessa vaarassa?

Jukka: Periaatteessa kyllä. Että sen takia on nyt aika paljon tämmöistä post-quantum cryptography -tutkimusta. Meilläkin kollega yliopistolla tutkii sitä, että miten nämä salakirjoitusmenetelmät pitää muuttua, jotta niitä ei voi kvanttitietokoneella murtaa. Sikäli ollaan vielä aika kaukana, että vaaditaan aika tosi, tosi hienoja kvanttitietokoneita, että tämmöinen murtaminen olisi mahdollista. Luulen, että jossain militääripuolen tutkimuksessa varmaan ollaan aika pitkälläkin näissä asioissa, mutta niistä ei ehkä niin kauheasti kerrota.

Hanna: Niin onko tässä jonkinnäköistä kilpavarustelua käynnissä?

Jukka: Joo, siis varmaan. Siis amerikkalaiset firmat tietysti on kaikessa näissä tietotekniikka-asioissa aika kovia. Kiinassa varmaan tehdään paljon, mutta siellä ollaan aika hiljaa. EU toivoisi, että me saataisiin tätä eurooppalaista juttua liikenteeseen, toivottavasti saataisiin. Että tämmöinen maantieteellinen kilpavarustelu on kyllä menossa. Ja just tämä kryptografia on ehkä iso juttu siinä, paitsi näissä siviilisovelluksissa, niin myös sitten kaikessa muussa.

Hanna: Kuinka paljon resursseja tällainen kvanttitietokoneiden kehittäminen ja niiden ohjelmoiminen, ja niiden kaikkien mahdollisuuksien tutkiminen oikein vaatii? Onko tämä semmoista, mitä ensisijaisesti valtiot tekevät? Vai tekevätkö myös esimerkiksi suuryritykset tämmöistä työtä?

Jukka: Siis iso osa on varmaan yrityksiä. IBM ja tällaiset tutut nimet tekee sitä. Ja sitten on paljon tämmöisiä uusia startupeja. Ja siellä on monen tasoista sitä työtä. On sitä, että tehdään se laite. On sitten semmoista, että tehdään joku semmoinen kontrolliohjelma, joka kontrolloi niitten kubittien tiloja. Tarvitaan kääntäjä, joka kääntää tämmöisen ylemmän tason ohjelman niille kubiteille ja porteille. Ja sitten, se mikä on oikeastaan se mun oma mielenkiinnonkohde eniten, on se, että kun meillä on joku käytännön ongelma, miten kuljettaa varaa ympäri maailmaa tai jotain tällaista, niin millä tavalla me muotoillaan siitä jonkinlainen matemaattinen ongelma, joka sitten pystytään muotoilemaan kvanttitietokoneelle sopivaksi ongelmaksi, joka sitten voidaan ratkaista kvanttitietokoneella. Ja tämmöistä tarvettahan tulee olemaan kenties älyttömän paljon, että meillä oikean maailman ongelmia, niin miten me muunnetaan ne semmoiseen kvanttitietokoneelle soveltuvaan muotoon.

Hanna: Eli ollaanko me tässä nyt vähän niin kuin semmoisessa tilanteessa, että nyt on keksitty tämmöinen hieno työkalu kuin kvanttitietokone, ja sitten pitäisi selvittää, että mihin tätä oikein käytetään?

Jukka: Joo, tavallaan näin. Me tiedetään kyllä mahdollisuuksia, mutta se riippuu siitä, minkälainen siitä toimivasta kvanttitietokoneesta tulee kanssa. Että siinä kvanttitietokoneessa puhutaan paljon siitä kubittien määrästä. Mutta siinä vaikuttaa ratkaisevasti se, että miten hyviä ne kubitit on, eli kuinka kauan ne pysyy semmoisessa luotettavassa tilassa. Tämmöinen kvanttiohjelma tällä hetkellä saa olla kai jotain luokkaa 10 mikrosekuntia kestoltaan, sen jälkeen se kubittien tila romahtaa. Ja niitä ei enää sitten, ne muuttaa arvoja ja niillä ei tehdä enää mitään. Sitten se, miten ne kubitit on kytköksissä toisiinsa vaikuttaa. Ja siellä on paljon tämmöisiä asioita. Ja se, että minkälainen siitä semmoisesta toimivasta kvanttitietokoneesta sitten tulee, kun nämä kaikki erilaiset ominaisuudet huomioidaan, niin määrää aika pitkälti sitten sitä, että mitä asioita sillä voidaan tehdä. Ja sitten jotkut asiat, niin kuin ehkä tämmöinen kemiallinen simulointi, varmaan tämmöinen salakirjoitusmenetelmien murtaminen ja muu, niin ne voi olla niin merkittäviä juttuja, että siitä kvanttitietokoneesta ei tule tämmöistä yleiskonetta, niin kuin nykyajan tietokone on, ja millä voi tehdä vähän kaikkea. Vaan kenties sillein, että sulla on kvanttitietokone juuri tiettyyn tarkoitukseen, ja se on niin iso tarkoitus, että semmoinen kannattaa rakentaa.

 

[rauhallista elektronista musiikkia]

 

Hanna: Palataan vielä hetkeksi ihan perusasioihin. Mä yritän vielä vähän hahmottaa tätä kvanttitietokoneasiaa. Jos mä olen oikein käsittänyt, niin kvanttitietokoneiden toimintaperiaate on siis se, tai kun verrataan tavalliseen tietokoneeseen, niin kun tavalliselta tietokoneelta kysyy kysymyksen, niin vastaukseksi tulee joko yksi tai nolla. Mutta kvanttitietokone voi olla saman aikaisesti tilassa yksi ja nolla tai mitä tahansa niiden välistä. Onko tämä oikeanlainen tiivistys?

Jukka: Joo, kyllä.

Hanna: Jes. Eikö tämä tarkoita äärettömyyttä?

Jukka: Joo, jollain tapaa kyllä.

Hanna: Jos se voi olla ihan mitä tahansa, niin mistä me tiedetään, että mikä sitten on se oikea vastaus?

Jukka: No se ei olekaan ihan suoraviivaista siinä. Että se ohjelma toimii siis karkeasti ottaen sillein, että me laitetaan ne kubitit alkuunsa tyypillisesti siihen nollan ja ykkösen välitilaan, siihen puoleen väliin ikään kuin. Ja sitten seuraa ne kvanttiportit, mitkä ikään kuin säätää sitä, mitä se ohjelma tekee. Ja sen jälkeen me saadaan se kvanttitila siellä tietokoneen syvyyksissä varmaan suunnilleen halutuksi. Mutta sitten meidän ongelma on se, että meidän pitäisi lukea tämä tila. Ja se lukeminen muuttaa sitä tilaa, mikä hankaloittaa asioita. Eli sitä kautta usein semmoinen kvanttiohjelma on oikeastaan, se mikä tekee sen varsinaisen laskennan, on oikeastaan aika pientä siinä alussa. Ja sen jälkeen on kenties sitten aika pitkä pätkä, millä vain yritetään muuttaa sitä tilaa sellaiseksi, että me saadaan luettua se. Ja sitten siellä lopussa me luetaan niitä kubittien arvoja ja ne sitten on vähän satunnaisia. Ne ei ole yksi oikea vastaus, mikä sieltä tulee, vaan ne on satunnaisia. Ja ne riippuu oikeastaan kahdesta asiasta. Toinen on häiriöt, mitä niissä on aina mukana. Mutta toinen on se, että ihan algoritmista riippuen, niin siellä on tämmöisiä, että se tila saattaa vaihdella. Näin ollen sitten tyypillinen tapaa ajaa näitä kvanttialgoritmeja on sillein, että me ajetaan se sama algoritmi sata kertaa, ja sitten me katsotaan, että okei, nyt vitonen tuli aika usein ja näköjään seiska tuli vähän harvemmin, että varmaan se oikea vastaus on jompikumpi noista.

Hanna: Onko tämä savolaisten keksimä tietokone?

Jukka: [naurahtaa]

Hanna: Se on sillein, että voihan se olla ykkönen, mutta voipi olla nollakin.

Jukka: Joo, jossain määrin joo. Mutta sitten on aika paljon näitä tämmöisiä käyttötapauksia, missä me voidaan kokeilla, että oliko se oikea vastaus. Että esimerkiksi tämä salakirjoituksen murtaminen, niin siis karkeasti ottaenhan se pohjautuu siihen, että meillä on ihan älyttömän iso kokonaisluku, ja meidän pitäisi tietää, mitkä kaksi kokonaislukua me kerrotaan keskenään, jotta me saadaan tämä älyttömän pitkä luku. Ja tämän tekeminen on tosi, tosi vaikeaa, kun sun pitäisi käytännössä kokeilla melkeinpä kaikki luvut. Mutta jos kvanttitietokoneella me saadaan tästä pitkästä luvusta heti vastaus, että no se oli toi ja toi, niin meidänhän on helppo kokeilla, että no okei, oliko toi kertaa toi, niin tuliko siitä se. Jos tuli, niin ollaan tyytyväisiä, jos ei tullut, niin yritetään uudestaan, että saataisiinko joku toinen luku, jolla se toimisi.

Hanna: Tämä kuulostaa tosi eriltä, kun miten mä olen tottunut ajattelemaan tietokoneita, jotka kertoo aika sillein absoluuttisia lopputuloksia erilaisiin laskutoimituksiin. Onko kvanttitietokone, pitääkö sitä ajatella tietokoneen seuraavana askeleena vai ihan omanlaisenaan laitteena?

Jukka: Ehkä sitä pitäisi ajatella semmoisena, kun mikä on GPU. GPU on siis tämä grafiikkaprosessorikortti, mitä nyt ainakin pelitietokoneissa ja muissa on. Ja enenevässä määrin ihan normitietokoneissakin, mitkä saa aikaan sen, että tietokonegrafiikka näyttää hienolta ja liikkuu nopeasti ja on hyvää. Ja ne toimii sillä tavalla, että suurin osa asioista normitietokoneessa lasketaan sillä normiprosessorilla, ja sitten semmoiset asiat, mitkä liittyy ehkä siihen grafiikkaan, mitkä on tämmöistä vektoreiden kertolaskua, tai mitkä liittyy johonkin koneoppimiseen, missä on vektoreiden ja matriisien kertolaskua, niin ne hoidetaan sitten tällä grafiikkaprosessorilla. Ja siinä, ehkä siellä maailmassa ollaan päästy niin pitkälle, että ei tarvitse kantaa semmoisen normaaliohjelmoijan kauheasti huolta, että kummalla se tehdään, se tietokone osaa itse sen aika fiksusti päättää, että tämä soveltuu tänne grafiikkaprosessorille, että pistetään se sinne laskettavaksi ja sitten muuten tehdään normaalilla. Kvanttitietokoneella ehkä jonain päivänä voidaan olla siellä. Ja mekin yritettiin yhtä tämmöistä offloading-kokeilua, jossa se olisi ikään kuin siitä koodista pystynyt päättelemään, että tässä olisi nyt pätkä, jotka voisi mennä hyvin kvanttitietokoneella. Mutta kyllä siihen, että se toimisi oikeasti ihan mitä kummallisimmissa tapauksissa, on pitkä matka vielä.

Hanna: Miksi sun mielestä kannattaa kehittää kvanttitietokoneiden ohjelmointia? Mua siis kiinnostaa tietää, että mihin se tähtää, millaista tulevaisuutta siinä rakennetaan, kun yritetään saada kvanttitietokoneet toimimaan hyvin ja yleistymään.

Jukka: Siis mun kuvitelma tulevaisuuden maailmasta on se, että ainakin pitkän, pitkän aikaa, niin kvanttitietokoneet on jossain verkossa, ja me ei niitä juurikaan nähdä. Se, mitä ne tekee on, että ne mahdollistaa sellaisia asioita, mitä tänä päivänä on vaikea tietokoneella tehdä, tai hidasta tietokoneella tehdä. Ehkä ainakin näitä tieteellisen laskennan juttuja, tyypillisesti tarvitaan tämmöisiä massiivisia simulointeja, asioiden optimointia, koneoppimista. Siellä puolella siis tällaisia asioita tyypillisesti, mitä ehkä tänä päivänä osataan tehdä, mutta mitkä vaatii niin paljon tietokoneiden laskentatehoa, että me ei päästä siihen riittävään tarkkuustasoon tai riittävään suorituskykyyn, että niitä olisi mielekästä tehdä. Tai riittävään ehkä virrankulutukseen, että niitä olisi mielekästä tehdä. Se on yksi näitä, tässä omassa tutkimuksessa näitä uusia teemoja vähän ehkä, että miten se kvanttitietokone virrankulutusmielessä toimii.

Hanna: Kuulostaa kiinnostavalta. Miten se toimii?

Jukka: Se toimii sikäli hyvin eri tavalla, että se miltä kvanttitietokone näyttää, on semmoinen ehkä noin jääkappipakastimen näköinen laite. Ja se itse kvanttitietokone on tämmöinen pikkusormen kynnen kokoinen laite siellä sisällä. Ja se muu vekotin on semmoista vähän niin kuin kristallikruunun näköistä, jos googlaatte netistä, niin sieltä näkyy, miten semmoinen kristallikruunua muistuttava vekotin on siellä sisällä, minkä ainut tehtävä on viilentää se kvanttitietokone hyvin lähelle nollan kelvinin, absoluuttisen nollapisteen lukemaa. Ja mitä lähempänä sitä se on, niin sitä vähemmän siellä on erilaisia häiriöitä, mitkä tästä lämmöstä tulee, mikä viime kädessä on molekyylien liikettä. Niin semmoinen kvanttitietokone, niin niitä tuskin ostetaan välttämättä ehkä firmojen nurkkiin seisomaan, vaan ne on jossain tuolla kaukana. Ja ehkä se jonkinlainen ideaalimaailmalla saattaa olla se, että ne on samanlaisia kuin nämä tietokoneiden grafiikkakortit, että niitä vaan käytetään ilman, että kukaan kauheasti huomaa, että niitä käytetään.

Hanna: Sä mainitsit aiemmin koneoppimisen. Koneoppiminen on aika kuuma aihe tällä hetkellä ohjelmoinnissa. Miten sä näet sen ja kvanttilaskennan yhdistämisen? Tästä on puhuttu jopa vuosisadan teknisenä vallankumouksena, oletko samaa mieltä?

Jukka: No, paljon jää vielä nähtäväksi. Ja ehkä siinä koneoppimisessa samoin kuin kvanttilaskennassa, kaikissa näissä uusissa jutuissa aina helposti tulee vähän tämmöinen yli-innostus, että puhutaan ehkä vähän liiankin innostuneesti ja liian suurin odotuksin. Ja sitten asia maadoittuu jossain vaiheessa, että no ihan hyvä tästä tuli ja ihan hyödyllinen tästä tuli, mutta ei siitä nyt ihan niin fancya tullut kuin mitä alun perin kuviteltiin. Että se, mitä se kai koneoppimisessa voisi tarkoittaa on se, että meillä on tämmöisiä massiivisia datasettejä. Jos ajatellaan tämmöisiä luonnollisen kielen käsittelyyn suunniteltuja koneoppimisalgoritmeja, niin niiden koulutusmateriaalit on miljoonia ja miljoonia tekstirivejä. Ja siihen kouluttamiseen kuluu valtavasti laskentaresursseja. Että ihan tämmöisen ison koneoppimismallin kouluttaminen johonkin luonnollisen kielen laskentaan, niin sitä on laskettu, että se on satoja tuhansia dollareita se pelkkä sähkön hinta, mitä siihen kouluttamiseen menee.

Hanna: Se on näillä sähkön hinnoilla aika [naurahduksia] paha tilanne.

Jukka: Niinpä. Että jos nyt tämä kvanttitietokone saisi aikaan sen, että tämmöinen pystyttäisiinkin tekemään ihan pienellä virrankulutuksella ja ihan muutamissa minuuteissa tai pienessä ajassa, niin se voisi muuttaa aika paljon asioita. Me saataisiin tämmöisiä ehkä isoja malleja syntymään ja koulutettua valtavan paljon pienemmällä vaivalla laskentaresurssien mielessä.

Hanna: Miten sä näet kvanttitietokoneiden ohjelmoinnin tulevaisuuden?

Jukka: No siinä on ehkä kaksi linjaa. Ja ehkä ne molemmatkin jollain tapaa toteutuu. Se ensimmäinen helppo linja on se, että jotkut asiantuntijat kehittää niitä kvanttialgoritmeja ja piilottaa ne sitten joidenkin tämmöisten funktioiden taakse niin, että ohjelmoijalle kvanttitietokoneen ohjelmointi on vaan ihan funktion kutsu. Ei tarvitse osata oikeastaan mitään kvanttitietokoneista. Sitten toinen taso on se, että ohjelmoidaan todella niillä kvanttitietokonemaailman käsitteillä, jolloin tarvitsisi osata aika paljon sieltä. Mutta niin kuin aikaisemmin tuossa puhuttiin, niin mitä sieltä tarvitsisi osata, ja minkälaisilla semmoisilla abstraktiotasoilla me operoidaan siellä, minkälaisilla ohjelmointikielillä me operoidaan siellä, niin siinä on varmaan sitä kehitettävää. Ja mä kuvittelisin, että kun sitä puolta lähdetään tekemään, niin siellä varmaan saadaan, ei nyt ehkä läpimurtoja, mutta sitä asiaa saadaan askel askeleelta helpommaksi. Vähän niin kuin vanhassa ohjelmointikielimaailmassakin uudemman sukupolven kielet on aina tehnyt asiat pikkuisen ja pikkuisen helpommiksi, mutta ei mikään kieli ole ollut semmoinen taikasauva, että se on yksikaksi muuttanut kaiken.

Hanna: Pitääkö perusmaijameikäläisen tietää mikä kvanttitietokone on ja miten se oikein toimii?

Jukka: No ehkä noin yleissivistysmielessä voisi olla kiva tietää. Että jos siitä kuitenkin puhutaan Hesarissa tai jossain lehdistössä, ja mietitään, että mikä on Suomen kvanttitietokonestrategia, niin varmaan olisi hyvä tietää, että mikä se kvanttitietokone on, ja miksi joku miettii jotain kvanttiteknologiastrategioita tässä maailmassa. Se, että millä tasolla siitä olisi hyvä tietää, niin se on ehkä sikäli konstikas, että on jollain tapaa helppo oppia nämä käsitteet, mitä siellä puhutaan lomittumisista ja näistä superpositioista ja muista, mutta se, että jotenkin sisäistäisi, mitä ne käsitteet on ja miten ne todella muuttuu laskennan kannalta hyödyllisiksi, niin se on se iso hyppy. Ja ehkä sen hahmottaminen on semmoinen kiinnostavakin juttu, että miten se saataisiin suurelle yleisölle jotenkin ymmärrettäväksi, että miten se todella toimii. Ei pelkästään, että osastaan määritelmät näistä asioista, vaan hahmotettaisiin, että tätä se määritelmä todella tarkoittaa.

 

[rauhallista elektronista musiikkia]

 

Hanna: Kenen elävän tai kuolleen tutkijan kanssa menisit drinkeille, minne te menisitte ja mitä te joisitte?

Jukka: [naurahtaa] Tämä on vaikea kysymys, koska enhän mä tiedä kuka niistä on kiva tyyppi. Että monet tutkijat käsittääkseni historian hämärissä on ollut aika hankalia persoonia ja ties mitä. Että olisi kiva löytää semmoinen mukava tutkija, kenen kanssa on kiva mennä drinkille. Ehkä tällä alueella siis Richard Feynman on kai näitä kvanttilaskennan isiä, ja ilmeisesti ihan kiinnostava persoonakin, niin jos nyt joku henkilö pitäisi valita, niin olisikohan se sitten hän.

Hanna: Mukava lähestymistapa tuohon kysymykseen, että kuka on kiva. Jos sä voisit olla osana jotain hetkeä, löydöstä tai teoriaa tieteen historiassa, niin mikä se olisi?

Jukka: Varmaan se aika, kun näitä ekoja tietokoneita alkoi tulla, transistori keksittiin, silloin tapahtui paljon tällä tietotekniikan alalla. Ehkä sitten tämän kvanttilaskennan innoittamana varmaan se 1900-luvun alkupuolen fysiikkamaailma, missä oivallettiin, että on tämmöisiä hiukkasia ja ne käyttäytyy oudolla tavalla. Mutta sitten mä luulen, että tämä realismi on se, että kun sä elät sitä aikaa, niin sitten loppujen lopuksi aika tylsää. Että siellä sitä istutaan ja raavitaan päätä puhki, ja ihmetellään, että miten se elektroni nyt tollein käyttäytyy. Ja tuntuu, että se edistys on hyvin vähäistä. Ja sitten vasta myöhemmin oikeastaan vasta oivalletaan, että no tuossahan tapahtuikin paljon.

Hanna: Jos sä voisit suunnitella yhden pakollisen kurssin, minkä jokaisen ihmisen olisi käytävä, niin mikä se olisi?

Jukka: No se varmaan ei olisi tämä kvanttitietokoneiden ohjelmointikurssi [naurahtaa]. Mutta se voisi olla ehkä semmoinen joku metatason kurssi, tämmöisiä yleisiä hyödyllisiä taitoja elämään. Kuinka innostut asioista. Kuinka kiva on oppia uusia juttuja. Kuinka tulet ihmisten kanssa toimeen. Tällaistahan ihmisille pitäisi oikeasti opettaa. Mutta ongelma taitaa olla se, että tällaisia ei oikeasti pystytä opettamaan, että on paljon helpompi opettaa kvanttitietokoneen toimintaa kuin jotain tällaista.

Hanna: Usein ne elämäntaidot sitten hankintaan kantapään kautta eikä yliopistossa.

Jukka: Näin se on. Mutta välillä toivoisi, että niitä oppisi muutenkin kuin kantapään kautta [naurahtaa].

Hanna: Jukka Nurminen, kiitos kun olit mukana Utelias mieli -podcastissa.

Jukka: Kiitos.

 

[rauhallista elektronista musiikkia]

 

Hanna: Kiitos kun kuuntelit Utelias mieli -podcastia. Jos tykkäsit kuulemastasi, kerro siitä kaverillesi.

 

[rauhallista elektronista musiikkia]