Umělá inteligence
Tim Davis, spoluzakladatel a prezident Modular – Interview Series

Tim Davis, je spoluzakladatelem a prezidentem společnosti Modulární, integrovaná, skládací sada nástrojů, která zjednodušuje vaši infrastrukturu AI, takže váš tým může rychleji vyvíjet, nasazovat a inovovat. Modular je nejlépe známý pro vývoj Mojo, nový programovací jazyk, který překlenuje propast mezi výzkumem a výrobou tím, že kombinuje to nejlepší z Pythonu se systémy a metaprogramováním.
Opakujte podnikatele a produktový vedoucí. Tim pomohl vybudovat, založit a škálovat velké části infrastruktury umělé inteligence společnosti Google v Mozek Google a Core Systems z API (TensorFlow), kompilátory (XLA & MLIR) a runtime pro server (CPU/GPU/TPU) a TF Lite (Mobil/Mikro/Web), Android ML & NNAPI, velká modelová infrastruktura a OSS pro miliardy uživatelů a zařízení. Miluje běh, stavbu a škálování produktů pomoci lidem, a svět.
Kdy jste poprvé objevil kódování a co vás na něm zaujalo?
Když jsem jako dítě vyrůstal v Austrálii, můj táta přinesl domů Commodore 64C a hraní mě dostalo – Boulder Dash, Maniac Mansion, Double Dragon – jaká doba být naživu. Tento počítač mi představil BASIC a hackování s ním byl můj první skutečný úvod do programování. Věci se zintenzivnily na střední a vysoké škole, kde jsem pro inženýrské kurzy používal tradičnější statické jazyky, a postupem času jsem se dokonce dostal až k Javascriptu a VBA, než jsem se rozhodl pro Python pro drtivou většinu programování jako jazyk dat. věda a AI. Napsal jsem spoustu kódu ve svých dřívějších startupech, ale v těchto dnech samozřejmě využívám Mojo a toolchain, který jsme kolem něj vytvořili.
Více než 5 let jste pracoval ve společnosti Google jako Senior Product Manager a Group Product Leader, kde jste pomáhal škálovat velké části infrastruktury umělé inteligence společnosti Google v rámci Google Brain. Co jste se z této zkušenosti naučil?
Lidé jsou tím, kdo vytváří svět měnící technologie a produkty, a je to oddaná skupina lidí svázaná širší vizí, která je přivádí do světa. Google je neuvěřitelná společnost s úžasnými lidmi a měl jsem to štěstí, že jsem se před lety setkal a pracoval s mnoha nejchytřejšími mozky v oblasti umělé inteligence, když jsem se přestěhoval do týmu Brain. Největší lekce, které jsem se naučil, bylo zaměřit se vždy na uživatele a postupně odhalovat složitost, umožnit uživatelům vyprávět své jedinečné příběhy světu, jako je oprava Velký bariérový útes nebo pomáhat lidem jako Jason bubeníka přilákat a shromáždit různorodou směs lidí, aby šli ke společnému cíli. V masivní společnosti velmi chytrých a talentovaných lidí je to mnohem těžší, než si dokážete představit. Když se zamyslím nad tím, co jsem tam strávil, jsou to vždy lidé, se kterými jste pracoval, opravdu nezapomenutelní. Vždy se budu s láskou ohlížet zpět a ocenit, že na mě mnoho lidí riskovalo, a jsem jim nesmírně vděčný, že to udělali, protože mnohá z těchto rizik mě povzbudila, abych byl lepším vůdcem a člověkem, ponořil se do hloubky a skutečně porozuměl systémům umělé inteligence. Skutečně mě to přimělo si uvědomit, jakou obrovskou sílu má AI ovlivnit svět, a to byl přesně ten důvod, proč jsem měl inspiraci a odvahu odejít a spoluzaložit Modular.
Můžete se podělit o příběh geneze za Modular?
Chris a já jsme se potkali v Googlu a dodali jsme mnoho vlivných technologií, které významně ovlivnily dnešní svět AI. Cítili jsme však, že umělou inteligenci brzdí příliš složitá a roztříštěná infrastruktura, kterou jsme byli svědky nasazování velkých pracovních zátěží z první ruky miliardám uživatelů. Motivovala nás touha urychlit dopad umělé inteligence na svět povýšením odvětví směrem k softwaru umělé inteligence v produkční kvalitě, abychom jako globální společnost mohli mít větší vliv na to, jak žijeme. Člověk se nestačí divit, kolik problémů může umělá inteligence pomoci vyřešit, kolik nemocí se vyléčí, o kolik produktivnější se můžeme stát jako druh, abychom podpořili naši existenci pro budoucí generace tím, že zvýšíme pronikání této neuvěřitelné technologie.
Po letech spolupráce na rozsáhlé kritické infrastruktuře AI jsme viděli obrovskou bolest vývojářů z první ruky – „proč věci prostě nefungují“? Aby si svět osvojil a objevil obrovskou transformační povahu umělé inteligence, potřebujeme software a vývojářskou infrastrukturu, která bude škálovatelná od výzkumu až po produkci a bude vysoce dostupná. To nám umožní odemknout další cestu vědeckých objevů – z nichž AI bude rozhodující – a je velká inženýrská výzvaS tímto motivujícím zázemím jsme si vypěstovali vnitřní přesvědčení, že se můžeme pustit do budování nového přístupu k infrastruktuře umělé inteligence a dát vývojářům po celém světě možnost využívat umělou inteligenci k tomu, aby svět byl lepším místem. Máme také velké štěstí, že se k nám na této cestě připojilo mnoho lidí, a díky tomu máme nejlepší tým pro infrastrukturu umělé inteligence na světě.
Můžete probrat, jak byl programovací jazyk Mojo původně vytvořen pro váš vlastní tým?
Modulární vidění je umožnit, aby umělou inteligenci mohl používat kdokoli a kdekoli. Vše, co ve společnosti Modular děláme, je zaměřeno na tento cíl a od toho jdeme zpět ve způsobu, jakým vytváříme naše produkty a naši technologii. V tomto světle naše vlastní vývojář rychlost je to, na čem nám záleží v první řadě, a protože jsme vybudovali tolik existující infrastruktury AI pro svět, museli jsme pečlivě zvážit, co by našemu týmu umožnilo postupovat rychleji. Prožili jsme problém dvou světových jazyků v AI – kde výzkumníci žijí v Pythonu a produkční a hardwaroví inženýři žijí v C++ – a neměli jsme jinou možnost, než se buď vydat touto cestou, nebo celý přístup přehodnotit. Vybrali jsme to druhé. Bylo jasné, že je potřeba tento problém vyřešit, ale mnoha různými způsoby abychom to vyřešili – přistoupili jsme k tomu s naším pevným přesvědčením, že se setkáme s ekosystémem tam, kde je dnes, a umožníme jednodušší cestu do budoucnosti. Náš tým nese jizvy po migraci softwaru ve velkém měřítku a nechtěli jsme, aby se to opakovalo. Také jsme si uvědomili, že podle našeho názoru dnes neexistuje žádný jazyk, který by dokázal vyřešit všechny výzvy, které se snažíme vyřešit pro AI, a tak jsme přijali přístup založený na prvních principech a zrodilo se Mojo.
Jak Mojo umožňuje bezproblémové škálování a přenositelnost napříč mnoha typy hardwaru?
Chris, já a náš tým ve společnosti Google (mnozí v Modular) jsme pomohli přinést MLIR do světa před lety – s cílem pomoci globální komunitě řešit skutečné výzvy tím, že umožníme modely umělé inteligence, aby byly konzistentně reprezentovány a spouštěny na jakémkoli typu hardwaru. MLIR je nový typ infrastruktury kompilátorů s otevřeným zdrojovým kódem, který byl přijat ve velkém měřítku a rychle se stává novým standardem pro vytváření kompilátorů prostřednictvím LLVMVzhledem k historii našeho týmu s tvorbou této infrastruktury je přirozené, že ji v Modular hojně využíváme, a to je základem našeho nejmodernějšího přístupu k vývoji nové infrastruktury umělé inteligence pro celý svět. Rozhodující je, že ačkoliv se MLIR nyní rychle zavádí, Mojo je prvním jazykem, který skutečně využívá sílu MLIR a zpřístupňuje ji vývojářům jedinečným a přístupným způsobem. To znamená, že se škáluje od vývojářů v Pythonu, kteří píší aplikace, přes výkonnostní inženýry, kteří nasazují vysoce výkonný kód, až po hardwarové inženýry, kteří píší velmi nízkoúrovňový systémový kód pro svůj jedinečný hardware.
Odkazy na Mojo tvrdí, že je to v podstatě Python++, s přístupností Pythonu a vysokým výkonem C. Je to hrubé zjednodušení? Jak byste to popsal?
Mojo by mělo být každému programátorovi Pythonu velmi známé, protože sdílí syntaxi Pythonu. Existuje však několik důležitých rozdílů, které uvidíte, když jeden portuje jednoduchý program Python do Mojo, včetně toho, že to bude fungovat hned po vybalení. Jedním z našich hlavních cílů pro Mojo je poskytnout nadmnožinu Pythonu – to znamená zajistit kompatibilitu Mojo se stávajícími programy Python – a přijmout implementaci CPythonu pro dlouhodobou podporu ekosystému. Pak vám umožní pomalu rozšiřovat váš kód a nahrazovat nefunkční části funkcemi Mojo nižší úrovně, abyste mohli explicitně spravovat paměť, přidávat typy, využívat automatické ladění a mnoho dalších aspektů, abyste získali výkon C nebo lepší! Cítíme, že Mojo vám dává to nejlepší z obou světů a nemusíte psát a přepisovat své algoritmy ve více jazycích. Oceňujeme, že Python++ je enormní cíl a bude to mnohaleté úsilí, ale jsme odhodláni jej proměnit ve skutečnost a umožnit naší legendární komunitě více než 140 tisíc vývojářů, aby nám pomohla společně budovat budoucnost.
V nedávné keynote bylo ukázáno, že Mojo je 35,000 XNUMXx rychlejší než Python, jak byla tato rychlost vypočtena?
Ve skutečnosti je to teď 68,000 XNUMXx! Ale uvědomme si, že je to jen jeden program v Mandelbrotu – můžete si přečíst sérii tří blogových příspěvků o tom, jak jsme toho dosáhli – zde, zde a zde. Samozřejmě to děláme už dlouho a víme, že výkonnostní hry nejsou to, co pohání přijetí jazyka (i když jsou zábavné!) – je to rychlost vývojářů, použitelnost jazyka, vysoce kvalitní nástroje a dokumentace a komunita využívající infrastrukturu k vynalézání a tvorbě způsoby, které si ani nedokážeme představit. Jsme tvůrci nástrojů a naším cílem je umožnit světu používat naše nástroje, vytvářet úžasné produkty a řešit důležité problémy. Pokud se zaměříme na náš větší cíl, pak je to vlastně vytvoření jazyka, který vás uspokojí tam, kde jste dnes, a pak vás snadno pozvedne do lepšího světa. Mojo vám umožňuje mít vysoce výkonný, použitelný, staticky typovaný a přenositelný jazyk, který se bezproblémově integruje s vaším stávajícím kódem v Pythonu – a poskytuje vám to nejlepší z obou světů. Umožňuje vám realizovat skutečnou sílu hardwaru s multithreadingem a paralelizací způsoby, které dnes surový Python nedokáže – a tím odemyká globální komunitu vývojářů k jedinému jazyku, který se škáluje odshora dolů.
Kouzlo Mojo je jeho schopnost sjednotit programovací jazyky s jednou sadou nástrojů, proč je to tak důležité?
Jazyky vždy uspějí silou svých ekosystémů a komunit, které se kolem nich tvoří. S komunitami s otevřeným zdrojovým kódem pracujeme již dlouhou dobu a jsme neuvěřitelně ohleduplní k tomu, abychom se zapojili správným způsobem a zajistili, že komunita bude jednat správně. Neuvěřitelně tvrdě pracujeme na dodání naší infrastruktury, ale potřebujeme čas na rozšíření našeho týmu – takže nebudeme mít všechny odpovědi okamžitě, ale dostaneme se k tomu. Když uděláme krok zpět, naším cílem je pozvednout ekosystém Pythonu jeho přijetím celý stávající ekosystéma nesnažíme se to zlomit jako mnoho jiných projektů. Interoperabilita jen usnadňuje komunitě vyzkoušet naši infrastrukturu, aniž by museli přepisovat veškerý jejich kód, a to je pro AI velmi důležité.
Také jsme se toho tolik naučili z vývoje infrastruktury a nástrojů AI za posledních deset let. Stávající monolitické systémy nejsou snadno rozšiřitelné nebo zobecnitelné mimo jejich původní cíl domény a důsledkem je značně fragmentované odvětví nasazení AI s desítkami toolchainů, které s sebou nesou různé kompromisy a omezení. Tyto designové vzory zpomalily tempo inovací tím, že jsou méně použitelné, méně přenosné a obtížněji škálovatelné.
Systém umělé inteligence nové generace musí mít produkční kvalitu a musí splňovat vývojáře tam, kde jsou. Nesmí vyžadovat nákladné přepisování, přestavbu nebo nové založení uživatelského kódu. Musí to být nativně multi-framework, multi-cloud a multi-hardware. Potřebuje kombinovat nejlepší výkon a efektivitu s nejlepší použitelností. To je jediný způsob, jak snížit fragmentaci a odemknout další generaci inovací hardwaru, dat a algoritmů.
Modulární nedávno oznámila získání nových finančních prostředků ve výši 100 milionů dolarů, vedená General Catalyst a obsazená stávajícími investory GV (Google Ventures), SV Angel, Greylock a Factory. Co bychom měli očekávat dále?
Tento nový kapitál bude primárně použit k růstu našeho týmu, najímání nejlepších lidí v infrastruktuře AI a k dalšímu uspokojování obrovské komerční poptávky, kterou po naší platformě vidíme. Modverse, naše komunita více než 130 10+ vývojářů a XNUMX XNUMX podniků, všichni hledají naši infrastrukturu – a tak se chceme ujistit, že ji neustále rozšiřujeme a tvrdě pracujeme na jejím vývoji pro ně a dodáváme jim ji. Držíme se na neuvěřitelně vysoké úrovni a produkty, které dodáváme, jsou odrazem toho, kým jsme jako tým a kým se jako společnost stáváme. Pokud znáte někoho, kdo je nadšený, miluje hranice softwaru a hardwaru a kdo chce pomoci, aby umělá inteligence pronikla do světa smysluplným a pozitivním způsobem – pošlete ho k nám.
Jaká je vaše vize budoucnosti programování?
Programování by mělo být dovedností, kterou může rozvíjet a využívat každý ve společnosti. Mnohým „nápad“ programování okamžitě vykouzlí obrázek vývojáře, který píše složitý nízkoúrovňový kód, který vyžaduje těžkou matematiku a logiku – ale nemusí to tak být vnímáno. Technologie byla pro společnost vždy velkým faktorem, který umožňuje produktivitu, a díky tomu, že programování bude dostupnější a použitelnější, můžeme umožnit, aby je přijalo více lidí. Umožnit lidem automatizovat opakující se procesy a zjednodušit jim život je účinný způsob, jak lidem vrátit více času.
A v Pythonu už máme skvělý jazyk, který obstál ve zkoušce času – je to nejpopulárnější jazyk na světě s neuvěřitelnou komunitou – ale má také svá omezení. Věřím, že máme obrovskou příležitost ho ještě více zefektivnit a povzbudit více lidí na světě, aby přijali jeho krásu a jednoduchost. Jak jsem již řekl, jde o vytváření produktů, které postupně odhalují složitost – umožňují abstrakce na vysoké úrovni, ale zároveň se škálují na neuvěřitelně nízké úrovně. Již nyní jsme svědky významného skoku v modelech umělé inteligence, které umožňují progresivní překlady textu do kódu – a ty se časem budou jen personalizovat – ale za touto magickou inovací stále stojí vývojář, který vytváří a nasazuje kód, který ji pohání. O tom jsme psali v minulosti – umělá inteligence bude i nadále odemykat kreativitu a produktivitu napříč mnoha programovacími jazyky, ale také věřím, že Mojo ještě více otevře prostor ekosystému a umožní větší dostupnost, škálovatelnost a přenositelnost hardwaru pro mnohem více vývojářů po celém světě.
Abychom to dokončili, umělá inteligence pronikne do našich životů nevýslovnými způsoby a bude existovat všude – takže doufám, že Mojo katalyzuje vývojáře, aby šli řešit nejdůležitější problémy lidstva rychleji – bez ohledu na to, kde v našem světě žijí. Myslím, že to je budoucnost, o kterou stojí za to bojovat.
Děkuji za skvělý rozhovor, čtenáři, kteří se chtějí dozvědět více, by měli navštívit Modulární.