Modele i platformy AI

Tim Davis, Współzałożyciel i Prezes Modular – Wywiad

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Tim Davis jest Współzałożycielem i Prezesem Modular, zintegrowanego, komponowalnego zestawu narzędzi, które upraszczają infrastrukturę sztucznej inteligencji, aby Twoja drużyna mogła szybciej rozwijać, wdrażać i innowować. Modular jest najlepiej znany z tworzenia Mojo, nowego języka programowania, który mostem łączy przepaść między badaniami a produkcją, łącząc najlepsze cechy Pythona z systemami i metaprogramowaniem.

Przedsiębiorca wielokrotny i Lider Produktu. Tim pomógł zbudować, założyć i skalować duże części infrastruktury sztucznej inteligencji Google (GOOGL ) w Google Brain i Core Systems od API (TensorFlow), Kompilatorów (XLA & MLIR) i środowisk uruchomieniowych dla serwerów (CPU/GPU/TPU) i TF Lite (Mobile/Micro/Web), Android ML & NNAPI, dużej infrastruktury modeli & OSS dla miliardów użytkowników i urządzeń. Lubi biegać, budować i skalować produkty, aby pomóc ludziom, i światu.

Kiedy po raz pierwszy odkryłeś programowanie, i co cię do niego przyciągnęło?

Jako dziecko dorastające w Australii, mój ojciec przyniósł do domu Commodore 64C, a gry były tym, co mnie zaangażowało – Boulder Dash, Maniac Mansion, Double Dragon – co za wspaniały czas, aby żyć. Ten komputer wprowadził mnie w świat BASIC i hakowaniem w tym było moje pierwsze prawdziwe wprowadzenie do programowania. Rzeczy stały się bardziej intensywne w szkole średniej i na uniwersytecie, gdzie używałem bardziej tradycyjnych języków statycznych do kursów inżynierskich, a z czasem nawet próbowałem Javascriptu i VBA, zanim ostatecznie zdecydowałem się na Pythona jako język większości programowania, jako język nauki o danych i sztucznej inteligencji. Napisałem sporo kodu w moich wcześniejszych startupach, ale obecnie, oczywiście, wykorzystuję Mojo i łańcuch narzędzi, który stworzyliśmy wokół niego.

Przez ponad 5 lat pracowałeś w Google jako Starszy Menedżer Produktu i Lider Produktu, gdzie pomógł skalować duże części infrastruktury sztucznej inteligencji Google w Google Brain. Co nauczyłeś się z tego doświadczenia?

Ludzie to ci, którzy budują technologie i produkty, które zmieniają świat, i to oddany zespół ludzi związanych większą wizją, która przywodzi ich na świat. Google to niesamowita firma, z niesamowitymi ludźmi, i miałem szczęście spotkać i pracować z wieloma z najjaśniejszych umysłów w dziedzinie sztucznej inteligencji wiele lat temu, kiedy dołączyłem do zespołu Brain. Największe lekcje, które nauczyłem się, to zawsze skoncentrować się na użytkowniku i stopniowo ujawniać złożoność, aby umożliwić użytkownikom opowiedzenie swoich unikalnych historii światu, takich jak naprawa Wielkiej Rafy Koralowej lub pomaganie ludziom jak Jason the Drummer, i przyciągnąć i zebrać zróżnicowany zespół ludzi, aby osiągnąć wspólny cel. W ogromnej firmie bardzo inteligentnych i utalentowanych ludzi jest to o wiele trudniejsze, niż się wydaje. Oglądając się na mój czas tam, to zawsze ludzie, z którymi pracowałem, są naprawdę pamiętni. Zawsze będę wspominał z sentymentem i doceniałem, że wiele osób zaryzykowało na mnie, i jestem ogromnie wdzięczny, że to zrobili, ponieważ wiele z tych ryzyk zachęciło mnie do bycia lepszym liderem i osobą, do zanurzenia się głęboko i prawdziwego zrozumienia systemów sztucznej inteligencji. To naprawdę sprawiło, że zrozumiałem ogromną moc sztucznej inteligencji, aby wpłynąć na świat, i to była właśnie przyczyna, dla której miałem inspirację i odwagę, aby opuścić i współzałożyć Modular.

