Connect with us

Tim Davis, współzałożyciel i prezes Modular – seria wywiadów

Sztuczna inteligencja

Tim Davis, współzałożyciel i prezes Modular – seria wywiadów

mm

Tim Davis jest współzałożycielem i prezesem Modular, zintegrowanego, komponowalnego zestawu narzędzi, które upraszczają infrastrukturę sztucznej inteligencji, aby Twoj zespół mógł szybciej rozwijać, wdrażać i innowować. Modular jest najlepiej znany z opracowania Mojo, nowego języka programowania, który mostuje przepaść między badaniami a produkcją, łącząc najlepsze cechy Pythona z systemami i metaprogramowaniem.

Powtarzający się przedsiębiorca i lider produktu. Tim pomógł zbudować, założyć i skalować duże części infrastruktury sztucznej inteligencji Google 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 (Mobilny/Mikro/Web), Android ML & NNAPI, infrastruktury dużych modeli i 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 tata 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 z 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 Javascript i VBA, zanim ostatecznie zdecydowałem się na Pythona jako język nauki i sztucznej inteligencji. Napisałem sporo kodu w moich wcześniejszych startupach, ale teraz, 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 grupy produktowej, gdzie pomogłeś skalować duże części infrastruktury sztucznej inteligencji Google w Google Brain. Czego nauczyłeś się z tego doświadczenia?

Ludzie są tym, co buduje zmieniające świat technologie i produkty, a jest to poświęcona grupa ludzi związanych większą wizją, która przywodzi ich na świat. Google jest niesamowitą firmą, z niesamowitymi ludźmi, i miałem szczęście spotkać i pracować z wieloma z najbardziej utalentowanych 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 skoncentruj się na użytkowniku i stopniowo ujawniaj złożoność, aby umożliwić użytkownikom opowiedzenie swoich unikalnych historii światu, takich jak naprawienie Wielkiej Rafa Koralowej lub pomoc ludziom jak Jason the Drummer, i przyciągnąć i zebrać różnorodną grupę ludzi, aby osiągnąć wspólny cel. W ogromnej firmie bardzo inteligentnych i utalentowanych ludzi jest to o wiele trudniejsze, niż można sobie wyobrazić. Oglądając się na mój czas tam, to zawsze ludzie, z którymi pracowałem, są naprawdę godni pamięci. Zawsze będę wspominał z sentymentem i bardzo dziękuję, że wiele osób zaryzykowało ze mną, i jestem ogromnie wdzięczny, że zrobili to, 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 dokładnie ta 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 miały znaczący wpływ na świat sztucznej inteligencji dzisiaj. Jednakże, czuliśmy, że sztuczna inteligencja jest hamowana przez zbyt złożoną i fragmentowaną infrastrukturę, którą widzieliśmy na własne oczy wdrożenia dużych obciążeń do miliardów użytkowników. Byliśmy zmotywowani pragnieniem przyspieszyć wpływ sztucznej inteligencji na świat, unosząc przemysł w kierunku oprogramowania sztucznej inteligencji jakości produkcyjnej, 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żymi, krytycznymi infrastrukturami sztucznej inteligencji – widzieliśmy ogromny ból programistów na własne oczy – „dlaczego rzeczy po prostu nie działają”? Aby świat mógł przyjąć i odkryć ogromną, przekształcającą naturę sztucznej inteligencji, potrzebujemy oprogramowania i infrastruktury developerskiej, które skaluje się od badań do produkcji i jest bardzo dostępne. To umożliwi nam odblokowanie następnego sposobu odkryć naukowych – z których sztuczna inteligencja będzie krytyczna – i jest wielkim wyzwaniem inżynieryjnym. Z tym motywującym tłem, rozwinęliśmy wewnętrzną wiarę, że możemy wyjść na drogę budowania nowego podejścia do infrastruktury sztucznej inteligencji i umożliwić developerom na całym świecie korzystanie z sztucznej inteligencji, aby pomóc uczynić świat lepszym miejscem. Jesteśmy również bardzo szczęśliwi, że wiele osób dołączyło do nas w tej podróży, i mamy najlepszy zespół infrastruktury sztucznej inteligencji na świecie jako wynik.

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

