AI-modeller og platforme
Tim Davis, medstifter og præsident for Modular – Interviewserie

Tim Davis er medstifter og præsident for Modular, en integreret, sammensætbar samling af værktøjer, der forenkler din AI-infrastruktur, så dit team kan udvikle, implementere og innovere hurtigere. Modular er bedst kendt for at udvikle Mojo, et nyt programmeringssprog, der brobygger mellem forskning og produktion ved at kombinere det bedste fra Python med systemer og metaprogrammering.
Gentagen iværksætter og produktleder. Tim hjalp med at bygge, grundlægge og skala store dele af Googles AI-infrastruktur på Google Brain (GOOGL ) og Core Systems fra APIs (TensorFlow), Compilatorer (XLA & MLIR) og runtime-miljøer for server (CPU/GPU/TPU) og TF Lite (Mobil/Mikro/Web), Android ML & NNAPI, stor model-infrastruktur & OSS til milliarder af brugere og enheder. Elsker at løbe, bygge og skala produkter til at hjælpe mennesker, og verden.
Hvornår opdagede du først kodning, og hvad tiltrak dig til det?
Som barn, der voksede op i Australien, bragte min far en Commodore 64C hjem, og spil var det, der fik mig hooked – Boulder Dash, Maniac Mansion, Double Dragon – hvad en tid at være i live. Denne computer introducerede mig til BASIC, og at lege med det var min første rigtige introduktion til programmering. Tingene blev mere intense gennem high school og universitet, hvor jeg brugte mere traditionelle statiske sprog til ingeniørkurser, og over tid eksperimenterede jeg også med Javascript og VBA, før jeg endte med at bruge Python til det meste af programmering som sproget for datavidenskab og AI. Jeg skrev en masse kode i mine tidlige startups, men i dag bruger jeg naturligvis Mojo og værktøjskæden, vi har skabt omkring det.
I mere end 5 år arbejdede du på Google som Senior Product Manager og Group Product Leader, hvor du hjalp med at skala store dele af Googles AI-infrastruktur på Google Brain. Hvad lærte du af denne oplevelse?
Mennesker er det, der bygger verdensændrende teknologier og produkter, og det er en dedikeret gruppe mennesker, der er bundet sammen af en større vision, der bringer dem til verden. Google er et fantastisk selskab med fantastiske mennesker, og jeg var heldig at møde og arbejde med mange af de skarpeste hjerner i AI for mange år siden, da jeg flyttede for at slutte mig til Brain-holdet. De største lektioner, jeg lærte, var at fokusere på brugeren og gradvist afsløre kompleksitet, og at give brugerne mulighed for at fortælle deres unikke historier til verden, som fx at løse Greater Barrier Reef eller hjælpe mennesker som Jason the Drummer, og at tiltrække og samle en divers blanding af mennesker for at drive mod et fælles mål. I et enormt selskab med mange dygtige mennesker er dette meget sværere, end man kan forestille sig. Når jeg ser tilbage på min tid der, er det altid menneskerne, jeg arbejdede med, der er virkelig memorabelt. Jeg vil altid se tilbage med glæde og værdsætte, at mange mennesker tog chancer på mig, og jeg er enormt taknemlig, fordi de gjorde, da mange af disse chancer opmuntrede mig til at være en bedre leder og person, til at dykke dybt og virkelig forstå AI-systemer. Det gjorde mig virkelig klar over den dybe magt, AI har til at påvirke verden, og det var netop årsagen til, at jeg havde inspirationen og modet til at forlade og medstifte Modular.
Kan du dele historien bag Modular?
Chris og jeg mødtes på Google og leverede mange indflydelsesrige teknologier, der har haft en betydelig indvirkning på AI-verdenen i dag. Men vi følte, at AI blev holdt tilbage af overkomplicerede og fragmenterede infrastrukturer, som vi havde set førstehånds, da vi implementerede store arbejdsbyrder til milliarder af brugere. Vi var motiveret af en ønske om at accelerere AI’s indvirkning på verden ved at løfte industrien mod produktionssikker AI-software, så vi som en global samfund kan have en større indvirkning på, hvordan vi lever. Man kan ikke undgå at undre sig over, hvor mange problemer AI kan hjælpe med at løse, hvor mange sygdomme kan kureres, hvor meget mere produktive vi kan blive som en art, for at fremme vores eksistens for fremtidige generationer, ved at øge AI-teknologiens gennemtrængning.
Da vi havde arbejdet sammen i mange år på stor skala-kritisk AI-infrastruktur, så vi den enorme udviklerpine førstehånds – “hvorfor kan ting ikke bare virke?” For at verden skal adoptere og opdage AI’s enorme transformative natur, har vi brug for software og udviklerinfrastruktur, der kan skala fra forskning til produktion, og som er højtilgængelig. Dette vil enable os til at låse den næste måde at opdage videnskabelige opdagelser – hvoraf AI vil være kritisk – og er en stor ingeniørudfordring. Med denne motiverende baggrund udviklede vi en intrinsisk overbevisning om, at vi kunne sætte os for at bygge en ny tilgang til AI-infrastruktur, og give udviklere overalt mulighed for at bruge AI til at hjælpe med at gøre verden til et bedre sted. Vi er også meget heldige at have mange mennesker, der slutter sig til os på denne rejse, og vi har verdens bedste AI-infrastrukturhold som resultat.
Kan du diskutere, hvordan programmeringssproget Mojo oprindeligt blev bygget til jeres eget team?
Modulars vision er at enable AI til at blive brugt af alle, overalt. Alt, hvad vi gør på Modular, er fokuseret på dette mål, og vi går baglæns fra det, på den måde vi bygger vores produkter og teknologi på. I dette lys er vores eget udviklerteam det, der betyder noget for os først, og da vi har bygget så meget af den eksisterende AI-infrastruktur for verden – havde vi brug for at nøje overveje, hvad der ville enable vores team til at flytte hurtigere. Vi har levet gennem to-verdens sprogproblemet i AI – hvor forskere bor i Python, og produktion og hardware-ingeniører bor i C++ – og vi havde ingen valgmulighed andre end at enten barre ned ad den vej eller omtil at tænke tilgangen helt. Vi valgte det sidste. Der var en klar behov for at løse dette problem, men mange forskellige måder at løse det på – vi tilgang det med vores stærke overbevisning om at møde økosystemet, hvor det er i dag, og enable en simplere løftning ind i fremtiden. Vores team bærer arrene fra software-migration på stor skala, og vi ville ikke have en gentagelse af det. Vi indså også, at der ikke er noget sprog i dag, som kan løse alle udfordringerne, vi forsøger at løse for AI, så vi påtog os en first-principles-tilgang, og Mojo blev født.
Hvordan giver Mojo mulighed for problemfri skala og portabilitet på tværs af mange typer hardware?
Chris, jeg selv og vores team på Google (mange på Modular) hjalp med at bringe MLIR til verden for mange år siden – med målet at hjælpe den globale fællesskab med at løse virkelige udfordringer ved at enable AI-modeller til at blive konsekvent repræsenteret og kørt på enhver type hardware. MLIR er en ny type åben kilde-kompiler-infrastruktur, der er blevet antaget i stor skala, og er hurtigt på vej til at blive den nye standard for bygning af compilatorer gennem LLVM. Givet vores teams historie i at skabe denne infrastruktur, er det naturligt, at vi anvender det kraftigt på Modular, og dette understøtter vores state-of-the-art-tilgang i udvikling af ny AI-infrastruktur for verden. Kritisk, mens MLIR nu bliver hurtigt antaget, er Mojo det første sprog, der virkelig tager MLIR’s kraft og eksponerer det for udviklere på en unik og tilgængelig måde. Dette betyder, at det kan skala fra Python-udviklere, der skriver programmer, til performance-ingeniører, der implementerer højtydende kode, til hardware-ingeniører, der skriver meget lavniveau-systemkode for deres unikke hardware.
Referencer til Mojo påstår, at det grundlæggende er Python++, med Python’s tilgængelighed og C’s højtydende.
Mojo skal føles meget bekendt for enhver Python-programmer, da det deler Python’s syntaks. Men der er nogle vigtige forskelle, du vil se, når du porter en simpel Python-program til Mojo, herunder, at det bare virker ud af boksen. En af vores kerne-mål for Mojo er at give en superset af Python – det vil sige at gøre Mojo kompatibelt med eksisterende Python-programmer – og at omfavne CPython-implementationen til lang-hale-økosystem-støtte. Så kan du langsomt ændre din kode og erstatte ikke-performende dele med Mojo’s lavniveau-funktioner til at eksponere og håndtere hukommelse, tilføje typer, anvende autotuning og mange andre aspekter for at få C’s ydelse eller bedre! Vi mener, Mojo giver dig det bedste af begge verdener, og du behøver ikke at skrive og genskrive dine algoritmer i multiple sprog. Vi værdsætter, at Python++ er et enormt mål, og vil være et multi-årigt foretagende, men vi er dedikeret til at gøre det til virkelighed og enable vores legendariske fællesskab af mere end 140K+ udviklere til at hjælpe os med at bygge fremtiden sammen.
I en recent keynote blev det vist, at Mojo er 35.000 gange hurtigere end Python, hvordan blev denne hastighed beregnet?
Det er faktisk 68.000 nu! Men lad os erkende, at det kun er et enkelt program i Mandelbrot – du kan gå og læse en række af tre blog-indlæg om, hvordan vi opnåede dette – her, her og her. Selvfølgelig har vi gjort dette i lang tid, og vi ved, at performancespil ikke er, hvad der driver sprogadoption (trods de er sjove!) – det er udviklerhastighed, sprogbrugervenlighed, høj kvalitet værktøjskæder & dokumentation, og en fællesskab, der anvender infrastrukturen til at opfinde og bygge på måder, vi ikke engang kan forestille os. Vi er værktøjsbyggere, og vores mål er at enable verden til at bruge vores værktøjer til at skabe fantastiske produkter og løse vigtige problemer. Hvis vi fokuserer på vores større mål, er det faktisk at skabe et sprog, der møder dig, hvor du er i dag, og derefter løfter dig let til en bedre verden. Mojo giver dig mulighed for at have et højtydende, brugervenligt, statisk typet og portabelt sprog, der samarbejder med din eksisterende Python-kode – giver dig det bedste af begge verdener. Det giver dig mulighed for at realisere den sande kraft af hardwaren med multithreading og parallelisering på måder, som ren Python i dag ikke kan – låser den globale udviklerfællesskab op til at have et enkelt sprog, der kan skala fra top til bund.
Mojo’s magi er dens evne til at samarbejde programmeringssprog med ét sæt værktøjer, hvorfor er dette så vigtigt?
Sprog succeser altid ved kraften af deres økosystemer og fællesskaber, der danner sig omkring dem. Vi har arbejdet med åben kilde-fællesskaber i lang tid, og vi er utroligt omhyggelige med at engagere os på den rigtige måde og sikre, at vi gør det rigtige for fællesskabet. Vi arbejder utroligt hårdt for at levere vores infrastruktur, men har brug for tid til at skala vores team – så vi vil ikke have alle svarene med det samme, men vi vil komme dertil. Stepping tilbage, vores mål er at løfte Python-økosystemet ved at omfavne hele eksisterende økosystem, og vi søger ikke at splintre det, som så mange andre projekter. Samarbejdskompatibilitet gør det blot lettere for fællesskabet at prøve vores infrastruktur, uden at skulle genskrive al deres kode, og det betyder meget for AI.
Og vi har lært så meget fra udviklingen af AI-infrastruktur og værktøjer over de sidste 10 år. De eksisterende monolitiske systemer er ikke let udvidelige eller generaliserbare uden for deres oprindelige domæne-mål, og konsekvensen er en enormt fragmenteret AI-implementeringsindustri med dusinvis af værktøjskæder, der har forskellige kompromiser og begrænsninger. Disse designmønstre har langsommende innovationens tempo ved at være mindre brugervenlige, mindre portable og sværere at skala.
Den næste generation af AI-systemer skal være produktionssikre og møde udviklerne, hvor de er. Det må ikke kræve en dyr omskrivning, omstrukturering eller genbasering af brugerkode. Det må være naturligt multi-rammeark, multi-cloud og multi-hardware. Det skal kombinere den bedste ydelse og effektivitet med den bedste brugervenlighed. Dette er den eneste måde at reducere fragmentation og låse den næste generation af hardware, data og algoritme-innovationer op.
Modular annoncerede for nylig, at de har samlet 100 millioner dollars i ny finansiering, ledet af General Catalyst og suppleret af eksisterende investorer GV (Google Ventures), SV Angel, Greylock og Factory. Hvad skal vi forvente herefter?
Denne nye kapital vil primært blive brugt til at vokse vores team, ansætte de bedste mennesker i AI-infrastruktur, og fortsætte med at møde den enorme kommercielle efterspørgsel, vi ser for vores platform. Modverse, vores fællesskab af over 130K+ udviklere og 10.000’erne af virksomheder, søger alle vores infrastruktur – så vi vil sørge for at fortsætte med at skala og arbejde hårdt for at udvikle det til dem, og levere det til dem. Vi holder os selv til en utroligt høj standard, og produkterne, vi leverer, er en refleksion af, hvem vi er som et team, og hvem vi bliver som et selskab. Hvis du kender nogen, der er drevet, elsker grænsen mellem software og hardware, og vil hjælpe med at se AI penetrere verden på en meningsfuld og positiv måde – send dem vores vej.
Hvad er din vision for fremtidens programmering?
Programmering skal være en færdighed, som alle i samfundet kan udvikle og anvende. For mange mennesker konjurerer “idéen” om programmering straks et billede af en udvikler, der skriver kompleks lavniveau-kode, der kræver tung matematik og logik – men det behøver ikke at være sådan. Teknologi har altid været en stor produktivitets-aktiver for samfundet, og ved at gøre programmering mere tilgængelig og brugervenlig, kan vi enable flere mennesker til at omfavne det. At enable mennesker til at automatisere gentagne processer og gøre deres liv lettere er en kraftfuld måde at give mennesker mere tid tilbage.
Og i Python har vi allerede et dejligt sprog, der har bestået tidens prøve – det er verdens mest populære sprog, med en utrolig fællesskab – men det har også begrænsninger. Jeg tror, vi har en enorm mulighed for at gøre det endnu mere kraftfuldt, og at opmuntre mere af verden til at omfavne dets skønhed og enkelhed. Som jeg sagde tidligere, handler det om at bygge produkter, der har en progressiv afsløring af kompleksitet – enable højt niveau-abstraktioner, men skala til utroligt lavniveau-abstraktioner også. Vi er allerede vidne til et betydeligt spring med AI-modeller, der enable progressiv tekst-til-kode-oversættelser – og disse vil kun blive mere personlige over tid – men bag denne magiske innovation er der stadig en udvikler, der skriver og implementerer kode til at drive det. Vi har skrevet om dette tidligere – AI vil fortsætte med at låse kreativitet og produktivitet op på tværs af mange programmeringssprog, men jeg tror også, at Mojo vil åbne økosystem-aperturen endnu bredere, og enable mere tilgængelighed, skala og hardware-portabilitet til mange flere udviklere på tværs af verden.
Til at afslutte, AI vil penetrere vores liv på utallige måder, og det vil eksistere overalt – så jeg håber, Mojo katalyserer udviklere til at gå og løse de vigtigste problemer for menneskeheden hurtigere – uanset hvor de bor i vores verden. Jeg tror, det er en fremtid, der er værd at kæmpe for.
Tak for det fantastiske interview, læsere, der ønsker at lære mere, skal besøge Modular.