Czy możesz podzielić się historią powstania Modular?

Chris i ja spotkaliśmy się w Google i wydaliśmy wiele wpływowych technologii, które znacząco wpłynęły na świat sztucznej inteligencji dzisiaj. Jednakże, czuliśmy, że sztuczna inteligencja była hamowana przez zbyt złożoną i fragmentowaną infrastrukturę, którą zaobserwowaliśmy pierwszą ręką wdrożeniem dużych obciążeń do miliardów użytkowników. Byliśmy zmotywowani pragnieniem przyspieszyć wpływ sztucznej inteligencji na świat, podnosząc przemysł w kierunku oprogramowania sztucznej inteligencji o wysokiej jakości produkcji, abyśmy, jako globalne społeczeństwo, mogli mieć większy wpływ na to, jak żyjemy. Nie można się nie zastanawiać, ile problemów sztuczna inteligencja może pomóc rozwiązać, ile chorób wyleczyć, jak bardzo możemy się stać bardziej produktywni jako gatunek, aby dalej istnieć dla przyszłych pokoleń, zwiększając przenikanie tej niesamowitej technologii.

Pracując razem przez lata nad dużą skalą krytycznej infrastruktury sztucznej inteligencji – widzieliśmy ogromny ból programistów na własnej skórze – „dlaczego rzeczy po prostu nie działają”? Aby świat przyjął i odkrył ogromną transformacyjną naturę sztucznej inteligencji, potrzebujemy oprogramowania i infrastruktury dla deweloperów, które skaluje się od badań do produkcji i jest wysoko dostępne. To umożliwi nam odblokowanie następnego sposobu naukowych odkryć – z których sztuczna inteligencja będzie kluczowa – i jest wielkim wyzwaniem inżynierskim. Z tym motywującym tłem, rozwinęliśmy wewnętrzną wiarę, że możemy wyjść, aby zbudować nowe podejście do infrastruktury sztucznej inteligencji i umożliwić deweloperom na całym świecie używanie sztucznej inteligencji, aby pomóc uczynić świat lepszym miejscem. Mamy również ogromne szczęście, że wiele osób dołączyło do nas w tej podróży, i mamy najlepszy zespół infrastruktury sztucznej inteligencji na świecie w wyniku.

Czy możesz omówić, jak język programowania Mojo został początkowo zbudowany dla Twojego zespołu?

Wizja Modular jest umożliwienie sztucznej inteligencji, aby była używana przez każdego, wszędzie. Wszystko, co robimy w Modular, jest ukierunkowane na ten cel, i idziemy wstecz od tego w sposób, w jaki budujemy nasze produkty i technologię. W tym świetle, nasza własna prędkość deweloperska jest tym, co najpierw się liczy, i mając zbudowane tak wiele istniejącej infrastruktury sztucznej inteligencji dla świata – musieliśmy uważnie rozważyć, co umożliwi naszemu zespołowi poruszać się szybciej. Mamy doświadczenie z dwoma światami problemu języka w sztucznej inteligencji – gdzie badacze żyją w Pythonie, a produkcja i inżynierowie sprzętu żyją w C++ – i nie mieliśmy wyboru, aby albo iść tą drogą, albo całkowicie przemyśleć podejście. Wybraliśmy to drugie. Była jasna potrzeba, aby rozwiązać ten problem, ale wiele różnych sposobów aby go rozwiązać – podejściliśmy do tego z naszą silną wiarą w spotkaniu ekosystemu tam, gdzie jest dzisiaj, i umożliwieniu prostszej drogi do przyszłości. Nasz zespół nosi blizny migracji oprogramowania w dużym stopniu, i nie chcieliśmy powtórki tego. Zrealizowaliśmy również, że nie ma języka dzisiaj, w naszej opinii, który może rozwiązać wszystkie wyzwania, które próbujemy rozwiązać dla sztucznej inteligencji, więc podjęliśmy podejście od podstaw, i Mojo zostało stworzone.

