AI-mallit ja alustat

Tim Davis, Modularin Co-Founder & President – Haastattelusarja

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Tim Davis on Modularin toinen perustaja ja johtaja (President). Modular on integroitu, yhdisteltävistä osista koostuva työkalukokonaisuus, joka yksinkertaistaa tekoälyinfrastruktuuria, jotta tiimi voi kehittää, ottaa käyttöön ja innovoida nopeammin. Yhtiö tunnetaan erityisesti Mojon kehittämisestä. Tämä uusi ohjelmointikieli yhdistää Pythonin parhaat puolet järjestelmäohjelmointiin ja metaohjelmointiin ja kuroo umpeen tutkimuksen ja tuotannon välistä kuilua.

Tim on sarjayrittäjä ja tuotejohtaja. Hän auttoi rakentamaan, perustamaan ja skaalaamaan Googlen (GOOGL ) tekoälyinfrastruktuurin suuria osia Google Brainissa ja Core Systemsissä. Näihin kuuluivat rajapinnat (TensorFlow), kääntäjät (XLA ja MLIR), palvelinten suoritusympäristöt (CPU/GPU/TPU), TF Lite (mobiili/mikro/verkko), Android ML, NNAPI, suurten mallien infrastruktuuri ja avoimen lähdekoodin ohjelmistot miljardeille käyttäjille ja laitteille. Hän pitää juoksemisesta sekä ihmisiä ja maailmaa auttavien tuotteiden rakentamisesta ja skaalaamisesta.

Milloin tutustuit ensimmäisen kerran ohjelmointiin, ja mikä siinä kiinnosti?

Kasvoin Australiassa. Isä toi kotiin Commodore 64C:n, ja pelit saivat minut koukkuun: Boulder Dash, Maniac Mansion ja Double Dragon — hienoa aikaa! Tietokone tutustutti minut BASICiin, ja sen parissa kokeileminen oli ensimmäinen varsinainen kosketukseni ohjelmointiin. Harrastus syveni koulussa ja yliopistossa, joissa käytin insinöörikursseilla perinteisiä staattisesti tyypitettyjä kieliä. Kokeilin myös JavaScriptiä ja VBA:ta, ennen kuin päädyin tekemään suurimman osan ohjelmoinnista Pythonilla, datatieteen ja tekoälyn kielellä. Kirjoitin paljon koodia aiemmissa startup-yrityksissäni. Nykyään käytän tietysti Mojoa ja sen ympärille rakentamaamme työkaluketjua.

Työskentelit Googlella yli viisi vuotta vanhempana tuotepäällikkönä ja tuoteryhmän johtajana ja autoit skaalaamaan Google Brainin tekoälyinfrastruktuuria. Mitä opit?

Ihmiset rakentavat maailmaa muuttavat teknologiat ja tuotteet. Niitä tuo maailmaan omistautunut ryhmä, jota yhdistää suurempi visio. Google on uskomaton yritys, jossa on hienoja ihmisiä. Kun muutin liittyäkseni Brain-tiimiin vuosia sitten, sain tavata monia tekoälyn terävimpiä osaajia ja työskennellä heidän kanssaan.

Tärkeimmät oppini olivat keskittyä aina käyttäjään ja tuoda monimutkaisuus esiin asteittain; antaa käyttäjille mahdollisuus kertoa omat ainutlaatuiset tarinansa maailmalle, kuten Ison valliriutan kunnostaminen tai rumpali Jasonin auttaminen; sekä houkutella ja koota monimuotoinen joukko ihmisiä yhteistä tavoitetta kohti. Valtavassa yrityksessä, joka on täynnä älykkäitä ja lahjakkaita ihmisiä, tämä on vaikeampaa kuin voisi kuvitella.

Kun muistelen aikaa siellä, mieleen jäävät ennen kaikkea ihmiset. Olen kiitollinen niille, jotka uskalsivat luottaa minuun ja ottaa riskejä. Monet näistä mahdollisuuksista kannustivat minua paremmaksi johtajaksi ja ihmiseksi sekä perehtymään tekoälyjärjestelmiin syvällisesti. Ymmärsin tekoälyn valtavan voiman vaikuttaa maailmaan. Juuri se antoi inspiraation ja rohkeuden lähteä ja perustaa Modular yhdessä Chrisin kanssa.

Miten Modular sai alkunsa?

