Modele și platforme AI
Cadru de Antrenare a Modelului de Inteligență Artificială Distribuită al Uber, Fiber
Conform VentureBeat, cercetătorii în domeniul inteligenței artificiale de la Uber au publicat recent un articol pe Arxiv care prezintă o nouă platformă destinată să ajute la crearea de modele de inteligență artificială distribuite. Platforma se numește Fiber și poate fi utilizată pentru a conduce atât sarcini de învățare prin întărire, cât și sarcini de învățare bazate pe populație. Fiber este proiectat pentru a face computația paralelă la scară largă mai accesibilă pentru non-experți, permițându-le să profite de puterea algoritmilor și modelelor de inteligență artificială distribuite.
Fiber a fost recent lansat ca open-source pe GitHub și este compatibil cu Python 3.6 sau superior, cu Kubernetes care rulează pe un sistem Linux și rulează într-un mediu de cloud. Conform echipei de cercetători, platforma poate fi ușor escaladată până la sute sau mii de mașini individuale.
Echipa de cercetători de la Uber explică faptul că multe dintre cele mai recente și relevante avansuri în domeniul inteligenței artificiale au fost conduse de modele mai mari și mai multe algoritmi care sunt antrenați utilizând tehnici de antrenare distribuite. Cu toate acestea, crearea de modele bazate pe populație și modele de învățare prin întărire rămâne o sarcină dificilă pentru schemele de antrenare distribuite, deoarece acestea au adesea probleme cu eficiența și flexibilitatea. Fiber face sistemul distribuit mai fiabil și mai flexibil prin combinarea software-ului de gestionare a clusterului cu scalare dinamică și permițând utilizatorilor să mute sarcinile lor de la o mașină la un număr mare de mașini fără întrerupere.
Fiber este alcătuit din trei componente diferite: un API, un backend și un strat de cluster. Stratul API permite utilizatorilor să creeze lucruri precum cozi, manageri și procese. Stratul backend al lui Fiber permite utilizatorilor să creeze și să încheie sarcini care sunt gestionate de clusteruri diferite, iar stratul de cluster gestionează clusterurile individuale și resursele acestora, ceea ce mărește numărul de elemente pe care Fiber trebuie să le urmărească.
Fiber permite sarcinilor să fie puse în coadă și să ruleze la distanță pe o mașină locală sau pe mai multe mașini, utilizând conceptul de procese susținute de sarcini. Fiber utilizează, de asemenea, containere pentru a asigura faptul că datele de intrare și pachetele dependente sunt autonome. Cadru Fiber include, de asemenea, gestionarea erorilor încorporate, astfel încât dacă un lucrător se prăbușește, acesta poate fi repede readus la viață. Fiber poate face toate acestea în timp ce interacționează cu managerii de cluster, permițând aplicațiilor Fiber să ruleze ca și cum ar fi aplicații normale care rulează pe un anumit cluster de calculatoare.
Rezultatele experimentale au arătat că, în medie, timpul de răspuns al lui Fiber a fost de câteva milisecunde și că, de asemenea, a escaladat mai bine decât tehnicile de inteligență artificială de bază atunci când a fost construit cu 2.048 de nuclee de procesor/lucrători. Timpul necesar pentru finalizarea sarcinilor a scăzut treptat pe măsură ce numărul de lucrători a crescut. IPyParallel a finalizat 50 de iterații de antrenare în aproximativ 1400 de secunde, în timp ce Fiber a putut finaliza aceleași 50 de iterații de antrenare în aproximativ 50 de secunde, cu 512 de lucrători disponibili.
Coautorii articolului Fiber explică că Fiber poate atinge multiple obiective, cum ar fi scalarea dinamică a algoritmilor și utilizarea unor volume mari de putere de calcul:
„[Lucrarea noastră arată] că Fiber atinge multe obiective, inclusiv utilizarea eficientă a unei cantități mari de hardware de calcul eterogen, scalarea dinamică a algoritmilor pentru a îmbunătăți eficiența utilizării resurselor, reducerea sarcinii de inginerie necesare pentru a face algoritmii de învățare prin întărire și algoritmii bazati pe populație să funcționeze pe clusteruri de calculatoare și adaptarea rapidă la diferite medii de calcul pentru a îmbunătăți eficiența cercetării. Ne așteptăm ca acesta să permită progresul în rezolvarea problemelor dificile de învățare prin întărire cu algoritmii de învățare prin întărire și metodele bazate pe populație, făcându-le mai ușor de dezvoltat și de antrenat la scară necesară pentru a le face să strălucească.”