Jak Mojo umożliwia bezproblemowe skalowanie i przenoszenie na wiele typów sprzętu?

Chris, ja i nasz zespół w Google (wielu w Modular) pomogliśmy wprowadzić MLIR na świat wiele lat temu – z celem, aby pomóc globalnej społeczności rozwiązać prawdziwe wyzwania, umożliwiając modelom sztucznej inteligencji być spójnie reprezentowanym i wykonywanym na dowolnym typie sprzętu. MLIR to nowy typ otwartego oprogramowania infrastruktury kompilatora, który został przyjęty w skali, i szybko staje się nowym standardem dla budowania kompilatorów za pomocą LLVM. Biorąc pod uwagę historię naszego zespołu w tworzeniu tej infrastruktury, jest naturalne, że wykorzystujemy ją intensywnie w Modular i stanowi to podstawę naszego nowoczesnego podejścia do rozwoju nowej infrastruktury sztucznej inteligencji dla świata. Krytycznie, podczas gdy MLIR jest teraz szybko przyjmowany, Mojo jest pierwszym językiem, który naprawdę wykorzystuje moc MLIR i eksponuje ją deweloperom w unikalny i dostępny sposób. To oznacza, że skaluje się od programistów Pythona, którzy piszą aplikacje, do inżynierów wydajności, którzy wdrażają kod o wysokiej wydajności, do inżynierów sprzętu, którzy piszą bardzo niskopoziomowy kod systemowy dla swojego unikalnego sprzętu.

Odwołania do Mojo twierdzą, że jest to podstawowo Python++, z dostępnością Pythona i wysoką wydajnością C. Czy to jest ogromne uproszczenie? Jak byś to opisał?

Mojo powinno wyglądać bardzo znajomo dla każdego programisty Pythona, ponieważ dzieli składnię Pythona. Ale są pewne ważne różnice, które zobaczysz, gdy przenosisz prosty program Pythona do Mojo, w tym to, że po prostu działa bezproblemowo. Jednym z naszych głównych celów dla Mojo jest zapewnienie nadzbiornika Pythona – to znaczy, aby uczynić Mojo kompatybilnym z istniejącymi programami Pythona – i przyjąć implementację CPython do długoterminowego wsparcia ekosystemu. Następnie umożliwić Ci powolne uzupełnienie kodu i zastąpienie niewydajnych części funkcjami niskopoziomowymi Mojo, aby jawnie zarządzać pamięcią, dodać typy, wykorzystać automatyczne dostosowywanie i wiele innych aspektów, aby uzyskać wydajność C lub lepszą! Uważamy, że Mojo daje Ci najlepsze z obu światów i nie musisz pisać i ponownie pisać swoich algorytmów w wielu językach. Doceniamy, że Python++ jest ogromnym celem, i będzie to wieloletnie przedsięwzięcie, ale jesteśmy zaangażowani w uczynienie go rzeczywistością i umożliwieniu naszej legendarnego społeczności ponad 140K+ deweloperów, aby pomóc nam zbudować przyszłość razem.

W niedawnym przemówieniu wykazano, że Mojo jest 35 000 razy szybsze niż Python, jak została obliczona ta prędkość?

