Modele și platforme AI

Tim Davis, Co-Fondator și Președinte al Modular – Seria de Interviuri

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Tim Davis este Co-Fondator și Președinte al Modular, o suită integrată și compozabilă de instrumente care simplifică infrastructura dvs. de inteligență artificială, astfel încât echipa dvs. să poată dezvolta, implementa și inova mai repede. Modular este cel mai bine cunoscut pentru dezvoltarea Mojo, o limbaj de programare nouă care combină cel mai bun din Python cu sisteme și metaprogramare.

Antreprenor repetitiv și lider de produs. Tim a ajutat la construirea, găsirea și scalarea unor părți mari ale infrastructurii de inteligență artificială a Google (GOOGL ) la Google Brain și sistemele de bază de la API-uri (TensorFlow), compilatoare (XLA și MLIR) și runtime-uri pentru server (CPU/GPU/TPU) și TF Lite (Mobil/Micro/Web), Android ML și NNAPI, infrastructură de model mare și OSS pentru miliarde de utilizatori și dispozitive. Îi place să alergă, să construiască și să scaleze produse pentru a ajuta oamenii și lumea.

Când ai descoperit pentru prima dată programarea și ce te-a atras spre ea?

Ca un copil care crește în Australia, tatăl meu a adus acasă un Commodore 64C și jocurile au fost ceea ce m-a făcut să mă îndrăgostesc – Boulder Dash, Maniac Mansion, Double Dragon – ce vreme minunată a fost să fii viu. Acela computer m-a introdus în BASIC și a început să experimentez cu el, ceea ce a fost prima mea introducere reală în programare. Lucrurile au devenit mai intense prin liceu și universitate, unde am folosit limbaje statice tradiționale pentru cursuri de inginerie și, în timp, am ajuns să experimentez și cu Javascript și VBA, înainte de a mă stabili pe Python pentru majoritatea programării, ca limbajul științei datelor și al inteligenței artificiale. Am scris o mulțime de cod în startup-urile mele anterioare, dar în zilele noastre, desigur, utilizez Mojo și lanțul de instrumente pe care l-am creat în jurul lui.

Pentru mai mult de 5 ani, ai lucrat la Google ca Manager de Produs Senior și Lider de Produs, unde ai ajutat la scalarea unor părți mari ale infrastructurii de inteligență artificială a Google la Google Brain. Ce ai învățat din această experiență?

Oamenii sunt cei care construiesc tehnologii și produse care schimbă lumea, și este un grup dedicat de oameni legați de o viziune mai mare care îi aduce în lume. Google este o companie incredibilă, cu oameni minunați, și am fost norocos să întâlnesc și să lucrez cu mulți dintre cei mai străluciți minți în inteligență artificială, cu ani în urmă, când m-am mutat pentru a mă alătura echipei Brain. Cele mai mari lecții pe care le-am învățat au fost să mă concentrez întotdeauna pe utilizator și să dezvălui progresiv complexitatea, pentru a-i împuternici pe utilizatori să-și spună poveștile unice lumii, cum ar fi repararea Marelui Barier de Coral sau ajutarea oamenilor ca Jason the Drummer, și să atrag și să adun o diversitate de oameni pentru a lucra către un obiectiv comun. Într-o companie masivă de oameni foarte deștepți și talentați, acest lucru este mult mai greu decât pare. Reflectând asupra timpului meu acolo, ceea ce este cu adevărat memorabil sunt oamenii cu care am lucrat. Voi arăta întotdeauna înapoi cu nostalgie și apreciere pentru faptul că mulți oameni au luat riscuri asupra mea, și sunt enorm de recunoscător că au făcut-o, deoarece multe dintre aceste riscuri m-au încurajat să fiu un lider și o persoană mai bună, să merg mai adânc și să înțeleg cu adevărat sistemele de inteligență artificială. Acest lucru mi-a făcut să realizez puterea profundă pe care inteligența artificială o are asupra lumii, și acesta a fost exact motivul pentru care am avut inspirația și curajul de a părăsi și a co-fonda Modular.

Poți să ne spui povestea de origine din spatele Modular?

