AI-modeller og plattformer

Tim Davis, medgrunnlegger og president i Modular – Intervju-serie

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Tim Davis er medgrunnlegger og president i Modular, et integrert, komposisjonelt sett med verktøy som forenkler AI-infrastrukturen slik at teamet ditt kan utvikle, distribuere og innovere raskere. Modular er best kjent for å utvikle Mojo, et nytt programmeringsspråk som broer gapet mellom forskning og produksjon ved å kombinere det beste fra Python med systemer og metaprogrammering.

Gjentakende entrepreneur og produktleder. Tim hjalp til å bygge, finne og skala opp store deler av Googles AI-infrastruktur på Google Brain (GOOGL ) og Core Systems fra API-er (TensorFlow), kompilatorer (XLA & MLIR) og kjøretid for server (CPU/GPU/TPU) og TF Lite (Mobile/Micro/Web), Android ML & NNAPI, stor modell-infrastruktur & OSS for milliarder av brukere og enheter. Elsker å løpe, bygge og skala produkter for å hjelpe mennesker, og verden.

Når oppdaget du først koding, og hva tiltalte deg til det?

Som en gutt som vokste opp i Australia, tok faren min med hjem en Commodore 64C og spill var det som fikk meg hooked – Boulder Dash, Maniac Mansion, Double Dragon – hva en tid å være i live. Denne datamaskinen introduserte meg til BASIC og hacking rundt med det var min første virkelige introduksjon til programmering. Ting ble mer intense gjennom High School og Universitet hvor jeg brukte mer tradisjonelle statiske språk for ingeniørkurs, og over tid dabbet jeg også i Javascript og VBA, før jeg til slutt slo meg ned på Python for det meste av programmering som språket for datavitenskap og AI. Jeg skrev en del kode i mine tidligere startups, men disse dagene, selvfølgelig, bruker jeg Mojo og verktøykjeden vi har skapt rundt det.

For over 5 år arbeidet du i Google som Senior Product Manager og Group Product Leader, hvor du hjalp til å skala opp store deler av Googles AI-infrastruktur på Google Brain. Hva lærte du fra denne erfaringen?

Mennesker er det som bygger verdensforandrende teknologier og produkter, og det er en dedikert gruppe mennesker bundet av en større visjon som bringer dem til verden. Google er et fantastisk selskap, med fantastiske mennesker, og jeg var heldig å møte og arbeide med mange av de brightest mente i AI for noen år siden når jeg flyttet for å bli med i Brain-teamet. De største leksjonene jeg lærte var å alltid fokusere på brukeren og progressivt avdekke kompleksitet, å gi brukerne mulighet til å fortelle sine unike historier til verden som å fikse Greater Barrier Reef eller hjelpe mennesker som Jason the Drummer, og å tiltrekke og samle en divers blanding av mennesker for å drive mot et felles mål. I et stort selskap av svært smarte og talentfulle mennesker, er dette mye harder enn du kan forestille deg. Når jeg ser tilbake på min tid der, er det alltid menneskene jeg arbeidet med som er virkelig minneverdige. Jeg vil alltid se tilbake og være takknemlig for at mange mennesker tok risiko på meg, og jeg er enormt takknemlig de gjorde, fordi mange av disse risikoene oppmuntret meg til å være en bedre leder og person, å dykke dypt og virkelig forstå AI-systemer. Det gjorde meg virkelig realisere den dyptgående kraften AI har til å påvirke verden, og dette var den virkelige grunnen til at jeg hadde inspirasjonen og motet til å forlate og medgrunnlegge Modular.

Kan du dele historien bak Modular?

Chris og jeg møttes på Google og leverte mange innflytelsesrike teknologier som har hatt en betydelig innvirkning på AI-verdenen i dag. Men vi følte at AI ble hindret av overkompleks og fragmentert infrastruktur som vi så med egne øyne da vi distribuerte store arbeidsbyrder til milliarder av brukere. Vi var motivert av en ønske om å akselerere innvirkningen av AI på verden ved å løfte industrien mot produksjonskvalitets AI-programvare, så vi, som en global samfunn, kan ha en større innvirkning på hvordan vi lever. En kan ikke hjelpe, men undre seg over hvor mange problemer AI kan hjelpe med å løse, hvor mange sykdommer kurert, hvor mye mer produktive vi kan bli som en art, for å fremme vår eksistens for fremtidige generasjoner, ved å øke penetreringen av denne fantastiske teknologien.

