Verbind je met ons

Artificial Intelligence

Tim Davis, medeoprichter en voorzitter van Modular – Interview Series

mm

Tim Davis, is mede-oprichter en voorzitter van Modular, een geïntegreerde, samen te stellen reeks tools die uw AI-infrastructuur vereenvoudigt, zodat uw team sneller kan ontwikkelen, implementeren en innoveren. Modulair staat vooral bekend om het ontwikkelen Mojo, een nieuwe programmeertaal die de kloof tussen onderzoek en productie overbrugt door het beste van Python te combineren met systemen en metaprogrammering.

Herhaal ondernemer en Product Leader. Tim hielp bij het bouwen, opzetten en opschalen van grote delen van Google's AI-infrastructuur bij Google Brain en kernsystemen van API's (TensorFlow), compilers (XLA & MLIR) en runtimes voor server (CPU/GPU/TPU) en TF Lite (Mobiel/Micro/Web), Android-ML & NNAP, grote modelinfrastructuur en OSS voor miljarden gebruikers en apparaten. Houdt van hardlopen, bouwen en producten opschalen mensen helpenen de wereld.

Wanneer ontdekte u coderen voor het eerst, en wat trok u ertoe aan?

Als kind dat opgroeide in Australië, bracht mijn vader een Commodore 64C mee naar huis en het gamen was wat mij verslaafd maakte – Boulder Dash, Maniac Mansion, Double Dragon – wat een tijd om te leven. Die computer liet mij kennismaken met BASIC en het hacken daarmee was mijn eerste echte kennismaking met programmeren. De dingen werden intenser op de middelbare school en de universiteit, waar ik meer traditionele statische talen gebruikte voor technische cursussen, en na verloop van tijd heb ik me zelfs helemaal tot Javascript en VBA gewend, voordat ik genoegen nam met Python voor het overgrote deel van het programmeren als de taal van data. wetenschap en AI. Ik heb een heleboel code geschreven in mijn eerdere startups, maar tegenwoordig gebruik ik natuurlijk Mojo en de toolchain die we eromheen hebben gemaakt.

Je hebt meer dan vijf jaar bij Google gewerkt als Senior Product Manager en Group Product Leader, waar je hebt bijgedragen aan de schaalvergroting van grote delen van Google's AI-infrastructuur bij Google Brain. Wat heb je van deze ervaring geleerd?

Het zijn mensen die wereldveranderende technologieën en producten bouwen, en het is een toegewijde groep mensen die gebonden zijn door een grotere visie die hen naar de wereld brengt. Google is een geweldig bedrijf, met geweldige mensen, en ik had het geluk jaren geleden veel van de slimste geesten op het gebied van AI te ontmoeten en met hen samen te werken toen ik bij het Brain-team kwam werken. De grootste lessen die ik heb geleerd waren om altijd op de gebruiker te focussen en de complexiteit geleidelijk aan bloot te leggen, om gebruikers in staat te stellen hun unieke verhalen aan de wereld te vertellen, zoals het oplossen van de problemen Groter Barrièrerif of mensen helpen zoals Jason de Drummer, en om een ​​gevarieerde mix van mensen aan te trekken en samen te brengen om naar een gemeenschappelijk doel te streven. In een enorm bedrijf met zeer slimme en getalenteerde mensen is dit veel moeilijker dan je je kunt voorstellen. Als ik terugkijk op mijn tijd daar, zijn het altijd de mensen met wie je hebt gewerkt die echt onvergetelijk zijn. Ik zal er altijd met plezier op terugkijken en waarderen dat veel mensen risico's tegen mij hebben genomen, en ik ben enorm dankbaar dat ze dat deden, omdat veel van die risico's mij aanmoedigden om een ​​betere leider en persoon te worden, om diep te duiken en AI-systemen echt te begrijpen. Het deed me echt beseffen welke diepgaande kracht AI heeft om de wereld te beïnvloeden, en dit was precies de reden waarom ik de inspiratie en moed had om te vertrekken en mede-oprichter van Modular te zijn.

Kun je het ontstaansverhaal achter Modular delen?

Chris en ik hebben elkaar ontmoet bij Google en hebben veel invloedrijke technologieën ontwikkeld die een aanzienlijke impact hebben gehad op de wereld van AI vandaag de dag. We hadden echter het gevoel dat AI werd tegengehouden door een te complexe en gefragmenteerde infrastructuur waarvan we uit de eerste hand getuige waren van de implementatie van grote werklasten voor miljarden gebruikers. We werden gemotiveerd door de wens om de impact van AI op de wereld te versnellen door de industrie naar AI-software van productiekwaliteit te tillen, zodat wij als mondiale samenleving een grotere impact kunnen hebben op de manier waarop we leven. Je vraagt ​​je af hoeveel problemen AI kan helpen oplossen, hoeveel ziekten genezen kunnen worden, hoeveel productiever we als soort kunnen worden, om ons bestaan ​​voor toekomstige generaties te bevorderen, door de penetratie van deze ongelooflijke technologie te vergroten.