Chris ja minä tapasimme Googlella ja toimme käyttöön monia teknologioita, jotka ovat vaikuttaneet merkittävästi nykyiseen tekoälymaailmaan. Näimme kuitenkin miljardien käyttäjien suuria työkuormia käyttöönottaessamme, että liian monimutkainen ja pirstaleinen infrastruktuuri jarrutti tekoälyä. Halusimme nopeuttaa tekoälyn vaikutusta nostamalla alan ohjelmistot tuotantotason laatuun, jotta voisimme globaalina yhteiskuntana vaikuttaa enemmän siihen, miten elämme. Kuinka monta ongelmaa tekoäly voisi auttaa ratkaisemaan, kuinka monta sairautta parantamaan ja kuinka paljon tuottavammiksi voisimme tulla? Tämän teknologian laajempi käyttö voisi parantaa tulevien sukupolvien edellytyksiä.

Vuosien työ kriittisen, laajamittaisen tekoälyinfrastruktuurin parissa näytti kehittäjien tuskan: mikseivät asiat vain toimisi? Jotta maailma voi omaksua tekoälyn valtavan muutosvoiman, tarvitaan helposti saavutettavaa ohjelmisto- ja kehittäjäinfrastruktuuria, joka skaalautuu tutkimuksesta tuotantoon. Se mahdollistaa seuraavan tieteellisten löytöjen aallon, jossa tekoäly on keskeinen. Tämä on suuri insinööritieteellinen haaste. Uskoimme voivamme rakentaa uuden lähestymistavan ja antaa kehittäjille kaikkialla mahdollisuuden parantaa maailmaa tekoälyllä. Onneksi monet liittyivät matkaan, ja sen ansiosta meillä on maailman paras tekoälyinfrastruktuuritiimi.

Miten Mojo-ohjelmointikieli rakennettiin alun perin oman tiiminne tarpeisiin?

Modularin visio on mahdollistaa tekoälyn käyttö kenelle tahansa missä tahansa. Kaikki tekemisemme tähtää tähän, ja suunnittelemme tuotteemme ja teknologiamme tästä tavoitteesta taaksepäin. Ensimmäisenä meille merkitsee omien kehittäjiemme työskentelynopeus. Koska olimme rakentaneet suuren osan nykyisestä tekoälyinfrastruktuurista, meidän oli harkittava tarkasti, mikä nopeuttaisi tiimiämme.

Olimme kokeneet tekoälyn kahden kielimaailman ongelman: tutkijat elävät Pythonissa, tuotanto- ja laitteistoinsinöörit C++:ssa. Vaihtoehdot olivat jatkaa samaa rataa tai ajatella koko lähestymistapa uudelleen. Valitsimme jälkimmäisen. Ongelma piti selvästi ratkaista, mutta ratkaisutapoja oli monia. Halusimme kohdata ekosysteemin sellaisena kuin se nyt on ja helpottaa siirtymistä tulevaisuuteen. Tiimimme tuntee laajojen ohjelmistomigraatioiden vaikeudet, emmekä halunneet toistaa niitä. Mielestämme mikään nykykieli ei ratkaissut kaikkia tekoälyhaasteita, joita tavoittelimme. Lähdimme siksi liikkeelle perusperiaatteista, ja Mojo syntyi.

Miten Mojo mahdollistaa saumattoman skaalautumisen ja siirrettävyyden eri laitteistoille?

Chris, minä ja Google-tiimimme, josta moni on nyt Modularilla, autoimme vuosia sitten tuomaan MLIR:n maailmaan. Tavoitteena oli auttaa globaalia yhteisöä ratkaisemaan todellisia haasteita mahdollistamalla tekoälymallien johdonmukainen esittäminen ja suorittaminen millä tahansa laitteistolla. MLIR on uudenlaista avoimen lähdekoodin kääntäjäinfrastruktuuria, jota on otettu laajasti käyttöön ja josta on nopeasti tulossa uusi standardi kääntäjien rakentamiseen LLVM:n kautta.

Koska tiimimme on ollut luomassa tätä infrastruktuuria, on luonnollista hyödyntää sitä paljon Modularilla. Se on uuden tekoälyinfrastruktuurimme edistyksellisen lähestymistavan perusta. MLIR leviää nopeasti, mutta Mojo on ensimmäinen kieli, joka todella tuo sen voiman kehittäjille ainutlaatuisella ja helposti saavutettavalla tavalla. Se skaalautuu sovelluksia kirjoittavista Python-kehittäjistä suorituskykyinsinööreihin ja edelleen laitteistoinsinööreihin, jotka kirjoittavat erittäin matalan tason järjestelmäkoodia omalle laitteistolleen.

Mojoa kuvaillaan Python++:ksi, jossa yhdistyvät Pythonin helppous ja C:n suorituskyky. Onko tämä liiallinen yksinkertaistus? Miten kuvailisit sitä?