Etter å ha arbeidet sammen i mange år på stor skala-kritisk AI-infrastruktur – så vi det enorme utvikler-pinen først hånd – “hvorfor kan ting ikke bare fungere”? For at verden skal adoptere og oppdage den enorme transformative naturen av AI, trenger vi programvare og utvikler-infrastruktur som skalerer fra forskning til produksjon, og er høyt tilgjengelig. Dette vil enable oss til å låse opp den neste måten av vitenskapelige oppdagelser – av hvilke AI vil være kritisk – og er en stor ingeniør-utfordring. Med denne motiverende bakgrunnen, utviklet vi en intrinsisk tro på at vi kunne sette ut for å bygge en ny tilnærming for AI-infrastruktur, og gi utviklere overalt mulighet til å bruke AI til å hjelpe med å gjøre verden til et bedre sted. Vi er også svært heldige å ha mange mennesker som slutter seg til oss på denne reisen, og vi har verdens beste AI-infrastruktur-team som et resultat.

Kan du diskutere hvordan Mojo-programmeringsspråket ble bygget for ditt eget team?

Modulars visjon er å enable AI til å bli brukt av alle, overalt. Alt vi gjør på Modular er fokusert på det målet, og vi går bakover fra det i måten vi bygger ut våre produkter og teknologi på. I dette lyset, er vår egen utvikler-hastighet det som betyr noe for oss først og fremst, og etter å ha bygget så mye av den eksisterende AI-infrastrukturen for verden – trengte vi å nøye vurdere hva som ville enable vårt team til å flytte raskere. Vi har levd gjennom det to-verdens språk-problemet i AI – hvor forskere bor i Python, og produksjon og hardware-ingeniører bor i C++ – og vi hadde ingen valg enn å enten gå ned den veien, eller tenke om tilnærmingen helt. Vi valgte det siste. Det var et tydelig behov for å løse dette problemet, men mange forskjellige måter å løse det – vi nærmet oss det med vår sterke tro på å møte økosystemet der det er i dag, og å enable en enklere løfting inn i fremtiden. Vårt team bærer arr fra programvare-migrering på stor skala, og vi ønsket ikke en gjentakelse av det. Vi realiserte også at det ikke finnes noen språk i dag, i vår mening, som kan løse alle utfordringene vi prøver å løse for AI, så vi tok en first-principles-tilnærming, og Mojo ble født.

Hvordan gjør Mojo det mulig å skale og portere over mange typer hardware?

Chris, jeg selv og vårt team på Google (mange på Modular) hjalp til å bringe MLIR inn i verden for noen år siden – med målet å hjelpe den globale samfunnet å løse virkelige utfordringer ved å enable AI-modeller til å bli konsistent representert og kjørt på enhver type hardware. MLIR er en ny type åpen kilde-kompilator-infrastruktur som har blitt adoptert på stor skala, og er raskt bliende den nye standarden for å bygge kompilatorer gjennom LLVM. Gitt vårt teams historie i å skape denne infrastrukturen, er det naturlig at vi bruker det tungt på Modular og dette underbygger vår state-of-the-art-tilnærming i å utvikle ny AI-infrastruktur for verden. Kritisk, mens MLIR nå blir raskt adoptert, er Mojo det første språket som virkelig tar kraften av MLIR og eksponerer det til utviklere på en unik og tilgjengelig måte. Dette betyr at det skalerer fra Python-utviklere som skriver applikasjoner, til ytelsesingeniører som distribuerer høy-ytelseskode, til hardware-ingeniører som skriver meget lav-nivå-systemkode for deres unike hardware.

Referanser til Mojo hevder at det er basisk Python++, med tilgjengeligheten til Python og høy-ytelsen til C. Er dette en grov forenkling? Hvordan ville du beskrive det?

