Finanțare
Ludovic Larzul, Fondator și CEO al Mipsology – Seria de Interviuri

Ludovic Larzul este fondatorul și CEO-ul Mipsology, o startup inovatoare axată pe accelerarea de ultimă generație pentru inferența învățării profunde. Ei au conceput tehnologie pentru a accelera calculele rețelelor neuronale de inferență și pentru a ascunde acceleratorul de hardware utilizatorilor de IA. Zebra de la Mipsology este primul accelerator comercial care încorporează această tehnologie pentru a oferi performanță ridicată și ușurință în utilizare.
Ce v-a atras inițial spre IA și microcipuri?
Am lucrat la proiectarea unui anumit tip de supercalculator timp de aproximativ 20 de ani, cu compania mea anterioară EVE, înainte de a fi achiziționată de Synopsys în 2012. Acești computere, numiți și emulatoare ASIC, sunt utilizați de multe companii care proiectează ASIC-uri în întreaga lume. M-am bucurat de complexitatea și diversitatea acestei munci. Pentru a reuși, trebuie (a) să înțelegi electronica, software-ul, algoritmii complexi, modul în care oamenii proiectează cipuri și cum să te asiguri că funcționează bine, arhitectura cipului, puterea și multe alte tehnologii avansate, (b) să previi corect nevoile clienților cu câțiva ani în avans, (c) să inovezi continuu și (d) ca o companie startup, să învingi concurența cu mult mai puține resurse. După 20 de ani de succes, căutam o nouă provocare. Acesta a fost momentul în care IA a început să revină în atenție. AlexNet a făcut un salt înainte în înțelegerea imaginilor (și, privind în urmă, era încă în copilărie). Învățarea profundă era nouă, dar promițătoare (Cine își amintește când dura zile să obții un rezultat pe o rețea simplă?). Am găsit asta destul de “divertisment”, dar am recunoscut că există multe provocări.
Care a fost inspirația din spatele lansării Mipsology?
Nu știu dacă aș folosi cuvântul “inspirație”. A fost inițial mai degrabă: “Putem face ceva care să fie diferit și mai bun?” A început cu presupuneri despre ce ar dori oamenii de IA și ce ar face, iar următorii câțiva ani au fost petrecuți găsind soluții din ce în ce mai bune pe baza acestor presupuneri. Cred că mai mult decât inspirație, aș spune că oamenii cu care lucrez își place să fie cei mai buni la ceea ce creează, într-o atitudine pozitivă de concurență. Acest lucru creează o echipă puternică care poate rezolva probleme pe care alții nu le pot rezolva adecvat.
Mipsology utilizează plăci FPGA în loc de GPU. Puteți descrie ce sunt FPGA?
FPGA sunt componente electronice care pot fi programate la nivel de hardware. Puteți imagina asta ca un set de Lego — câteva milioane de piese. Fiecare bloculeț efectuează o operație simplă, cum ar fi păstrarea unei valori, sau operații puțin mai complexe, cum ar fi adunarea. Prin gruparea tuturor acestor blocuri, este posibilă crearea unui comportament specific după fabricarea cipului. Acest lucru este opusul GPU-urilor și a aproape tuturor celorlalte cipuri, care sunt proiectate pentru o funcție specifică și nu pot fi modificate ulterior.
Unele, cum ar fi CPU-urile și GPU-urile, pot fi programate, dar nu sunt la fel de paralele ca FPGA-urile. La un moment dat, un FPGA efectuează câteva milioane de operații simple. Și acest lucru poate apărea de șase până la șapte sute de milioane de ori pe secundă. Deoarece sunt programabile, ceea ce fac ele poate fi modificat oricând pentru a se adapta la diferite probleme, astfel încât puterea de calcul extraordinară poate fi eficientă. FPGA-urile sunt deja aproape peste tot, inclusiv în stațiile de bază ale telefoanelor mobile, rețele, sateliți, mașini etc. Oamenii nu le cunosc prea bine, însă, pentru că nu sunt la fel de vizibile ca un CPU, cum ar fi cel din laptopul dvs.
Ce face plăcile FPGA superioare soluției mai populare GPU?
FPGA-urile sunt superioare în multe aspecte. Să ne concentrăm doar pe câteva dintre ele.
GPU-urile sunt proiectate pentru renderizarea imaginilor, în principal pentru jocuri. Au fost găsite să se potrivească bine cu anumite calcule în IA din cauza similarității operațiunilor. Dar ele rămân în primul rând dedicate jocurilor, ceea ce înseamnă că vin cu constrângeri care nu se potrivesc bine cu rețelele neuronale.
Programarea lor este, de asemenea, limitată la instrucțiunile care au fost decise cu doi sau trei ani înainte de a fi disponibile. Problema este că rețelele neuronale evoluează mai rapid decât proiectarea ASIC-urilor, iar GPU-urile sunt ASIC-uri. Așadar, este ca și cum ai încerca să previi viitorul: nu este simplu să fii corect. Puteți vedea tendințe, dar detaliile sunt cele care afectează cu adevărat rezultatele, cum ar fi performanța. În contrast, deoarece FPGA-urile sunt programabile la nivel de hardware, putem ține mai ușor pasul cu progresul IA. Acest lucru ne permite să oferim un produs mai bun, cu o performanță mai ridicată și să îndeplinim nevoile clienților fără a trebui să așteptăm următoarea generație de siliciu.
Mai mult, GPU-urile sunt proiectate pentru a fi produse de consum. Durata lor de viață este intenționat scurtă, deoarece companiile care proiectează GPU-uri vor să vândă altele noi după câțiva ani jucătorilor. Acest lucru nu funcționează bine în sistemele electronice care au nevoie de a fi fiabile pentru mulți ani. FPGA-urile sunt proiectate pentru a fi robuste și utilizate 24/7 timp de mulți ani.
Alte avantaje bine cunoscute ale FPGA-urilor includ:
- Există multe opțiuni care pot fi potrivite în zone specifice, cum ar fi prelucrarea rețelelor sau a videourilor
- Funcționează la fel de bine în centrele de date, la margine sau în sisteme înglobate
- Nu necesită răcire specială (mult mai puțin răcire cu apă, ca în cazul GPU-urilor mari)
Unul dintre principalele dezavantaje este că FPGA-urile sunt greu de programat. Acest lucru necesită cunoștințe specifice. Chiar dacă companiile care vând FPGA-uri au făcut eforturi mari pentru a reduce decalajul de complexitate, nu este încă la fel de simplu ca un CPU. În realitate, nici GPU-urile nu sunt simple. Dar software-ul care ascunde programarea lor pentru IA face ca această cunoaștere să nu fie necesară. Acesta este problema pe care Mipsology este prima care o rezolvă: eliminarea nevoii de a programa sau de a avea cunoștințe despre FPGA pentru calculul IA.
Există vreo limitare curentă a plăcilor FPGA?
Unele plăci FPGA sunt ca unele plăci GPU. Pot fi conectate la sloturile PCIe ale unui computer. Unul dintre avantajele bine cunoscute, pe lângă durata de viață pe care am menționat-o anterior, este că consumul de putere este, de obicei, mai mic decât cel al GPU-urilor. Un altul, mai puțin cunoscut, este că există o selecție mai mare de plăci FPGA decât de plăci GPU. Există mai multe FPGA-uri pentru mai multe piețe, ceea ce duce la mai multe plăci care se potrivesc în diferite zone ale piețelor. Acest lucru înseamnă pur și simplu că există mai multe posibilități pentru calculul rețelelor neuronale peste tot, la un cost mai mic. GPU-urile sunt mai limitate; se potrivesc în centrele de date, dar nu prea în altă parte.
Zebra de la Mipsology este primul accelerator comercial care încorporează plăci FPGA pentru a oferi performanță ridicată și ușurință în utilizare. Puteți descrie ce este Zebra?
Pentru cei care sunt familiarizați cu IA și GPU, descrierea cea mai simplă este că Zebra este pentru FPGA ceea ce este Cuda/CuDNN pentru GPU. Este un stivă de software care ascunde complet FPGA-ul în spatele cadrului obișnuit, cum ar fi PyTorch sau TensorFlow. Ne concentrăm în primul rând pe inferența pentru imagini și videouri. Zebra începe cu o rețea neurală care a fost antrenată, de obicei, în puncte cu virgulă, și fără niciun efort sau instrument propriu, o face să ruleze pe orice card bazat pe FPGA. Este la fel de simplu ca: conectați placa FPGA, încărcați driverul, sursa mediului Zebra și lansați aceeași aplicație de inferență ca cea care rulează pe CPU-urile sau GPU-urile. Avem propria noastră cuantificare care păstrează acuratețea, iar performanța este disponibilă din cutie. Nu există niciun instrument propriu pe care utilizatorul trebuie să-l învețe, și nu durează ore de timp de inginerie pentru a obține un debit ridicat sau o latență scăzută. Acest lucru înseamnă pur și simplu tranziții rapide, ceea ce reduce, de asemenea, costurile și timpul de piață.
Care sunt tipurile diferite de aplicații pentru care Zebra este proiectată?
Zebra este un motor de accelerare foarte generic, deci poate accelera calculul pentru orice aplicație care are nevoie de calcularea rețelelor neuronale, cu un focus principal pe imagini și videouri, deoarece nevoile de calcul sunt mai mari pentru acest tip de date. Avem solicitări din piețe foarte diferite, dar toate sunt similare atunci când vine vorba de calcularea rețelelor neuronale. Toate acestea necesită, de obicei, clasificare, segmentare, rezoluție superioară, poziționare a corpului etc.
Deoarece Zebra rulează pe FPGA-uri, orice tip de plăci poate fi utilizat. Unele au un debit ridicat și sunt utilizate, de obicei, în centrele de date. Altele sunt mai potrivite pentru utilizare la margine sau în sisteme înglobate. Viziunea noastră este că, dacă o FPGA poate fi conectată, utilizatorii pot utiliza Zebra pentru a accelera calculele rețelelor neuronale imediat. Și dacă se utilizează GPU-uri sau CPU-uri, Zebra poate înlocui acestea și reduce costurile infrastructurii IA. Majoritatea companiilor cu care vorbim au probleme similare: ar putea implementa mai multe aplicații bazate pe IA, dar costul le limitează.
Pentru o companie care dorește să utilizeze Zebra, care este procesul?
Simplu, ne anunțați la [email protected] și vă vom ajuta să începeți.
Există altceva pe care ați dori să-l împărtășiți despre Mipsology?
Suntem foarte încurajați de feedback-ul pe care îl primim din partea comunității IA pentru soluția noastră Zebra. În special, ne spunem că acesta este probabil cel mai bun accelerator de pe piață. După doar câteva luni, continuăm să adăugăm la un ecosistem în creștere de parteneri interesați, inclusiv Xilinx, Dell, Western Digital, Avnet, TUL și Advantech, pentru a numi câțiva.
Mi-a plăcut foarte mult să aflu despre această tehnologie inovatoare. Citiitorii care doresc să afle mai multe ar trebui să viziteze Mipsology.