Chris și eu ne-am întâlnit la Google și am lansat multe tehnologii influente care au avut un impact semnificativ asupra lumii inteligenței artificiale de astăzi. Cu toate acestea, am simțit că inteligența artificială a fost împiedicată de infrastructura prea complexă și fragmentată pe care am văzut-o din primă mână, implementând încărcături mari pentru miliarde de utilizatori. Am fost motivați de dorința de a accelera impactul inteligenței artificiale asupra lumii, ridicând industria către software de inteligență artificială de calitate de producție, astfel încât, ca societate globală, să putem avea un impact mai mare asupra modului în care trăim. Nu poți decât să te întrebi câte probleme poate ajuta inteligența artificială să le rezolve, câte boli pot fi vindecate, cât de mult mai productivi putem deveni ca specie, pentru a ne extinde existența pentru generațiile viitoare, prin creșterea penetrării acestei tehnologii incredibile.

Având lucrat împreună timp de ani la infrastructură critică de inteligență artificială la scară largă – am văzut durerea enormă a dezvoltatorilor din primă mână – “de ce nu pot lucrurile să funcționeze pur și simplu”? Pentru ca lumea să adopte și să descopere natura transformativă enormă a inteligenței artificiale, avem nevoie de software și infrastructură de dezvoltator care să se extindă de la cercetare la producție și să fie foarte accesibilă. Acest lucru ne va permite să deblocăm următoarea cale a descoperirilor științifice – din care inteligența artificială va fi critică – și este o mare provocare de inginerie. Cu această motivație în minte, am dezvoltat o credință intrinsecă că putem porni să construim o abordare nouă pentru infrastructura de inteligență artificială și să împuternicim dezvoltatorii de pretutindeni să utilizeze inteligența artificială pentru a ajuta la facerea lumii un loc mai bun. Suntem, de asemenea, foarte norocoși să avem mulți oameni care se alătură nouă în această călătorie, și avem cea mai bună echipă de infrastructură de inteligență artificială ca rezultat.

Poți să discuți cum a fost inițial construit limbajul de programare Mojo pentru echipa ta?

Viziunea Modular este de a permite inteligenței artificiale să fie utilizată de oricine, oriunde. Tot ceea ce facem la Modular este concentrat pe acest obiectiv, și mergem înapoi de la acesta în modul în care construim produsele și tehnologia noastră. În acest sens, viteza noastră de dezvoltator este ceea ce ne interesează mai întâi, și, având construit o parte atât de mare a infrastructurii de inteligență artificială existente pentru lume, am trebuit să considerăm cu atenție ce ne-ar permite să ne mișcăm mai repede. Am trăit prin problema celor două lumi de limbaj în inteligență artificială – unde cercetătorii trăiesc în Python, și inginerii de producție și hardware trăiesc în C++ – și nu am avut de ales decât să mergem pe una dintre aceste căi sau să reevaluăm abordarea în întregime. Am ales cea de-a doua. A existat o nevoie clară de a rezolva această problemă, dar multe moduri diferite de a o rezolva – am abordat-o cu convingerea noastră puternică de a întâlni ecosistemul acolo unde se află astăzi și de a permite o ridicare mai ușoară către viitor. Echipa noastră poartă cicatricile migrației software la scară largă, și nu am vrut să repetăm acea experiență. De asemenea, am realizat că nu există niciun limbaj în prezent, în opinia noastră, care să poată rezolva toate provocările pe care le încercăm să le rezolvăm pentru inteligența artificială, așa că am întreprins o abordare de la zero, și Mojo s-a născut.

Cum permite Mojo o scalare și portabilitate fără efort pe mai multe tipuri de hardware?

Chris, eu și echipa noastră de la Google (mulți la Modular) am ajutat să aducem MLIR în lume cu ani în urmă – cu scopul de a ajuta comunitatea globală să rezolve provocări reale, permițând modelelor de inteligență artificială să fie reprezentate și executate în mod constant pe orice tip de hardware. MLIR este o infrastructură de compilator deschis nouă, care a fost adoptată la scară și devine rapid noua standard pentru construirea de compilatoare prin LLVM. Având în vedere istoria echipei noastre în crearea acestei infrastructuri, este firesc că o utilizăm intens la Modular și aceasta reprezintă abordarea noastră de ultimă generație în dezvoltarea de infrastructură de inteligență artificială pentru lume. În mod critic, în timp ce MLIR este adoptat rapid, Mojo este primul limbaj care exploatează cu adevărat puterea MLIR și o expune dezvoltatorilor într-un mod unic și accesibil. Acest lucru înseamnă că se extinde de la dezvoltatori Python care scriu aplicații la ingineri de performanță care implementează cod de înaltă performanță, la ingineri de hardware care scriu cod de sistem de nivel scăzut pentru hardware-ul lor unic.

Referințele la Mojo spun că este, în esență, Python++, cu accesibilitatea Python și performanța C. Este aceasta o simplificare excesivă? Cum ai descrie-o?