Mojo burde føles svært kjent for enhver Python-programmer, da det deler Pythons syntaks. Men det er noen viktige forskjeller du vil se når du porter en enkel Python-program til Mojo, inkludert at det bare vil fungere ut av boksen. En av våre kjerne-mål for Mojo er å gi en superset av Python – det vil si, å gjøre Mojo kompatibelt med eksisterende Python-program – og å omfavne CPython-implementeringen for lang-hale-økosystem-støtte. Så enable deg til å sakte augmentere din kode og erstatte ikke-performende deler med Mojos lav-nivå-funksjoner til å eksplisitt håndtere minne, legge til typer, utnytte autotuning og mange andre aspekter til å få ytelsen av C eller bedre! Vi føler at Mojo gir deg det beste av begge verdener og du ikke trenger å skrive og skrive om dine algoritmer i flere språk. Vi setter pris på at Python++ er et enormt mål, og vil være et multi-års foretak, men vi er dedikert til å gjøre det virkelighet og å enable vår legendariske samfunn av over 140K+ utviklere til å hjelpe oss bygge fremtiden sammen.

I en nylig keynote ble det vist at Mojo er 35 000 ganger raskere enn Python, hvordan ble denne hastigheten beregnet?

Det er faktisk 68 000 nå! Men la oss erkjenne at det bare er ett enkelt program i Mandelbrot – du kan gå og lese en serie på tre blogg-innlegg på hvordan vi oppnådde dette – her, her og her. Selvfølgelig har vi gjort dette i lang tid og vi vet at ytelses-spill ikke er det som driver språk-adoptsjon (til tross for at de er gøy!) – det er utvikler-hastighet, språk-brukervennlighet, høy-kvalitets-verktøykjeder & dokumentasjon, og et samfunn som bruker infrastrukturen til å oppfinne og bygge på måter vi ikke kan forestille oss. Vi er verktøy-byggere, og vårt mål er å enable verden til å bruke våre verktøy, til å skape fantastiske produkter og løse viktige problemer. Hvis vi fokuserer på vårt større mål, er det faktisk å skape et språk som møter deg der du er i dag og løfter deg lett til en bedre verden. Mojo enable deg til å ha et høy-ytelses, brukervennlig, statisk-typet og portabelt språk som sømløst integrerer med din eksisterende Python-kode – givende deg det beste av begge verdener. Det enable deg til å realisere den sanne kraften av hardwaren med multithreading og parallellisering på måter som ren Python i dag ikke kan – låser opp den globale utvikler-samfunnet til å ha ett enkelt språk som skalerer fra topp til bunn.

Mojo sin magi er dens evne til å samordne programmeringsspråk med ett sett med verktøy, hvorfor er dette så viktig?

Språk lykkes alltid ved kraften av deres økosystemer og de samfunn som danner seg rundt dem. Vi har arbeidet med åpen kilde-samfunn i lang tid, og vi er usedvanlig omsorgsfulle når det gjelder å engasjere på riktig måte og sikre at vi gjør rett av samfunnet. Vi arbeider usedvanlig hardt for å levere vår infrastruktur, men trenger tid til å skala ut vårt team – så vi vil ikke ha alle svarene umiddelbart, men vi vil komme dit. Stepping tilbake, vårt mål er å løfte Python-økosystemet ved å omfavne hele eksisterende økosystemet, og vi søker ikke å sprekke det som så mange andre prosjekter. Interoperabilitet gjør det bare enklere for samfunnet å prøve vår infrastruktur, uten å måtte skrive om all deres kode, og det betyr mye for AI.

Og vi har lært så mye fra utviklingen av AI-infrastruktur og verktøy over de siste ti årene. De eksisterende monolittiske systemene er ikke lett utvidbare eller generaliserbare utenfor deres opprinnelige mål, og konsekvensen er en enormt fragmentert AI-deploy-industri med dusinvis av verktøykjeder som bærer forskjellige kompromisser og begrensninger. Disse design-mønstrene har bremset innovasjonens tempo ved å være mindre brukervennlige, mindre portable og harder å skala.

