Tekoäly
Tim Davis, Modularin Co-Founder & President – Haastattelusarja

Tim Davis on Modularin Co-Founder & President, joka on kehittänyt Modular-alustan, joka on integroitu, koostuu osista ja tarjoaa työkalupaketti, joka yksinkertaa tekoäly-infrastruktuurin, jotta tiimisi voi kehittää, ottaa käyttöön ja innovoida nopeammin. Modular on parhaiten tunnettu Mojo-ohjelmointikielen kehittämisestä, joka yhdistää Pythonin ja järjestelmä- ja metatason ohjelmoinnin parhaat puolet.
Toistuva yrittäjä ja tuotteen johtaja. Tim auttoi kehittämään, perustamaan ja skaalaamaan suuria osia Google Brainin tekoäly-infrastruktuurista Google Brainissa ja Core Systems – API:sta (TensorFlow), kääntäjistä (XLA & MLIR) ja suoritusaikana palvelimille (CPU/GPU/TPU) ja TF Lite (Mobile/Micro/Web), Android ML & NNAPI, suurten mallien infrastruktuuri & OSS miljoonille käyttäjille ja laitteille. Rakastaa juoksemista, tuotteiden kehittämistä ja skaalaamista, jotta ihmiset ja maailma hyötyvät.
Milloin löysit ohjelmoinnin ensimmäisen kerran, ja mitä sinuun vaikutti?
Lapsena kasvettuani Australiassa, isäni toi kotiin Commodore 64C:n ja pelit olivat se, mikä sai minut koukkuun – Boulder Dash, Maniac Mansion, Double Dragon – mitä aikaa elää. Tuo tietokone esitteli minulle BASICin ja sen kanssa leikkiminen oli minun ensimmäinen oikea tuttavuus ohjelmoinnin kanssa. Asiaa syvennettiin lukion ja yliopiston aikana, jolloin käytin perinteisempiä kieliä insinöörikursseilla, ja myöhemmin kokeilin myös Javascriptiä ja VBA:ta, ennen kuin asettuin Pythoniin, josta tuli data-tieteen ja tekoälyn kieli. Kirjoitin paljon koodia aiemmissa startup-projekteissani, mutta nykyään käytän tietysti Mojoa ja sen työkalupakettia.
Kuusi vuotta työskennellessäsi Googlella Senior Product Managerina ja Group Product Leaderina, auttoit skaalaamaan suuria osia Google Brainin tekoäly-infrastruktuurista. Mitä opit tästä kokemuksesta?
Ihmiset ovat ne, jotka rakentavat maailmanmuuttavia teknologioita ja tuotteita, ja sitoutunut ryhmä ihmisiä, jotka ovat sitoutuneita suurempaan visioon, tuo heidät maailmaan. Google on uskomaton yritys, jossa on uskomattomia ihmisiä, ja olin onnekas, kun tapasin ja työskentelin monien älymystön johtajien kanssa tekoälyssä vuosia sitten, kun liityin Brain-tiimiin. Suurimmat oppini olivat aina keskittyä käyttäjään ja paljastaa monimutkaisuutta asteittain, antaa käyttäjille mahdollisuuden kertoa omat tarinansa maailmalle, kuten suuremman esteettömyyden korjaaminen tai ihmisten auttaminen, ja kerätä monipuolinen joukko ihmisiä yhteiseen tavoitteeseen. Massiivisessa yrityksessä, jossa on hyvin älykkäitä ja lahjakkaita ihmisiä, tämä on paljon haasteellisempaa kuin voit kuvitella. Ajatellessani aikaa siellä, se on aina ihmiset, joiden kanssa työskentelin, jotka ovat todella muistettavia. Aion aina muistella ja arvostaa, että monet ihmiset ottivat riskejä minuun, ja olen valtavan kiitollinen heille, koska monet näistä riskeistä rohkaisivat minua olemaan parempi johtaja ja ihminen, syventymään ja ymmärtämään tekoälyjärjestelmiä. Tämä teki minulle selväksi, kuinka suuren vaikutuksen tekoäly voi maailmaan.
Voitko kertoa Modularin syntytarinan?
Chris ja minä tapasimme Googlella ja toimimme monien vaikutusvaltaisten teknologioiden parissa, jotka ovat vaikuttaneet merkittävästi tekoälymaailmaan tänään. Kuitenkin me kokeilimme, että tekoälyä hidastivat liian monimutkaiset ja hajanaiset infrastruktuurit, joita näimme itse käyttöön otettaessa suuria kuormittaa miljoonille käyttäjille. Meidät motivoi halu kiihdyttää tekoälyn vaikutusta maailmaan kohottamalla alan tuotantolaatuisiin tekoälyohjelmiin, jotta voimme, maailmanlaajuiseksi yhteiskuntana, vaikuttaa enemmän siihen, miten elämme. Kukaan ei voi olla varma, montako ongelmaa tekoäly voi auttaa ratkaisemaan, montako sairautta parantamaan, kuinka paljon tuottavampia voimme tulla lajina, edistääksemme olemassaoloamme tuleville sukupolville, lisäämällä tämän uskomattoman teknologian läpinäkyvyyttä.
Työskennellessäme yhdessä vuosien ajan suurten tekoäly-infrastruktuurien parissa – näimme valtavan kehittäjien kärsimyksen – “miksi asiat eivät vain toimi”? Maailman hyväksymiseksi ja tekoälyn muuntavan luonteen löytämiseksi tarvitsemme ohjelmisto- ja kehittäjä-infrastruktuuria, joka skaalautuu tutkimuksesta tuotantoon ja on helposti saatavilla. Tämä mahdollistaa meille lukittaa seuraavan tieteellisen löytöjen tien – jossa tekoäly on kriittinen – ja on suuri insinöörien haaste. Tämän taustan motivoidessa meitä, kehittimme sisäsyntyisen uskon, että voimme lähteä rakentamaan uuden lähestymistavan tekoäly-infrastruktuurille ja antaa kehittäjille mahdollisuuden käyttää tekoälyä tekemään maailmasta paremman paikan. Olemme myös erittäin onnekkaita, kun meillä on monia ihmisiä, jotka liittyvät tähän matkaan, ja meillä on maailman paras tekoäly-infrastruktuuritiimi tuloksena.
Voitko keskustella siitä, miten Mojo-ohjelmointikieli kehitettiin alun perin omalle tiimille?
Modularin visio on tehdä tekoälystä jokaisen saatavilla. Kaikki, mitä teemme Modularissa, on keskittynyt tähän tavoitteeseen, ja me käymme taaksepäin siinä, miten kehittämme tuotteitamme ja teknologiamme. Tässä valossa, meidän omien kehittäjien nopeus on se, mikä meillä on tärkeintä, ja kun olemme rakentaneet niin paljon olemassa olevaa tekoäly-infrastruktuuria maailmalle – meidän on huolehdittava siitä, mitä mahdollistaa tiimimme nopeamman liikkumisen. Olemme kokeneet kaksi maailman kielen ongelman tekoälyssä – jossa tutkijat elävät Pythonissa, ja tuotannon ja laitteiden insinöörit elävät C++:ssa – ja meillä ei ollut muuta valintaa kuin joko kulkea tämän tien tai ajatella lähestymistapaa uudelleen. Valitsimme jälkimmäisen. Siellä oli selkeä tarve ratkaista tämä ongelma, mutta monia eri tapoja ratkaista se – lähestyimme sitä vahvalla uskollamme kohtaamalla ekosysteemin siinä, missä se on tänään, ja mahdollistamalla yksinkertaisen siirtymän tulevaisuuteen. Tiimimme kantaa ohjelmistosiirtymän arpeja suuressa mittakaavassa, ja emme halunneet toistaa sitä. Myös ymmärsimme, ettei ole kieltä tänään, joka voisi ratkaista kaikki haasteet, joita yritämme ratkaista tekoälylle, joten otimme ensisijaisen lähestymistavan, ja Mojo syntyi.
Miten Mojo mahdollistaa saumattoman skaalautuvuuden ja siirrettävyyden monien laitteiden tyypien yli?
Chris, minä ja tiimimme Googlella (monet Modularissa) auttoimme MLIRin kehittymistä maailmaan vuosia sitten – tavoitteena auttaa maailmanyhteisöä ratkaisemaan todellisia haasteita mahdollistamalla tekoälymallien johdonmukaisen edustamisen ja suorittamisen minkä tahansa laitteen tyypillä. MLIR on uudenlainen avoimen lähdekoodin kääntäjäinfra, joka on otettu käyttöön laajasti, ja se on nopeasti tuleva uusi standardi kääntäjien rakentamiseen LLVM:n kautta. Tiimimme historian perusteella luomalla tämän infrastruktuurin, on luonnollista, että käytämme sitä voimakkaasti Modularissa, ja se on perusta meille uuden tekoäly-infrastruktuurin kehittämiselle maailmalle. Kriittisesti, vaikka MLIR on nyt nopeasti omaksuttu, Mojo on ensimmäinen kieli, joka todella ottaa MLIRin voiman ja paljastaa sen kehittäjille ainutlaatuisella ja saatavilla tavalla. Tämä tarkoittaa, että se skaalautuu Python-kehittäjiltä, jotka kirjoittavat sovelluksia, suorituskykyinsinööreille, jotka ottavat käyttöön suorituskykykoodia, ja laitteiden insinööreille, jotka kirjoittavat erittäin matalan tason järjestelmäkoodia omille laitteilleen.
Viittaukset Mojoon väittävät, että se on perustavasti Python++, jolla on Pythonin saatavuus ja C:n suorituskyky. Onko tämä karkea yksinkertaisuus? Kuinka kuvailisit sen?
Mojo tulisi tuntua erittäin tutulta Python-ohjelmoijalle, koska se jakaa Pythonin syntaksin. Mutta on muutamia tärkeitä eroja, joita huomaat, kun siirrät yksinkertaisen Python-ohjelman Mojoon, mukaan lukien se, että se toimii suoraan. Yksi tärkeimmistä tavoitteistamme Mojon kanssa on tarjota Pythonin superset – eli tehdä Mojo yhteensopivaksi olemassa olevien Python-ohjelmien kanssa – ja omaksua CPython-toteutus pitkän hännän ekosysteemien tukemiseksi. Sitten mahdollistaa sinun hitaasti täydentää koodiasi ja korvata huonosti suorittavat osat Mojon matalan tason ominaisuuksilla, jotta voit eksplisiittisesti hallita muistia, lisätä tyyppejä, hyödyntää itseään säätävää ja monia muita ominaisuuksia saadaksesi C:n tai paremman suorituskyvyn! Uskomme, että Mojo antaa sinulle molemmat maailmat, ja sinun ei tarvitse kirjoittaa ja uudelleenkirjoittaa algoritmejasi useilla kielillä. Arvostamme, että Python++ on valtava tavoite, ja se on monivuotinen yritys, mutta olemme sitoutuneita tekemään siitä totta ja mahdollistamaan legendaarisen yhteisömme yli 140 000 kehittäjän avulla rakentaa tulevaisuutta yhdessä.
Viimeaikaisessa avainpuhujaisessa esiteltiin, että Mojo on 35 000 kertaa nopeampi kuin Python, miten tämä nopeus laskettiin?
Se on itse asiassa 68 000 nyt! Mutta tunnustetaan, että se on vain yksi ohjelma Mandelbrotissa – voit mennä ja lukea sarjan kolmea blogikirjoitusta siitä, miten saavutimme tämän – täällä, täällä ja täällä. Toki olemme tehneet tätä pitkään ja tiedämme, että suorituskykypelit eivät ole se, mikä ajaa kielen omaksumista (vaikka ne ovat hauskoja!) – se on kehittäjien nopeus, kielen käytettävyys, laadukkaat työkalupaketit ja dokumentaatio, ja yhteisö, joka käyttää infrastruktuuria keksimään ja rakentamaan tapoja, joita emme voi edes kuvitella. Olemme työkalujen rakentajia, ja tavoitteemme on antaa maailmalle mahdollisuus käyttää työkalujamme, luoda upeita tuotteita ja ratkaista tärkeitä ongelmia. Jos keskitymme suurempaan tavoitteeseemme, se on luoda kieli, joka kohtaa sinut siinä, missä olet tänään, ja sitten nostaa sinut helposti parempaan maailmaan. Mojo antaa sinulle erittäin suorituskykyisen, käytettävän, staattisesti tyypitetyn ja siirrettävän kielen, joka sulautuu saumattomasti olemassa olevaan Python-koodiisi – antaen sinulle molemmat maailmat. Se antaa sinulle mahdollisuuden toteuttaa laitteiston todellisen voiman monisäikeistyksellä ja rinnakkaisuudella tapoja, joita raaka Python ei voi tänään – lukitsee maailmanlaajuisen kehittäjäyhteisön käyttämään yhtä kieltä, joka skaalautuu ylhäältä alas.
Mojon magia on sen kyky yhdistää ohjelmointikieli yhden työkalupakin avulla, miksi tämä on niin tärkeää?
Kielet menestyvät aina ekosysteemien voiman ja yhteisöjen kautta, jotka muodostuvat niiden ympärille. Olemme työskennelleet avoimen lähdekoodin yhteisöjen kanssa pitkään, ja olemme erittäin tarkkoja siitä, miten osallistua oikein ja varmistaa, että teemme oikein yhteisölle. Työskentelemme erittäin kovaa laivan ja tuotteidemme kehittämiseksi, mutta tarvitsemme aikaa skaalata tiimiämme – joten emme voi kaikkia vastauksia heti, mutta pääsemme sinne. Askeltakaamme taaksepäin, tavoitteemme on kohottaa Python-ekosysteemiä omaksumalla koko olemassa olevan ekosysteemin, ja emme pyri särkeä sitä kuin monissa muissa projekteissa. Yhteensopivuus tekee siitä helpomman yhteisölle kokeilla infrastruktuuriamme ilman koko koodin uudelleenkirjoittamista, ja se on tärkeää tekoälylle.
Olemme myös oppineet niin paljon tekoäly-infrastruktuurin ja työkalujen kehittämisestä viimeisen kymmenen vuoden aikana. Olemassa olevat monoliittiset järjestelmät eivät ole helposti laajennettavissa tai yleistettävissä alkuperäisen kohdemaailman ulkopuolelle, ja seuraus on valtavan fragmentoitu tekoäly-infrastruktuurin teollisuus, jossa on kymmeniä työkalupaketteja, joilla on erilaiset kompromissit ja rajoitukset. Nämä suunnittelumallit ovat hidastaneet innovaation vauhtia, koska ne ovat vähemmän käytettävissä, vähemmän siirrettävissä ja vaikeampia skaalata.
Seuraavan sukupolven tekoälyjärjestelmän on oltava tuotantolaatuinen ja tapahtua siellä, missä kehittäjät ovat. Se ei saa vaatia kallista uudelleenkirjoittamista, uudelleenarkkitehtuuria tai uudelleenperustamista käyttäjän koodille. Se on oltava luonnostaan monien kehyksien, monien pilvien ja monien laitteiden tukija. Se on yhdistettävä parhaimman suorituskyvyn ja tehokkuuden parhaimman käytettävyyden kanssa. Tämä on ainoa tapa vähentää fragmentaatiota ja lukita seuraavan sukupolven laitteiston, datan ja algoritmisten innovaatioiden.
Modular ilmoitti äskettäin keränneensä 100 miljoonaa dollaria uutta rahoitusta, jota johtaa General Catalyst ja johon osallistuvat olemassa olevat sijoittajat GV (Google Ventures), SV Angel, Greylock ja Factory. Mitä odotetaan seuraavaksi?
Tämä uusi pääoma käytetään pääasiassa tiimimme kasvattamiseen, parhaiden tekoäly-infrastruktuurin ammattilaisten palkkaamiseen ja jatkamiseen siinä, mitä me teemme, ja vastaamaan valtavaa kaupallista kysyntää, jonka näemme alustamme kohtaan. Modverse, yhteisömme, jossa on yli 130 000 kehittäjää ja 10 000 yritystä, etsivät infrastruktuuriamme – joten haluamme varmistaa, että jatkamme skaalautumista ja työskentelemme kovaa sen kehittämiseksi heidän käyttöönsä ja toimittamiseksi heille. Pidämme itseämme erittäin korkean standardin mukaisena, ja tuotteet, jotka toimitamme, heijastavat sitä, keitä olemme tiiminä ja keitä meistä tulee yrityksenä. Jos tunnet ketään, joka on motivoitunut, joka rakastaa ohjelmistojen ja laitteiden rajoja, ja joka haluaa auttaa tekoälyn vaikuttamaan maailmaan merkittävällä ja positiivisella tavalla – lähetä heille viesti.
Mikä on visiosi ohjelmoinnin tulevaisuudesta?
Ohjelmointi tulisi olla taito, jonka kuka tahansa voi kehittää ja hyödyntää. Monille, “ohjelmoinnin” käsite herättää välittömästi kuvan kehittäjästä, joka kirjoittaa monimutkaisia matalan tason koodauksia, jotka vaativat runsaasti matematiikkaa ja logiikkaa – mutta se ei tarvitse välttämättä olla sitä. Teknologia on aina ollut suuren tuottavuuden kiihdyttäjä yhteiskunnalle, ja ohjelmoinnin tekeminen helpommaksi ja käytettävämmäksi voi antaa enemmän ihmisten mahdollisuuden omaksua sitä. Antaa ihmisille mahdollisuuden automatisoida toistuvia prosesseja ja tehdä elämästään helpomman on voimakas tapa antaa ihmisille enemmän aikaa.
Ja Pythonissa meillä on jo upea kieli, joka on kestänyt ajan koettelemukset – se on maailman suosituin kieli, jolla on uskomaton yhteisö – mutta se myös rajoituksia. Uskon, että meillä on valtava mahdollisuus tehdä siitä vielä voimakkaampi, ja rohkaista enemmän maailmaa omaksumaan sen kauneuden ja yksinkertaisuuden. Kuten mainitsin aiemmin, se on rakentamassa tuotteita, joissa on asteittainen monimutkaisuuden paljastus – mahdollistaa korkean tason abstraktioita, mutta skaalautuu erittäin matalan tason yksityiskohtiin. Olemme jo todistamassa merkittävää loikkaa tekoälymallien avulla, jotka mahdollistavat progressiivisen teksti-koodin käännökset – ja nämä tulevat vain yksilöllisemmiksi ajan myötä – mutta tämän taianomaisen innovaation takana on edelleen kehittäjä, joka kirjoittaa ja ottaa käyttöön koodia sen voimaan saattamiseksi. Olemme kirjoittaneet siitä aiemmin – tekoäly jatkaa luovuuden ja tuottavuuden avaamista monissa ohjelmointikielissä, mutta uskon myös, että Mojo avaa ekosysteemin aukon vielä laajemmaksi, antaen enemmän saatavuutta, skaalautuvuutta ja laitteiden siirrettävyyttä kehittäjille ympäri maailman.
Lopettaessani, tekoäly tulee tunkeutumaan elämäämme monin tavoin, ja se tulee olemaan joka paikassa – toivon, että Mojo kiihdyttää kehittäjiä menemään ja ratkaisemaan tärkeimmät ongelmat ihmiskunnalle nopeammin – riippumatta siitä, missä he asuvat maailmassa. Uskon, että se on tulevaisuus, jonka puolesta kannattaa taistella.
Kiitos haastattelusta, lukijat, jotka haluavat oppia lisää, kannattaa vierailla Modular-sivustolla.