To tak naprawdę 68 000 razy teraz! Ale rozpoznajmy, że jest to tylko jeden program w Mandelbrot – możesz pójść i przeczytać serię trzech postów na blogu, jak osiągnęliśmy to – tutaj, tutaj i tutaj. Oczywiście, pracowaliśmy nad tym przez długi czas i wiemy, że gry z wydajnością nie są tym, co napędza adopcję języka (pomimo tego, że są zabawne!) – to prędkość deweloperska, użyteczność języka, wysoka jakość łańcucha narzędzi i dokumentacji, oraz społeczność wykorzystująca infrastrukturę, aby wymyślać i budować w sposób, który nie możemy nawet wyobrazić. Jesteśmy budowniczymi narzędzi, a naszym celem jest umożliwienie światu korzystania z naszych narzędzi, aby tworzyć niesamowite produkty i rozwiązywać ważne problemy. Jeśli skupimy się na naszym większym celu, to tak naprawdę chcemy stworzyć język, który spotyka Cię tam, gdzie jesteś dzisiaj, i potem podnosi Cię do lepszego świata. Mojo umożliwia Ci mieć wysoko wydajny, użyteczny, statycznie typowany i przenośny język, który bezproblemowo integruje się z Twoim istniejącym kodem Pythona – dając Ci najlepsze z obu światów. Umożliwia Ci zrealizować prawdziwą moc sprzętu z wielowątkowością i równoległością w sposób, który surowy Python nie może – odblokowując globalną społeczność deweloperów, aby mieć jeden język, który skaluje się od góry do dołu.

Czemu magia Mojo polega na jego zdolności do ujednolicenia języków programowania z jednym zestawem narzędzi, dlaczego jest to takie ważne?

Języki zawsze udają się dzięki mocy ich ekosystemów i społeczności, które tworzą wokół nich. Pracowaliśmy z społecznościami open source przez długi czas i jesteśmy niezwykle staranni w angażowaniu się w odpowiedni sposób i zapewnieniu, że postępujemy słusznie wobec społeczności. Pracujemy niezwykle ciężko, aby wydać naszą infrastrukturę, ale potrzebujemy czasu, aby skalować nasz zespół – więc nie będziemy mieli wszystkich odpowiedzi od razu, ale dotrzemy do tego. Krok wstecz, naszym celem jest podniesienie ekosystemu Pythona, przyjmując cały istniejący ekosystem, i nie szukamy go rozłamu, jak wiele innych projektów. Interoperacyjność po prostu ułatwia społeczności próbę naszej infrastruktury, bez konieczności przepisywania wszystkiego swojego kodu, i to ma duże znaczenie dla sztucznej inteligencji.

Ponadto, nauczyliśmy się tak wiele z rozwoju infrastruktury i narzędzi sztucznej inteligencji w ciągu ostatnich dziesięciu lat. Istniejące monolityczne systemy nie są łatwo rozszerzalne ani ogólniejsze poza ich pierwotnym celem domeny, a konsekwencją jest ogromnie fragmentowana branża wdrożenia sztucznej inteligencji z dziesiątkami łańcuchów narzędzi, które niosą różne kompromisy i ograniczenia. Te wzorce projektowe spowolniły tempo innowacji, będąc mniej użytecznymi, mniej przenośnymi i trudniejszymi do skalowania.

Następny system sztucznej inteligencji musi być o wysokiej jakości produkcji i spotkać deweloperów tam, gdzie są. Nie może wymagać drogiej przebudowy, przebudowy lub ponownego ustawienia kodu użytkownika. Musi być rodzimie wielofunkcyjne, wielochmurowe i wielosprzętowe. Musi łączyć najlepszą wydajność i efektywność z najlepszą użytecznością. To jedyny sposób, aby zmniejszyć fragmentację i odblokować następną generację sprzętu, danych i innowacji algorytmicznych.

Modular ogłosił niedawno podniesienie 100 milionów dolarów w nowym finansowaniu, prowadzonym przez General Catalyst i wypełnionym przez istniejących inwestorów GV (Google Ventures), SV Angel, Greylock, i Factory. Co powinniśmy oczekiwać dalej?