Mojo ar trebui să pară foarte familiar oricărui programator Python, deoarece împărtășește sintaxa Python. Dar există câteva diferențe importante pe care le veți observa pe măsură ce portați un program Python simplu în Mojo, inclusiv faptul că va funcționa direct din cutie. Unul dintre obiectivele noastre principale pentru Mojo este de a oferi un superset de Python – adică, de a face Mojo compatibil cu programele Python existente – și de a adopta implementarea CPython pentru suportul ecosistemului de coadă lungă. Apoi, permiteți să vă îmbunătățiți treptat codul și să înlocuiți părțile care nu funcționează cu funcțiile de nivel scăzut ale Mojo pentru a gestiona în mod explicit memoria, adăugați tipuri, utilizați autotuning și multe alte aspecte pentru a obține performanța C sau mai bună! Considerăm că Mojo vă oferă cele mai bune două lumi și nu trebuie să scrieți și să rescrieți algoritmii în multiple limbi. Apreciem că Python++ este un obiectiv enorm și va fi o întreprindere pe termen lung, dar suntem dedicați să o facem realitate și să permitem comunității noastre legendare de peste 140K+ dezvoltatori să ne ajute să construim viitorul împreună.

Într-o prezentare recentă, s-a arătat că Mojo este de 35.000 de ori mai rapid decât Python, cum a fost calculată această viteză?

De fapt, este de 68.000 de ori mai rapid acum! Dar să recunoaștem că este doar un singur program în Mandelbrot – puteți merge și citi o serie de trei articole de blog despre cum am realizat acest lucru – aici, aici și aici. Desigur, am făcut acest lucru de mult timp și știm că jocurile de performanță nu sunt ceea ce determină adoptarea limbajului (în ciuda faptului că sunt distractive!) – este viteza dezvoltatorului, ușurința de utilizare a limbajului, calitatea high a lanțului de instrumente și documentația, și o comunitate care utilizează infrastructura pentru a inventa și a construi în moduri pe care nu le putem imagina. Suntem constructori de instrumente, și obiectivul nostru este de a împuternici lumea să utilizeze instrumentele noastre, pentru a crea produse uimitoare și a rezolva probleme importante. Dacă ne concentrăm asupra obiectivului nostru mai mare, este de fapt de a crea un limbaj care să vă întâlnescă acolo unde sunteți astăzi și apoi să vă ridice ușor într-o lume mai bună. Mojo vă permite să aveți un limbaj cu performanță ridicată, ușor de utilizat, static tipizat și portabil, care se integrează perfect cu codul Python existent – oferindu-vă cele mai bune două lumi. Vă permite să realizați puterea reală a hardware-ului cu multithreading și paralelizare în moduri în care Pythonul brut nu poate – deblocând comunitatea globală de dezvoltatori pentru a avea un singur limbaj care se extinde de la top la bottom.

Magia Mojo este capacitatea sa de a uni limbajele de programare cu un singur set de instrumente, de ce este atât de important?

Limbajele de programare reușesc întotdeauna prin puterea ecosistemelor și comunităților care se formează în jurul lor. Am lucrat cu comunități open-source timp de mult timp, și suntem incredibil de atenți la implicarea în modul corect și la asigurarea faptului că facem bine comunității. Suntem foarte dedicați să lansăm infrastructura noastră, dar avem nevoie de timp pentru a scala echipa noastră – așa că nu vom avea toate răspunsurile imediat, dar vom ajunge acolo. Înapoi, obiectivul nostru este de a ridica ecosistemul Python, îmbrățișând întregul ecosistem existent, și nu căutăm să-l fragmentăm ca atâtea alte proiecte. Interoperabilitatea face ca este mai ușor pentru comunitate să încerce infrastructura noastră, fără a trebui să rescrie tot codul lor, și acest lucru contează mult pentru inteligența artificială.

De asemenea, am învățat mult din dezvoltarea de infrastructură și instrumente de inteligență artificială în ultimii zece ani. Sistemele monolitice existente nu sunt ușor extensibile sau generalizabile în afara domeniului lor inițial, și consecința este o industrie de implementare a inteligenței artificiale extrem de fragmentată, cu zeci de lanțuri de instrumente care au diferite compromisuri și limitări. Aceste modele de proiectare au încetinit ritmul inovației, fiind mai puțin utilizabile, mai puțin portabile și mai greu de scalat.