Den neste-generasjons AI-system må være produksjonskvalitet og møte utviklere der de er. Det må ikke kreve en dyrekjøpt omskrivning, om-arkitektur eller om-basering av bruker-kode. Det må være naturlig multi-rammeverk, multi-sky og multi-hardware. Det må kombinere den beste ytelsen og effektiviteten med den beste brukervennligheten. Dette er den eneste måten å redusere fragmentering og låse opp den neste generasjonen av hardware, data og algoritme-innovasjoner.

Modular annonserte nylig hevet 100 millioner dollar i ny finansiering, ledet av General Catalyst og fylt av eksisterende investorer GV (Google Ventures), SV Angel, Greylock og Factory. Hva kan vi forvente neste?

Denne nye kapitalen vil primært bli brukt til å vokse vårt team, å rekruttere de beste menneskene i AI-infrastruktur, og fortsette å møte den enorme kommersielle etterspørselen som vi ser for vår plattform. Modverse, vårt samfunn av over 130K+ utviklere og 10K’s av bedrifter, søker alle vår infrastruktur – så vi ønsker å sikre at vi fortsetter å skala og arbeide hardt for å utvikle det for dem, og levere det til dem. Vi holder oss selv til en usedvanlig høy standard, og produktene vi leverer er en refleksjon av hvem vi er som et team, og hvem vi blir som et selskap. Hvis du kjenner noen som er drevet, som elsker grensen mellom programvare og hardware, og som ønsker å hjelpe med å se AI penetrere verden på en meningfull og positiv måte – send dem vår vei.

Hva er din visjon for fremtidens programmering?

Programmering burde være en ferdighet som alle i samfunnet kan utvikle og bruke. For mange, er “ideen” om programmering umiddelbart en bildet av en utvikler som skriver kompleks lav-nivå-kode som krever tung matematikk og logikk – men det trenger ikke å være oppfattet på den måten. Teknologi har alltid vært en stor produktivitets-aktiver for samfunnet, og ved å gjøre programmering mer tilgjengelig og brukervennlig, kan vi enable flere mennesker til å omfavne det. Å enable mennesker til å automatisere repetitive prosesser og gjøre livene enklere er en kraftig måte å gi mennesker mer tid tilbake.

Og i Python, har vi allerede et fantastisk språk som har stått testen av tid – det er verdens mest populære språk, med en fantastisk samfunn – men det har også begrensninger. Jeg tror vi har en enorm mulighet til å gjøre det enda mer kraftig, og å oppmuntre flere av verden til å omfavne dens skjønnhet og enkelhet. Som jeg sa tidligere, er det om å bygge produkter som har progressiv avdekking av kompleksitet – å enable høy-nivå-abstraksjoner, men skalerer til usedvanlig lav-nivå-abstraksjoner også. Vi er allerede vitne til et betydelig sprang med AI-modeller som enable progressiv tekst-til-kode-oversettelser – og disse vil bare bli mer personlige over tid – men bak denne magiske innovasjonen er det fortsatt en utvikler som skriver og distribuerer kode for å aktivere det. Vi har skrevet om dette tidligere – AI vil fortsette å låse opp kreativitet og produktivitet over mange programmeringsspråk, men jeg tror også at Mojo vil åpne økosystem-aperturen enda videre, å enable mer tilgjengelighet, skalerbarhet og hardware-portabilitet til mange flere utviklere over hele verden.

Til å avslutte, AI vil penetrere våre liv på ufortelllige måter, og det vil eksistere overalt – så jeg håper Mojo katalyserer utviklere til å gå og løse de viktigste problemene for menneskeheten raskere – uansett hvor de bor i vår verden. Jeg tror det er en fremtid verdt å kjempe for.

Takk for det flotte intervjuet, lesere som ønsker å lære mer bør besøke Modular.

Antoine er en visjonær leder og medgrunnlegger av Unite.AI, drevet av en urokkelig lidenskap for å forme og fremme fremtiden for AI og robotikk. En serial entrepreneur, han tror at AI vil være like disruptiv for samfunnet som elektrisitet, og blir ofte fanget i å prise potensialet for disruptive teknologier og AGI.

Som en futurist, er han dedikert til å utforske hvordan disse innovasjonene vil forme vår verden. I tillegg er han grunnlegger av Securities.io, en plattform som fokuserer på å investere i banebrytende teknologier som definerer fremtiden og omformer hele sektorer.