Poboljšanje efikasnosti i brzine razvoja ML/AI

U brzoj svetu razvoja veštačke inteligencije (AI) i mašinskog učenja (ML), ključno je imati infrastrukturu koja može da se prilagodi zahtevima ML inženjera. Spora vreme izgradnje i efikasnost pakovanja i distribucije izvršnih fajlova mogu otežati produktivnost i uzaludno potrošiti vreme.

Da bi se suočili sa ovim izazovima, naš tim preduzeo je proaktivne mere kako bi rešio problem spore izgradnje i efikasnosti pakovanja, što je rezultiralo značajnim smanjenjem nepotrebnih troškova i poboljšanom efikasnošću.

Umesto oslanjanja na zastarele revizije koje zahtevaju ponovno izgradnju i povezivanje, fokusirali smo se na minimiziranje ponovne izgradnje kroz optimizaciju izgradnje grafa i smanjivanje broja zavisnosti. Ovaj pristup značajno je smanjio potrebu za obimnom ponovnom izgradnjom i poboljšao ukupnu brzinu izgradnje.

Još jedna velika prepreka s kojom smo se suočili bilo je pakovanje i distribucija izvršnih fajlova. Da bismo prevazišli ovaj izazov, implementirali smo inkrementalni pristup koristeći Content Addressable Filesystem (CAF). Zahvaljujući ovom pristupu svestranost sistema CAF, on inteligentno preskače redundantno slanje fajlova koji su već prisutni u sistemu za adresiranje sadržaja (CAS). Ovo ne samo da smanjuje vreme pakovanja, već i minimizira preuzimanje pri radu sa velikim izvršnim fajlovima.

Da bismo poboljšali efikasnost sistema CAF, implementirali smo CAS daemon na većem broju naših radnih okruženja u data centru. Ovaj daemon je odgovoran za održavanje lokalnih keševa, organizaciju peer-to-peer mreže s drugim instancama CAS daemona i optimizaciju preuzimanja sadržaja. Korišćenjem ove mreže, direktno možemo preuzimati sadržaj sa drugih instanci, smanjujući latenciju i opterećenje mrežnog kapaciteta za skladištenje.

Za razliku od tradicionalnih rešenja zasnovanih na slojevima, poput Docker OverlayFS-a, naš pristup prioritizuje direktni pristup fajlovima i pametno rutiranje. Ovo nam omogućava efikasno upravljanje različitim zavisnostima između više izvršnih fajlova bez složenosti organizacije slojeva. Takođe, koristimo Btrfs kao sistem za fajlove, čime dobijamo prednosti njegovih mogućnosti kompresije i sposobnost pisanja komprimiranih podataka za skladištenje direktno na extentima.

Rešavanjem problema spore izgradnje, neefikasnog pakovanja i distribucije izvršnih fajlova, omogućili smo našim ML inženjerima da rade efikasnije i isporuče inovativna rešenja. Naš fokus na smanjenje ponovnih izgradnji, optimizaciju upravljanja zavisnostima i implementaciju inkrementalnog pakovanja rezultirao je značajnom uštedom vremena i poboljšanom produktivnošću u našem procesu razvoja AI/ML.

FAQ sekcija:

P: S kojim izazovima se tim susreo tokom razvoja AI/ML?
O: Tim se susreo s problemima spore izgradnje, neefikasnosti u pakovanju i distribuciji izvršnih fajlova, kao i kompleksnostima upravljanja različitim zavisnostima između više izvršnih fajlova.

P: Kako je tim adresirao problem spore izgradnje?
O: Tim je adresirao problem spore izgradnje kroz optimizaciju izgradnje grafa i smanjenje broja zavisnosti, što je smanjilo potrebu za obimnom ponovnom izgradnjom i poboljšalo ukupnu brzinu izgradnje.

P: Kako je tim rešio problem pakovanja i distribucije izvršnih fajlova?
O: Tim je implementirao inkrementalni pristup koristeći Content Addressable Filesystem (CAF) koji inteligentno preskače redundantno slanje fajlova koji su već prisutni u sistemu adresiranja sadržaja (CAS). Ovo smanjuje vreme pakovanja i minimizira preuzimanje pri radu s velikim izvršnim fajlovima.

P: Koja je svrha CAS daemona koji je implementiran u radnim okruženjima u data centru?
O: CAS daemon je odgovoran za održavanje lokalnih keševa, organizaciju peer-to-peer mreže s drugim instancama CAS daemona i optimizaciju preuzimanja sadržaja. Omogućava direktno preuzimanje sadržaja s drugih instanci, što smanjuje latenciju i opterećenje mrežnog kapaciteta za skladištenje.

P: Kako tim upravlja zavisnostima bez složenosti organizacije slojeva?
O: Za razliku od tradicionalnih rešenja, tim prioritet daje direktnom pristupu fajlovima i inteligentnom rutiranju umesto rešenjima zasnovanim na slojevima kao što je Docker OverlayFS. Ovaj pristup omogućava efikasno upravljanje različitim zavisnostima između više izvršnih fajlova.

P: Koje sistemsko skladište tim koristi i kakve prednosti to pruža?
O: Tim koristi Btrfs kao svoje sistemsko skladište, koje pruža mogućnosti kompresije i sposobnost pisanja komprimiranih podataka za skladištenje direktno na extentima. Ovo poboljšava efikasnost i sposobnosti skladištenja.

Definicije:

– AI/ML: Skraćenica za veštačku inteligenciju/mašinsko učenje (Artificial Intelligence/Machine Learning), odnosi se na razvoj i primenu algoritama i modela koji omogućavaju računarima da obavljaju zadatke bez eksplicitnih instrukcija.
– ML inženjeri: Odnosi se na inženjere specijalizovane za mašinsko učenje, koji razvijaju, implementiraju i optimizuju ML algoritme i modele.
– Ponovna izgradnja: Proces rekonstrukcije ili ponovne izgradnje softvera ili koda.
– Pakovanje: Proces pripreme softvera za distribuciju putem pakovanja uz relevantne fajlove i zavisnosti.
– Content Addressable Filesystem (CAF): File sistem koji identifikuje fajlove na osnovu njihovog sadržaja umesto njihove lokacije ili imena, što omogućava efikasno skladištenje i preuzimanje.
– Content Addressable Storage (CAS): Sistem za skladištenje u kojem se sadržaj referiše i identifikuje pomoću jedinstvenih identifikatora, što olakšava deduplikaciju i efikasno preuzimanje podataka.
– Zavisnost: Softverska komponenta ili biblioteka na kojoj se drugi softver oslanja da bi ispravno funkcionisao.
– Latencija: Vreme kašnjenja između pokretanja zahteva i primanja odgovora.
– Propusnost: Maksimalna stopa prenosa podataka putem određene putanje ili mreže.
– Btrfs: Kopiraj-na-pisanje sistemsko skladište za Linux koje pruža mogućnosti poput snimaka, pot-skladišta, kompresije i skalabilnosti.

Povezani linkovi:
– Distributed Reactive Programming (Distribuirano reaktivno programiranje)
– Amazon Machine Learning (Amazon mašinsko učenje)
– Efficient Distributed Machine Learning: A Single Node Perspective (Efikasno distribuirano mašinsko učenje: perspektiva pojedinačnog čvora)

The source of the article is from the blog publicsectortravel.org.uk

Privacy policy
Contact