Sistemul de inteligență artificială de următoare generație trebuie să fie de calitate de producție și să întâlnescă dezvoltatorii acolo unde se află. Nu trebuie să necesite o rescriere scumpă, o restructurare sau o rebază a codului utilizatorului. Trebuie să fie nativ multi-cadru, multi-nor și multi-hardware. Trebuie să combine cea mai bună performanță și eficiență cu cea mai bună ușurință de utilizare. Acesta este singurul mod de a reduce fragmentarea și de a debloca următoarea generație de inovații hardware, date și algoritmi.

Modular a anunțat recent strâns 100 de milioane de dolari în finanțare nouă, condusă de General Catalyst și completată de investitori existenți GV (Google Ventures), SV Angel, Greylock și Factory. Ce ar trebui să așteptăm în continuare?

Această nouă capital va fi utilizată în primul rând pentru a crește echipa noastră, angajând cei mai buni oameni în infrastructura de inteligență artificială, și continuând să întâlnim cererea comercială enormă pe care o vedem pentru platforma noastră. Modverse, comunitatea noastră de peste 130K+ dezvoltatori și mii de întreprinderi, toate sunt în căutarea infrastructurii noastre – așa că vrem să ne asigurăm că continuăm să o scalăm și să lucrăm din greu pentru a o dezvolta pentru ei și a o livra lor. Ne ținem la un standard incredibil de înalt, și produsele pe care le lansăm sunt o reflectare a ceea ce suntem ca echipă și a ceea ce devenim ca companie. Dacă cunoașteți pe cineva care este motivat, care iubește granița dintre software și hardware, și care vrea să ajute la pătrunderea inteligenței artificiale în lume într-un mod semnificativ și pozitiv – trimiteți-i drumul nostru.

Care este viziunea ta pentru viitorul programării?

Programarea ar trebui să fie o abilitate pe care oricine din societate o poate dezvolta și utiliza. Pentru mulți, “ideea” de programare evocă instantaneu o imagine a unui dezvoltator care scrie cod de nivel scăzut complex care necesită matematică și logică grea – dar nu trebuie să fie percepută în acest fel. Tehnologia a fost întotdeauna un mare facilitator de productivitate pentru societate, și prin faptul că facem programarea mai accesibilă și mai ușor de utilizat, putem împuternici mai multă lume să o îmbrățișeze. Împuternicirea oamenilor să automatizeze procese repetitive și să-și facă viața mai ușoară este un mod puternic de a le oferi mai mult timp înapoi.

Și în Python, avem deja o limbă minunată care a rezistat testului timpului – este cea mai populară limbă, cu o comunitate incredibilă – dar are și limitări. Cred că avem o oportunitate uriașă de a o face și mai puternică, și de a încuraja mai multă lume să îi aprecieze frumusețea și simplitatea. Așa cum am spus mai devreme, este vorba despre construirea de produse care au o dezvăluire progresivă a complexității – permițând abstracții de nivel înalt, dar și scalând la niveluri foarte joase. Suntem deja martorii unui salt semnificativ cu modele de inteligență artificială care permit traduceri progresive de text în cod – și acestea vor deveni și mai personalizate în timp – dar în spatele acestei inovații magice este încă un dezvoltator care autorizează și implementează cod pentru a o face funcțională. Am scris despre acest lucru în trecut – inteligența artificială va continua să deblocheze creativitatea și productivitatea în multe limbi de programare, dar cred și că Mojo va deschide apertura ecosistemului și mai mult, împuternicind mai multă accesibilitate, scalabilitate și portabilitate hardware pentru mai mulți dezvoltatori din întreaga lume.

Pentru a termina, inteligența artificială va pătrunde în viețile noastre în moduri neștiute, și va exista peste tot – așa că sper că Mojo va cataliza dezvoltatorii să meargă și să rezolve cele mai importante probleme pentru omenire mai repede – indiferent unde trăiesc în lumea noastră. Cred că acesta este un viitor pentru care merită să luptăm.

Mulțumim pentru interviul minunat, cititorilor care doresc să afle mai multe ar trebui să viziteze Modular.

Antoine este un lider vizionar și partener fondator al Unite.AI, condus de o pasiune neclintită pentru modelarea și promovarea viitorului inteligenței artificiale și roboticii. Un întreprinzător serial, el crede că inteligența artificială va fi la fel de disruptivă pentru societate ca și electricitatea și este adesea prins vorbind entuziast despre potențialul tehnologiilor disruptive și AGI.

Ca futurist, el este dedicat explorării modului în care aceste inovații vor modela lumea noastră. În plus, el este fondatorul Securities.io, o platformă axată pe investiții în tehnologii de ultimă generație care redefinesc viitorul și reshapă întregi sectoare.