Na jarenlang samengewerkt te hebben aan grootschalige kritische AI-infrastructuur – we hebben de enorme pijn van ontwikkelaars met eigen ogen gezien – “waarom kunnen dingen niet gewoon werken”? Als de wereld de enorme transformerende aard van AI wil adopteren en ontdekken, hebben we een software- en ontwikkelaarsinfrastructuur nodig die zich uitstrekt van onderzoek tot productie, en die zeer toegankelijk is. Dit zal ons in staat stellen de volgende manier van wetenschappelijke ontdekkingen te ontsluiten – waarvan AI cruciaal zal zijn – en dat is ook zo een grote technische uitdagingMet deze motiverende achtergrond ontwikkelden we de intrinsieke overtuiging dat we een nieuwe aanpak voor AI-infrastructuur konden ontwikkelen en ontwikkelaars overal ter wereld in staat konden stellen om AI te gebruiken om de wereld een betere plek te maken. We zijn ook erg blij dat veel mensen zich bij ons aansluiten op deze reis, wat ons het beste AI-infrastructuurteam ter wereld oplevert.

Kunt u bespreken hoe de programmeertaal Mojo in eerste instantie voor uw eigen team werd gebouwd?

Modulair visie is ervoor te zorgen dat AI door iedereen, waar dan ook, kan worden gebruikt. Alles wat we bij Modular doen, is op dat doel gericht, en daarvan gaan we achteruit in de manier waarop we onze producten en technologie uitbouwen. In dit licht, onze eigen ontwikkelaar Snelheid is in de eerste plaats wat voor ons belangrijk is, en omdat we zoveel van de bestaande AI-infrastructuur voor de wereld hebben gebouwd, moesten we zorgvuldig overwegen wat ons team in staat zou stellen sneller te bewegen. We hebben het taalprobleem van twee werelden in AI meegemaakt – waarbij onderzoekers in Python leven, en productie- en hardware-ingenieurs in C++ – en we hadden geen andere keus dan die weg in te slaan, of de aanpak volledig te heroverwegen. Wij kozen voor het laatste. Er was een duidelijke noodzaak om dit probleem op te lossen, maar veel verschillende manieren om het op te lossen – we benaderden het vanuit onze sterke overtuiging om het ecosysteem te ontmoeten waar het nu is, en een eenvoudiger lift naar de toekomst mogelijk te maken. Ons team draagt ​​de littekens van softwaremigratie op grote schaal, en we wilden geen herhaling daarvan. We realiseerden ons ook dat er vandaag de dag, naar onze mening, geen taal bestaat die alle uitdagingen kan oplossen die we proberen op te lossen voor AI. Daarom kozen we voor een ‘first principes’-benadering, en Mojo was geboren.

Hoe maakt Mojo naadloze schaalbaarheid en portabiliteit tussen vele soorten hardware mogelijk?

Chris, ikzelf en ons team bij Google (velen bij Modular) hebben geholpen dit te realiseren MLIR de wereld in jaren geleden – met als doel de wereldgemeenschap te helpen echte uitdagingen op te lossen door AI-modellen consistent te kunnen weergeven en uitvoeren op elk type hardware. MLIR is een nieuw type open-source compilerinfrastructuur die op grote schaal is toegepast en snel de nieuwe standaard aan het worden is voor het bouwen van compilers via LLVMGezien de ervaring van ons team met het creëren van deze infrastructuur, is het logisch dat we er bij Modular intensief gebruik van maken. Dit onderstreept onze state-of-the-art aanpak bij het ontwikkelen van nieuwe AI-infrastructuur voor de wereld. Hoewel MLIR nu snel wordt omarmd, is Mojo de eerste programmeertaal die de kracht van MLIR echt benut en op een unieke en toegankelijke manier beschikbaar stelt aan ontwikkelaars. Dit betekent dat het schaalbaar is van Python-ontwikkelaars die applicaties schrijven, tot Performance Engineers die high-performance code implementeren, en hardware Engineers die zeer low-level systeemcode schrijven voor hun unieke hardware.

Verwijzingen naar Mojo beweren dat het in feite Python++ is, met de toegankelijkheid van Python en de hoge prestaties van C. Is dit een grove vereenvoudiging? Hoe zou je het omschrijven?