Wizja Modular jest umożliwić korzystanie z sztucznej inteligencji 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ść developerska jest tym, co się liczy dla nas najpierw, i mając zbudowane tyle istniejącej infrastruktury sztucznej inteligencji dla świata – musieliśmy uważnie rozważyć, co umożliwi naszemu zespołowi poruszać się szybciej. Przeżyliśmy dwa światy problemu języka w sztucznej inteligencji – gdzie badacze żyją w Pythonie, a inżynierowie produkcji i sprzętu żyją w C++ – i nie mieliśmy wyboru, tylko albo iść w tym kierunku, albo całkowicie przemyśleć podejście. Wybraliśmy to drugie. Była jasna potrzeba rozwiązania tego problemu, ale wiele różnych sposobów rozwiązania go – podejściliśmy do tego z naszym silnym przekonaniem spotkania ekosystemu, gdzie jest on dzisiaj, i umożliwienia prostszej drogi do przyszłości. Nasz zespół nosi blizny migracji oprogramowania w dużym stopniu, i nie chcieliśmy powtórzenia tego. Zrealizowaliśmy również, że nie ma języka dzisiaj, który mógłby rozwiązać wszystkie wyzwania, które próbujemy rozwiązać dla sztucznej inteligencji, więc podjęliśmy podejście pierwszych zasad, i Mojo zostało urodzone.

Jak Mojo umożliwia bezproblemowe skalowanie i przenośność 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 pomóc globalnej społeczności rozwiązać prawdziwe wyzwania, umożliwiając modelom sztucznej inteligencji być spójnie reprezentowanym i uruchamianym 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 to 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 ujawnia ją developerom w unikalny i dostępny sposób. To oznacza, że skaluje się od developeró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 jest to ogromne uproszczenie? Jak byś to opisał?

Mojo powinno wydawać się bardzo znajome każdemu programiście Pythona, ponieważ dzieli składnię Pythona. Ale są pewne ważne różnice, które zobaczysz, gdy przeniesiesz prosty program Pythona do Mojo, w tym to, że po prostu działa bezproblemowo. Jednym z naszych podstawowych celów dla Mojo jest zapewnienie nadzbioru Pythona – to znaczy, uczynienie Mojo kompatybilnym z istniejącymi programami Pythona – i przyjęcie implementacji CPython dla długiego ogona wsparcia ekosystemu. Następnie umożliwienie powolnego uzupełnienia kodu i zastąpienia niewydajnych części funkcjami niskopoziomowymi Mojo, aby jawnie zarządzać pamięcią, dodać typy, wykorzystać autotuning 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 przepisywać swoich algorytmów w wielu językach. Doceniamy, że Python++ to ogromny cel, i będzie to wieloletnie przedsięwzięcie, ale jesteśmy zaangażowani w uczynienie tego rzeczywistością i umożliwieniu naszej legendarnego społeczności ponad 140K+ developerów, aby pomóc nam zbudować przyszłość razem.

W niedawnym wykładzie pokazano, że Mojo jest 35 000 razy szybsze niż Python, jak została obliczona ta szybkość?

To tak naprawdę 68 000 teraz! Ale rozpoznajmy, że jest to tylko jeden program w Mandelbrot – możesz iść i przeczytać serię trzech postów na blogu, jak to osiągnęliśmy – tutaj, tutaj i tutaj. Oczywiście, robiliśmy to przez długi czas i wiemy, że gry wydajnościowe nie są tym, co napędza przyjęcie języka (pomimo tego, że są zabawne!) – to prędkość developerska, użyteczność języka, wysokiej jakości łańcuchy narzędzi i dokumentacja, oraz społeczność wykorzystująca infrastrukturę do wynalezienia i budowy 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ę tworzymy język, który spotyka Cię tam, gdzie jesteś dzisiaj, i podnosi Cię łatwo do lepszego świata. Mojo umożliwia Ci mieć wysokowydajny, 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 paralelizacją w sposób, który surowy Python dzisiaj nie może – odblokowując globalną społeczność developerów, aby mieć jeden język, który skaluje od góry do dołu.

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