Mojon pitäisi tuntua Python-ohjelmoijasta tutulta, koska syntaksi on sama. Yksinkertaista Python-ohjelmaa Mojoon siirrettäessä näkyy kuitenkin tärkeitä eroja, ja tavoitteena on sen toimiminen suoraan. Yksi keskeinen tavoitteemme on Pythonin ylijoukko: Mojo olisi yhteensopiva nykyisten Python-ohjelmien kanssa ja hyödyntäisi CPython-toteutusta myös ekosysteemin harvinaisempien osien tukemiseksi.

Koodia voi sitten vähitellen täydentää ja korvata hitaat kohdat Mojon matalan tason ominaisuuksilla. Muistin eksplisiittinen hallinta, tyyppien lisääminen, automaattinen viritys ja muut ominaisuudet mahdollistavat C:n tasoisen tai paremman suorituskyvyn. Näin saa molempien maailmojen parhaat puolet eikä algoritmeja tarvitse kirjoittaa uudelleen eri kielillä. Python++ on valtava ja monivuotinen tavoite, mutta olemme sitoutuneet tekemään siitä totta. Yli 140 000 kehittäjän hieno yhteisömme auttaa rakentamaan tulevaisuutta yhdessä.

Tuoreessa esityksessä Mojo oli 35 000 kertaa Pythonia nopeampi. Miten nopeus laskettiin?

Nyt se on itse asiassa 68 000 kertaa nopeampi! On kuitenkin tunnustettava, että kyse on vain yhdestä Mandelbrot-ohjelmasta. Saavutuksesta voi lukea kolmen blogikirjoituksen sarjan. Olemme tehneet tätä pitkään ja tiedämme, etteivät suorituskykyleikit, vaikka hauskoja ovatkin, ratkaise kielen omaksumista. Ratkaisevia ovat kehittäjien nopeus, kielen käytettävyys, laadukkaat työkaluketjut ja dokumentaatio sekä yhteisö, joka keksii ja rakentaa infrastruktuurilla asioita, joita emme edes osaa kuvitella.

Rakennamme työkaluja, jotta maailma voisi luoda upeita tuotteita ja ratkaista tärkeitä ongelmia. Laajempi tavoitteemme on kieli, joka kohtaa käyttäjän nykytilanteessa ja nostaa hänet helposti parempaan tilanteeseen. Mojo on suorituskykyinen, käytettävä, staattisesti tyypitetty ja siirrettävä kieli, joka integroituu saumattomasti nykyiseen Python-koodiin. Monisäikeisyys ja rinnakkaisuus avaavat laitteiston todellisen voiman tavoilla, joihin pelkkä Python ei nyt pysty. Globaali kehittäjäyhteisö saa yhden kielen, joka skaalautuu ylimmältä tasolta alimmalle.

Mojon vahvuus on ohjelmointikielten yhdistäminen yhdeksi työkalukokonaisuudeksi. Miksi se on tärkeää?

Kielet menestyvät ekosysteemiensä ja yhteisöjensä voimalla. Olemme tehneet pitkään työtä avoimen lähdekoodin yhteisöjen kanssa ja harkitsemme tarkasti oikeaa osallistumistapaa ja yhteisön etua. Teemme kovasti työtä infrastruktuurin julkaisemiseksi, mutta tiimin kasvattaminen vaatii aikaa. Kaikkia vastauksia ei siis ole heti, mutta pääsemme sinne. Tavoitteemme on vahvistaa Python-ekosysteemiä omaksumalla koko nykyinen ekosysteemi, ei pirstoa sitä monien muiden projektien tapaan. Yhteentoimivuus antaa yhteisön kokeilla infrastruktuuriamme kirjoittamatta kaikkea koodia uudelleen. Tämä on tekoälylle erittäin tärkeää.

Olemme oppineet paljon tekoälyinfrastruktuurin ja työkalujen kymmenvuotisesta kehityksestä. Nykyisiä monoliittisia järjestelmiä ei ole helppo laajentaa tai yleistää alkuperäisen kohdealueensa ulkopuolelle. Seurauksena on hyvin pirstaleinen käyttöönottoala, jossa kymmenillä työkaluketjuilla on eri kompromissit ja rajoitukset. Heikompi käytettävyys, siirrettävyys ja skaalattavuus ovat hidastaneet innovaatioita.

Seuraavan sukupolven tekoälyjärjestelmän on oltava tuotantolaatuinen ja kohdattava kehittäjä tämän nykytilanteessa. Se ei saa vaatia kallista käyttäjäkoodin uudelleenkirjoittamista, arkkitehtuurin muuttamista tai uuden perustan rakentamista. Sen pitää tukea luontaisesti useita viitekehyksiä, pilviä ja laitteistoja sekä yhdistää paras suorituskyky ja tehokkuus parhaaseen käytettävyyteen. Vain näin vähennetään pirstaleisuutta ja mahdollistetaan seuraavan sukupolven laitteisto-, data- ja algoritmi-innovaatiot.