Mojo zou voor elke Python-programmeur heel vertrouwd moeten aanvoelen, omdat het de syntaxis van Python deelt. Maar er zijn een paar belangrijke verschillen die je zult zien als je een eenvoudig Python-programma naar Mojo porteert, waaronder dat het gewoon out-of-the-box werkt. Een van onze kerndoelen voor Mojo is het leveren van een superset van Python – dat wil zeggen: Mojo compatibel maken met bestaande Python-programma’s – en het omarmen van de CPython-implementatie voor ondersteuning van lange termijn ecosystemen. Vervolgens kunt u uw code langzaam uitbreiden en niet-presterende onderdelen vervangen door Mojo's functies op een lager niveau om expliciet geheugen te beheren, typen toe te voegen, autotuning te gebruiken en vele andere aspecten om de prestaties van C of beter te krijgen! Wij zijn van mening dat Mojo u het beste van twee werelden biedt en dat u uw algoritmen niet in meerdere talen hoeft te schrijven en herschrijven. We beseffen dat Python++ een enorm doel is en een meerjarige onderneming zal zijn, maar we zijn vastbesloten om het werkelijkheid te maken en onze legendarische gemeenschap van meer dan 140+ ontwikkelaars in staat te stellen ons te helpen samen aan de toekomst te bouwen.

In een recente keynote werd aangetoond dat Mojo 35,000x sneller is dan Python. Hoe werd deze snelheid berekend?

Het is nu eigenlijk 68,000x! Maar laten we erkennen dat het slechts één programma in Mandelbrot is – je kunt een serie van drie blogposts lezen over hoe we dit hebben bereikt – hier, hier en hier. Natuurlijk doen we dit al lang en we weten dat performance games niet de drijfveer zijn voor taaladoptie (ondanks dat ze leuk zijn!). Het is de snelheid van de ontwikkelaar, bruikbaarheid van de taal, hoogwaardige toolchains en documentatie, en een community die de infrastructuur gebruikt om te bedenken en te bouwen op manieren die we ons niet eens kunnen voorstellen. Wij zijn toolbouwers en ons doel is om de wereld in staat te stellen onze tools te gebruiken, geweldige producten te creëren en belangrijke problemen op te lossen. Als we ons richten op ons grotere doel, is dat eigenlijk het creëren van een taal die aansluit bij waar je vandaag bent en je vervolgens gemakkelijk naar een betere wereld tilt. Mojo stelt je in staat om een ​​zeer performante, bruikbare, statisch getypeerde en draagbare taal te hebben die naadloos integreert met je bestaande Python-code – waardoor je het beste van twee werelden krijgt. Hiermee kunt u de ware kracht van de hardware benutten met multithreading en parallelisatie op manieren die met de huidige Python-taal niet mogelijk zijn. Hierdoor krijgt de wereldwijde ontwikkelaarscommunity de beschikking over één taal die van top tot teen schaalbaar is.

De magie van Mojo is het vermogen om programmeertalen te verenigen met één set tools. Waarom is dit zo belangrijk?

Talen slagen altijd door de kracht van hun ecosystemen en de gemeenschappen die zich om hen heen vormen. We werken al heel lang met open source-gemeenschappen en we zijn ongelooflijk attent op het op de juiste manier betrokken zijn en ervoor zorgen dat we het goede doen voor de gemeenschap. We werken ongelooflijk hard om onze infrastructuur te leveren, maar hebben tijd nodig om ons team uit te breiden. We zullen dus niet meteen alle antwoorden hebben, maar we komen er wel. Als we een stap terug doen, is het ons doel om het Python-ecosysteem een ​​boost te geven door het te omarmen geheel bestaand ecosysteem, en we proberen het niet te breken zoals zoveel andere projecten. Interoperabiliteit maakt het voor de gemeenschap alleen maar gemakkelijker om onze infrastructuur uit te proberen, zonder al hun code te hoeven herschrijven, en dat is van groot belang voor AI.

We hebben ook zoveel geleerd van de ontwikkeling van AI-infrastructuur en -instrumenten in de afgelopen tien jaar. De bestaande monolithische systemen zijn niet gemakkelijk uitbreidbaar of generaliseerbaar buiten hun oorspronkelijke domeindoel en het gevolg is een enorm gefragmenteerde AI-implementatie-industrie met tientallen toolchains die verschillende afwegingen en beperkingen met zich meebrengen. Deze ontwerppatronen hebben het innovatietempo vertraagd doordat ze minder bruikbaar, minder draagbaar en moeilijker op te schalen zijn.

Het AI-systeem van de volgende generatie moet van productiekwaliteit zijn en ontwikkelaars ontmoeten waar ze zich bevinden. Het mag geen dure herschrijving, herinrichting of herbasis van de gebruikerscode vereisen. Het moet native multi-framework, multi-cloud en multi-hardware zijn. Het moet de beste prestaties en efficiëntie combineren met de beste bruikbaarheid. Dit is de enige manier om fragmentatie te verminderen en de volgende generatie hardware-, data- en algoritmische innovaties te ontsluiten.