Języki zawsze udaje 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 zaangażowaniu 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 tam. 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 uogólnialne poza ich pierwotnym celem, 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ć jakością produkcyjną i spotkać developerów tam, gdzie są. Nie może wymagać drogiego przepisania, przebudowy lub ponownego ustawienia kodu użytkownika. Musi być rodzimie wieloframeworkowe, wielochmurne 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 niedawno ogłosił podniesienie 100 milionów dolarów w nowym finansowaniu, pod przewodnictwem 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 wykorzystywane do wzrostu naszego zespołu, zatrudniania najlepszych ludzi w infrastrukturze sztucznej inteligencji, i kontynuowania spotkania ogromnego komercyjnego popytu, który widzimy na naszą platformę. Modverse, nasza społeczność ponad 130K+ developerów i 10 000 przedsiębiorstw, szukają naszej infrastruktury – więc chcemy upewnić się, że będziemy nadal skalować i pracować ciężko, aby ją rozwijać dla nich, i dostarczyć ją im. Trzymamy się bardzo wysokiego standardu, 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ę oprogramowania i sprzętu, i kto chce pomóc zobaczyć sztuczną inteligencję przenikającą świat w znaczący i pozytywny sposób – wyślij ich do nas.

Jak wyobrażasz sobie przyszłość programowania?

Programowanie powinno być umiejętnością, którą każdy w społeczeństwie może rozwinąć i wykorzystać. Dla wielu, „pomysł” programowania natychmiast wywołuje obraz developera 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, i czyniąc programowanie bardziej dostępnym i użytecznym, możemy umożliwić więcej ludziom przyjąć je. Umożliwienie ludziom automatyzację powtarzalnych procesów i ułatwienie 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 na świecie, z niesamowitą społecznością – ale ma również ograniczenia. Wierzę, ż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ą postępową odkrywalność złożoności – umożliwiając wysokopoziomowe abstrakcje, ale skalując do niesamowicie niskopoziomowych również. Jesteśmy już świadkami znaczącego skoku z modelem sztucznej inteligencji, umożliwiającym postępowe tłumaczenia tekstu na kod – i te będą tylko bardziej personalizowane w czasie – ale za tą magiczną innowacją jest nadal developer autorujący i wdrażający kod, aby ją napędzać. Napisaliśmy o tym w przeszłości – sztuczna inteligencja będzie nadal odblokowywać kreatywność i produktywność w wielu językach programowania, ale wierzę również, że Mojo otworzy ekosystem jeszcze szerzej, umożliwiając więcej dostępności, skalowalności i przenośności sprzętu dla wielu więcej developerów na świecie.

Na zakończenie, sztuczna inteligencja przeniknie nasze życie w niewyobrażalny sposób, i będzie istniała wszędzie – więc mam nadzieję, że Mojo skatalizuje developerów, aby pójść i rozwiązać najważniejsze problemy dla ludzkości szybciej – niezależnie od tego, gdzie żyją na naszym świecie. Myślę, że to jest przyszłość, za 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, z niezachwianą pasją do kształtowania i promowania przyszłości sztucznej inteligencji i robotyki. Jako serialowy przedsiębiorca, uważa, że sztuczna inteligencja będzie tak samo przełomowa dla społeczeństwa, jak elektryczność, i często zachwycany jest potencjałem technologie przełomowych i AGI. Jako futurysta, poświęca się 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 przeobrażają przyszłość i zmieniają całe sektory.