Îmbunătățirea eficienței și vitezei în dezvoltarea ML/AI

În lumea în ritm alert a dezvoltării AI/ML, este crucial să avem o infrastructură care poate ține pasul cu cerințele inginerilor ML. Timpii de construire lenti și ineficiențele în ambalarea și distribuirea fișierelor de execuție pot împiedica productivitatea și pot irosi timp valoros.

Pentru a aborda aceste provocări, echipa noastră a luat măsuri proactive pentru a rezolva problemele de construire lentă și ineficiențele în ambalarea fișierelor. Rezultatul a fost o reducere semnificativă a costurilor peste suprastructură și îmbunătățirea eficienței generale.

În loc să ne bazăm pe revizii depășite care necesită reconstruire și legături repetate, ne-am concentrat pe minimizarea reconstrucțiilor prin simplificarea graficului de construire și optimizarea numărului de dependențe. Această abordare a redus semnificativ necesitatea unei reconstrucții extinse și a îmbunătățit viteza generală a construirii.

Un alt obstacol major cu care ne-am confruntat a fost ambalarea și distribuția fișierelor de execuție. Pentru a depăși această provocare, am implementat o abordare incrementală utilizând Sistemul de Fișiere cu Adresare a Conținutului (CAF). Prin adoptarea unei abordări conștiente de conținut, CAF evită inteligent încărcarea redundantă a fișierelor deja prezente în stocarea adresabilă pe conținut (CAS). Aceasta nu numai că reduce timpul de ambalare, dar minimizează și suprasarcina de preluare atunci când lucrăm cu executabile mari.

Pentru a îmbunătăți eficiența sistemului CAF, am implementat un daemon CAS pe majoritatea gazdelor centrului nostru de date. Acest daemon este responsabil de menținerea cache-urilor locale, organizarea unei rețele peer-to-peer cu alte instanțe de daemon CAS și optimizarea preluării conținutului. Prin utilizarea acestei rețele, putem prelua direct conținut de la alte instanțe, reducând latența și capacitatea de bandă de stocare.

Spre deosebire de soluțiile tradiționale bazate pe nivel, cum ar fi OverlayFS de la Docker, abordarea noastră priorizează accesul direct la fișiere și rutarea inteligentă a afinității. Aceasta ne permite să gestionăm eficient dependențele diverse în mai multe executabile fără complexitatea organizării în straturi. În plus, utilizând Btrfs ca sistem de fișiere, beneficiem de capacitățile sale de comprimare și de capacitatea de a scrie date de stocare comprimate direct la extensii.

Abordând provocările construcțiilor lente și a ambalării și distribuirii ineficiente a fișierelor de execuție, am oferit inginerilor noștri ML capacități sporite de a lucra eficient și a livra soluții de vârf. Focalizarea noastră pe reducerea reconstrucțiilor, optimizarea gestionării dependențelor și implementarea unei soluții de ambalare incrementală a condus la economii semnificative de timp și o productivitate îmbunătățită în procesul nostru de dezvoltare AI/ML.

Secțiunea Întrebări frecvente:

Î: Care au fost provocările cu care s-a confruntat echipa în dezvoltarea AI/ML?
R: Provocările cu care s-a confruntat echipa includ timpi lenti de construire, ineficiențe în ambalarea și distribuirea fișierelor de execuție și complexitatea gestionării dependențelor diverse în mai multe executabile.

Î: Cum a abordat echipa construcțiile lente?
R: Echipa a abordat construcțiile lente prin simplificarea graficului de construire și optimizarea numărului de dependențe, ceea ce a redus necesitatea unei reconstrucții extinse și a îmbunătățit viteza generală a construirii.

Î: Cum a abordat echipa ambalarea și distribuția fișierelor de execuție?
R: Echipa a implementat o abordare incrementală utilizând Sistemul de Fișiere cu Adresare a Conținutului (CAF), care evită inteligent încărcarea redundantă a fișierelor deja prezente în stocarea adresabilă pe conținut (CAS). Aceasta reduce timpul de ambalare și minimizează suprasarcina preluării.

Î: Care este scopul daemonului CAS déployé în gazdele centrului de date?
R: Daemonul CAS este responsabil de menținerea cache-urilor locale, organizarea unei rețele peer-to-peer cu alte instanțe de daemon CAS și optimizarea preluării conținutului. Acesta permite preluarea directă a conținutului de la alte instanțe, reducând latența și capacitatea de bandă a stocării.

Î: Cum gestionează echipa dependențele fără complexitatea organizării în straturi?
R: Spre deosebire de soluțiile tradiționale, echipa priorizează accesul direct la fișiere și rutarea inteligentă a afinității în loc de soluții bazate pe nivel, cum ar fi OverlayFS de la Docker. Această abordare permite gestionarea eficientă a dependențelor diverse în mai multe executabile.

Î: Ce sistem de fișiere utilizează echipa și ce beneficii oferă?
R: Echipa utilizează Btrfs ca sistem de fișiere, care oferă capacități de comprimare și capacitatea de a scrie date de stocare comprimate direct la extensii. Aceasta îmbunătățește eficiența și capacitățile de stocare.

Definiții:

– AI/ML: Stands for Artificial Intelligence/Machine Learning, se referă la dezvoltarea și aplicarea algoritmilor și modelelor care permit calculatoarelor să execute sarcini fără instrucțiuni explicite.
– ML engineers: Se referă la inginerii specializați în Machine Learning, care dezvoltă, implementează și optimizează algoritmi și modele ML.
– Reconstrucții: Procesul de reconstrucție sau reînmprospătare a software-ului sau codului.
– Ambalare: Procesul de pregătire a software-ului pentru distribuție prin împachetarea acestuia cu fișiere relevante și dependențe asociate.
– Sistem de Fișiere cu Adresare a Conținutului (CAF): Un sistem de fișiere care identifică fișierele pe baza conținutului lor, nu a locației sau numelui, permițând stocarea și recuperarea eficientă a datelor.
– Stocare Adresabilă pe Conținut (CAS): Un sistem de stocare în care conținutul este referit și identificat folosind identificatori unici, facilitând deduplicarea și recuperarea eficientă a datelor.
– Dependință: Un component software sau o librărie de care depinde alt software pentru a executa corect.
– Latență: Intervalul de timp între inițierea unei solicitări și primirea unui răspuns.
– Lățime de bandă: Rata maximă de transfer de date pe o cale sau rețea dată.
– Btrfs: Un sistem de fișiere copy-on-write pentru Linux, care oferă funcționalități precum snapshot-uri, subvolume-uri, compresie și scalabilitate.

The source of the article is from the blog toumai.es

Privacy policy
Contact