Sinds kort modulair aangekondigd dat ze $ 100 miljoen aan nieuwe financiering hebben opgehaald, geleid door General Catalyst en gevuld door bestaande investeerders GV (Google Ventures), SV Angel, Greylock en Factory. Wat moeten we hierna verwachten?

Dit nieuwe kapitaal zal voornamelijk worden gebruikt om ons team te laten groeien, de beste mensen in de AI-infrastructuur aan te nemen en te blijven voldoen aan de enorme commerciële vraag die we zien naar ons platform. Modverse, onze gemeenschap van ruim 130 ontwikkelaars en 10 ondernemingen, zijn allemaal op zoek naar onze infrastructuur – dus we willen ervoor zorgen dat we blijven opschalen en hard blijven werken om deze voor hen te ontwikkelen en aan hen te leveren. We hanteren een ongelooflijk hoge standaard en de producten die we verzenden zijn een weerspiegeling van wie we zijn als team en wie we worden als bedrijf. Als je iemand kent die gedreven is, die houdt van de grens tussen software en hardware, en die wil helpen AI op een zinvolle en positieve manier de wereld binnen te dringen, stuur hem dan onze kant op.

Wat is jouw visie op de toekomst van programmeren?

Programmeren moet een vaardigheid zijn die iedereen in de samenleving kan ontwikkelen en gebruiken. Voor velen roept het 'idee' van programmeren meteen het beeld op van een ontwikkelaar die complexe code op laag niveau schrijft die zware wiskunde en logica vereist, maar dat hoeft niet zo te worden opgevat. Technologie is altijd een grote productiviteitsbevorderaar voor de samenleving geweest, en door programmeren toegankelijker en bruikbaarder te maken, kunnen we meer mensen in staat stellen het te omarmen. Mensen in staat stellen repetitieve processen te automatiseren en hun leven eenvoudiger te maken, is een krachtige manier om mensen meer tijd terug te geven.

En met Python hebben we al een prachtige taal die de tand des tijds heeft doorstaan ​​– het is 's werelds populairste taal, met een ongelooflijke community – maar ze heeft ook beperkingen. Ik geloof dat we een enorme kans hebben om het nog krachtiger te maken en meer mensen wereldwijd aan te moedigen de schoonheid en eenvoud ervan te omarmen. Zoals ik al eerder zei, draait het om het bouwen van producten die een geleidelijke onthulling van complexiteit mogelijk maken – waardoor abstracties op hoog niveau mogelijk worden, maar ook kunnen worden opgeschaald naar ongelooflijk lage niveaus. We zijn al getuige van een aanzienlijke sprong voorwaarts met AI-modellen die progressieve tekst-naar-code-vertalingen mogelijk maken – en deze zullen in de loop der tijd alleen maar persoonlijker worden – maar achter deze magische innovatie schuilt nog steeds een ontwikkelaar die code schrijft en implementeert om het mogelijk te maken. Wij hebben hierover geschreven in het verleden – AI zal de creativiteit en productiviteit in veel programmeertalen blijven ontsluiten, maar ik geloof ook dat Mojo de opening van het ecosysteem nog verder zal openen, waardoor meer toegankelijkheid, schaalbaarheid en hardwareportabiliteit voor veel meer ontwikkelaars over de hele wereld mogelijk wordt.

Om te eindigen: AI zal op onnoemelijke manieren in ons leven doordringen, en het zal overal bestaan ​​– dus ik hoop dat Mojo ontwikkelaars katalyseert om de belangrijkste problemen voor de mensheid sneller op te lossen – ongeacht waar ze in onze wereld wonen. Ik denk dat dit een toekomst is die de moeite waard is om voor te vechten.

Bedankt voor het geweldige interview, lezers die meer willen weten, zouden moeten bezoeken Modular.

Antoine is een visionair leider en oprichter van Unite.AI, gedreven door een onwrikbare passie voor het vormgeven en promoten van de toekomst van AI en robotica. Als serieel ondernemer gelooft hij dat AI net zo ontwrichtend voor de maatschappij zal zijn als elektriciteit, en wordt hij vaak betrapt op het uiten van lyrische verhalen over de potentie van ontwrichtende technologieën en AGI.

Als futuristisch, hij is toegewijd aan het onderzoeken hoe deze innovaties onze wereld zullen vormgeven. Daarnaast is hij de oprichter van Effecten.io, een platform dat zich richt op investeringen in geavanceerde technologieën die de toekomst opnieuw definiëren en hele sectoren opnieuw vormgeven.