Modular ilmoitti hiljattain 100 miljoonan dollarin uudesta rahoituksesta, jota johti General Catalyst ja johon osallistuivat nykyiset sijoittajat GV (Google Ventures), SV Angel, Greylock ja Factory. Mitä seuraavaksi on odotettavissa?

Pääoma käytetään ennen kaikkea tiimin kasvattamiseen, parhaiden tekoälyinfrastruktuurin osaajien palkkaamiseen ja alustamme valtavan kaupallisen kysynnän tyydyttämiseen. Modverse-yhteisössämme on reilusti yli 130 000 kehittäjää ja kymmeniä tuhansia yrityksiä, jotka haluavat infrastruktuurimme. Haluamme jatkaa skaalaamista, kehittää sitä heille ja toimittaa sen käyttöön. Asetamme itsellemme erittäin korkeat standardit. Julkaisemamme tuotteet kuvaavat meitä tiiminä ja sitä, millaiseksi yritykseksi kasvamme. Jos tunnet motivoituneen henkilön, joka pitää ohjelmiston ja laitteiston rajapinnasta ja haluaa auttaa tekoälyn merkityksellistä ja myönteistä leviämistä maailmaan, ohjaa hänet meille.

Mikä on visiosi ohjelmoinnin tulevaisuudesta?

Ohjelmoinnin pitäisi olla taito, jonka jokainen yhteiskunnassa voi kehittää ja jota jokainen voi hyödyntää. Monelle ajatus ohjelmoinnista tuo mieleen kehittäjän, joka kirjoittaa vaikeaa matalan tason koodia raskaan matematiikan ja logiikan avulla. Sen ei tarvitse näyttää siltä. Teknologia on aina lisännyt yhteiskunnan tuottavuutta. Tekemällä ohjelmoinnista saavutettavampaa ja käytettävämpää voimme auttaa useampia omaksumaan sen. Toistuvien prosessien automatisointi ja elämän helpottaminen ovat tehokkaita tapoja palauttaa ihmisille aikaa.

Python on jo upea, ajan kestänyt kieli: maailman suosituin, jolla on hieno yhteisö, mutta myös rajoituksia. Voimme tehdä siitä vielä tehokkaamman ja kannustaa useampia omaksumaan sen kauneuden ja yksinkertaisuuden. Kyse on tuotteista, jotka paljastavat monimutkaisuuden asteittain: ne tarjoavat korkean tason abstraktioita mutta skaalautuvat erittäin matalalle tasolle.

Näemme jo suuren edistysaskeleen tekoälymallien muuntaessa tekstiä koodiksi, ja tämä henkilökohtaistuu ajan myötä. Näennäisen taian takana on silti kehittäjä, joka kirjoittaa ja ottaa käyttöön sitä pyörittävän koodin. Olemme kirjoittaneet tästä aiemmin. Tekoäly avaa luovuutta ja tuottavuutta monissa ohjelmointikielissä. Uskon myös Mojon avartavan ekosysteemiä edelleen ja tuovan saavutettavuutta, skaalautuvuutta ja laitteistosiirrettävyyttä yhä useammille kehittäjille maailmassa.

Tekoäly tulee elämäämme lukemattomin tavoin ja on läsnä kaikkialla. Toivon Mojon kannustavan kehittäjiä ratkaisemaan ihmiskunnan tärkeimmät ongelmat nopeammin riippumatta siitä, missä he asuvat. Tämän tulevaisuuden puolesta kannattaa mielestäni ponnistella.

Kiitos hienosta haastattelusta. Lisätietoja haluavat lukijat voivat vierailla Modularin sivustolla.

Antoine on visionäärinen johtaja ja Unite.AI:n perustajaosakas, jota ohjaa vankkumaton intohimo tekoälyn ja robotiikan tulevaisuuden muovaamiseen ja edistämiseen. Sarjayrittäjänä hän uskoo tekoälyn muuttavan yhteiskuntaa yhtä perusteellisesti kuin sähkö, ja hän puhuu usein innostuneesti mullistavien teknologioiden ja yleisen tekoälyn (AGI) mahdollisuuksista.

Futuristina hän on omistautunut selvittämään, miten nämä innovaatiot muovaavat maailmaamme. Hän on myös Securities.io:n perustaja. Alusta keskittyy sijoittamaan huipputeknologioihin, jotka määrittelevät tulevaisuutta uudelleen ja muuttavat kokonaisia toimialoja.