To nowe kapitał będzie głównie wykorzystane do wzrostu naszego zespołu, rekrutacji najlepszych ludzi w infrastrukturze sztucznej inteligencji, i kontynuowania spotkania ogromnego komercyjnego popytu, który widzimy na naszą platformę. Modverse, nasza społeczność ponad 130K+ deweloperów i 10K przedsiębiorstw, wszystkie szukają naszej infrastruktury – więc chcemy upewnić się, że kontynuujemy skalowanie i pracujemy ciężko, aby ją dla nich rozwijać i dostarczać. Trzymamy się niezwykle wysokich standardów, a produkty, które wydajemy, są odzwierciedleniem tego, kim jesteśmy jako zespół, i kim stajemy się jako firma. Jeśli znasz kogoś, kto jest zmotywowany, kto kocha granicę między oprogramowaniem a sprzętem, i kto chce pomóc sztucznej inteligencji przeniknąć świat w znaczący i pozytywny sposób – wyślij ich do nas.

Jaka jest Twoja wizja przyszłości programowania?

Programowanie powinno być umiejętnością, którą każdy w społeczeństwie może rozwinąć i wykorzystać. Dla wielu, „idea” programowania natychmiast wywołuje obraz dewelopera piszącego złożony, niskopoziomowy kod, który wymaga ciężkiej matematyki i logiki – ale nie musi być postrzegane w ten sposób. Technologia zawsze była wielkim katalizatorem produktywności dla społeczeństwa, a czyniąc programowanie bardziej dostępnym i użytecznym, możemy umożliwić więcej ludziom je przyjąć. Umożliwianie ludziom automatyzowania powtarzalnych procesów i uproszczenia ich życia jest potężnym sposobem, aby dać ludziom więcej czasu.

I w Pythonie, mamy już wspaniały język, który przetrwał próbę czasu – jest to najpopularniejszy język, z niesamowitą społecznością – ale również ma ograniczenia. Uważam, że mamy ogromną okazję, aby uczynić go jeszcze potężniejszym, i zachęcić więcej świata do przyjęcia jego piękna i prostoty. Jak powiedziałem wcześniej, chodzi o budowanie produktów, które mają stopniowe ujawnianie złożoności – umożliwiając wysoki poziom abstrakcji, ale skalując do niesamowicie niskiego poziomu również. Świadkowie znaczącego skoku z modelem AI, który umożliwia stopniowe tłumaczenie tekstu na kod – i te będą tylko bardziej personalizowane w czasie – ale za tą magiczną innowacją jest nadal deweloper, który tworzy i wdraża kod, aby ją napędzać. Napisaliśmy o tym w przeszłości – sztuczna inteligencja będzie kontynuowała odblokowywanie kreatywności i produktywności w wielu językach programowania, ale uważam również, że Mojo otworzy ekosystem jeszcze szerzej, umożliwiając większą dostępność, skalowalność i przenośność sprzętu dla wielu więcej deweloperów na świecie.

Na zakończenie, sztuczna inteligencja przeniknie nasze życie w niewypowiedziany sposób, i będzie istnieć wszędzie – więc mam nadzieję, że Mojo skatalizuje deweloperów, aby rozwiązać najważniejsze problemy dla ludzkości szybciej – niezależnie od tego, gdzie żyją na naszym świecie. Uważam, że to jest przyszłość, o którą warto walczyć.

Dziękuję za wspaniały wywiad, czytelnicy, którzy chcą dowiedzieć się więcej, powinni odwiedzić Modular.

Antoine jest wizjonerskim liderem i współzałożycielem Unite.AI, który jest zmotywowany niezachwianą pasją do kształtowania i promowania przyszłości sztucznej inteligencji i robotyki. Jako serialowy przedsiębiorca, wierzy, że sztuczna inteligencja będzie tak samo przełomowa dla społeczeństwa, jak elektryczność, i często jest złapany na tym, że zachwala potencjał przełomowych technologii i AGI.

Jako futurysta, jest poświęcony badaniu, jak te innowacje ukształtują nasz świat. Ponadto, jest założycielem Securities.io, platformy skupiającej się na inwestowaniu w najnowocześniejsze technologie, które zmieniają przyszłość i przebudowują całe sektory.