Naučnici podataka i profesionalci za mašinsko učenje bave se značajnim brojem podataka različitih tipova u tipičnom projektu nauke o podacima. Razvijeni su brojni modeli sa različitim konfiguracijama i karakteristikama, kao i višestrukim iteracijama podešavanja parametara kako bi se postigle optimalne performanse.
U takvom scenariju, sve izmjene podataka i prilagođavanja procesa izgradnje modela moraju se pratiti i mjeriti kako bi se utvrdilo što je uspjelo, a što nije. Takođe je od vitalnog značaja da se možete vratiti na prethodno izdanje i pogledati prethodne rezultate.
Kontrola verzije podataka (DVC), koja pomaže u upravljanju podacima, osnovnim modelom i pokretanju ponovljivih rezultata, jedna je takva tehnologija koja nam omogućava da sve ovo pratimo.
U ovom ćemo postu pomno razmotriti kontrolu verzija podataka i najbolje alate za korištenje. Počnimo.
Šta je kontrola verzija podataka?
Versioniranje je potrebno za sve proizvodne sisteme. Jedinstvena tačka pristupa najnovijim podacima. Svaki resurs koji se često mijenja, posebno od strane nekoliko korisnika u isto vrijeme, treba kreiranje revizorskog traga kako bi se pratile sve promjene.
Sistem kontrole verzija je odgovoran za to da svi u timu budu na istoj stranici. To garantuje da svi u timu rade na najnovijoj verziji fajla i, što je još važnije, da svi istovremeno sarađuju na istom projektu.
Ako imate odgovarajuću opremu, to možete postići uz minimalan napor!
Imat ćete konzistentne skupove podataka i temeljitu arhivu svih vaših istraživanja ako koristite pouzdanu strategiju upravljanja verzijama podataka. Alati za upravljanje verzijama podataka su kritični za vaš radni tok ako vam je stalo do ponovljivosti, sljedivosti i istorije modela ML.
Oni vam pomažu da nabavite verziju stavke, kao što je hash skupa podataka ili modela, koji zatim možete koristiti za identifikaciju i usporedbu. Ova verzija podataka se često unosi u vaše rješenje za upravljanje metapodacima kako bi se jamčilo da je obuka vašeg modela verzionirana i ponovljiva.
Najbolji alati za kontrolu verzija podataka
Sada je vrijeme da pogledate najbolja dostupna rješenja za kontrolu verzija podataka, koja možete koristiti za praćenje svakog dijela vašeg koda.
1. git-lfs
Git LFS projekat je besplatan za korištenje. Unutar Gita, velike datoteke kao što su audio uzorci, video zapisi, baze podataka i fotografije zamjenjuju se tekstualnim pokazivačima, a sadržaj datoteke se pohranjuje na udaljenom serveru kao što je GitHub.com ili GitHub Enterprise.
Omogućava vam da koristite Git za verziju ogromnih datoteka — veličine do nekoliko GB — ugostite više u vašim Git repozitorijumima koristeći eksternu pohranu, i brže klonirate i preuzimate velika spremišta datoteka. Kada je u pitanju upravljanje podacima, ovo je prilično lagano rješenje. Da biste radili sa Gitom, nisu vam potrebne nikakve dodatne komande, sistemi za skladištenje ili setovi alata.
Ograničava količinu informacija koje preuzimate. Ovo implicira da će kloniranje i preuzimanje velikih datoteka iz spremišta biti brže. Pokazivači su napravljeni od lakšeg materijala i upućuju na LFS.
Kao rezultat toga, kada gurnete svoj repo u glavno spremište, on se brzo ažurira i zauzima manje prostora.
pros
- Lako se integriše u razvojne tokove većine preduzeća.
- Nema potrebe za rukovanjem dodatnim pravima jer koristi iste dozvole kao Git spremište.
Cons
- Git LFS zahteva upotrebu namenskih servera za skladištenje vaših podataka. Kao rezultat toga, vaši timovi za nauku podataka će biti zaključani, a vaš inženjerski posao će se povećati.
- Veoma specijalizovan i može zahtevati upotrebu raznih različitih alata za naredne faze u toku rada nauke o podacima.
Cijene
Besplatno je za korištenje za sve.
2. LakeFS
LakeFS je rješenje za verzioniranje podataka otvorenog koda koje pohranjuje podatke u S3 ili GCS i ima paradigmu grananja i urezivanja nalik Gitu koja se skalira do petabajta.
Ova strategija grananja čini vaše jezero podataka ACID kompatibilnim tako što omogućava da se promjene dogode u različitim granama koje se mogu konstruirati, spojiti i vratiti atomski i trenutno.
LakeFS omogućava timovima da kreiraju aktivnosti jezera podataka koje su ponovljive, atomske i verzionisane. To je novajlija na sceni, ali je sila s kojom se treba računati.
Koristi pristup grananja i kontrole verzija sličan Gitu za interakciju s vašim jezero podataka, skalabilan do petabajta podataka. Na skali od eksabajta, možete provjeriti kontrolu verzija.
pros
- Operacije slične Gitu uključuju grananje, urezivanje, spajanje i vraćanje.
- Zakačice prije urezivanja/spajanja koriste se za CI/CD provjere podataka.
- Pruža složene funkcije kao što su ACID transakcije za jednostavnu pohranu u oblaku kao što su S3 i GCS, sve dok je format neutralan.
- Vratite promjene u podatke u realnom vremenu.
- Lako se skalira, omogućavajući mu da prihvati veoma velika jezera podataka. Kontrola verzija se može obezbijediti i za razvojne i za proizvodne postavke.
Cons
- LakeFS je novi proizvod, pa se funkcionalnost i dokumentacija mogu promijeniti brže nego kod prethodnih rješenja.
- Budući da je fokusiran na verzioniranje podataka, morat ćete koristiti razne dodatne alate za različite dijelove toka rada nauke o podacima.
Cijene
Besplatno je za korištenje za sve.
3. DVC
Kontrola verzija podataka je besplatno rješenje za upravljanje verzijama podataka dizajnirano za nauku o podacima i aplikacije za strojno učenje. To je program koji vam omogućava da definirate svoj cjevovod na bilo kojem jeziku.
Upravljanjem velikim datotekama, skupovima podataka, modelima mašinskog učenja, kodom i tako dalje, alat čini modele mašinskog učenja deljivim i reproducibilnim. Program slijedi Git-ovo vodstvo u pružanju jednostavne komandne linije koja se može postaviti u samo nekoliko koraka.
Kao što mu ime govori, DVC se ne bavi samo verzijom podataka. Takođe olakšava upravljanje cevovodima i modelima mašinskog učenja za timove.
Konačno, DVC će pomoći u poboljšanju konzistentnosti modela vašeg tima i njihove ponovljivosti. Umjesto da koristite komplicirane sufikse datoteka i komentare u kodu, iskoristite prednosti Git grane da isprobam nove ideje. Da biste putovali, koristite automatizovano metričko praćenje umesto papira i olovke.
Za prijenos konzistentnih snopova mašinsko učenje modele, podatke i kod u proizvodnji, udaljenim računarima ili radnoj površini kolege, možete koristiti push/pull komande umjesto ad-hoc skripti.
pros
- Lagan je, otvorenog koda i radi sa svim glavnim platformama u oblaku i vrstama pohrane.
- Fleksibilan, nezavisan od formata i okvira, i jednostavan za implementaciju.
- Cijela evolucija svakog ML modela može se pratiti do njegovog izvornog koda i podataka.
Cons
- Upravljanje cevovodom i DVC kontrola verzija su neraskidivo povezani. Doći će do redundancije ako vaš tim već koristi drugi proizvod za prijenos podataka.
- Budući da je DVC lagan, vaš tim će možda morati ručno dizajnirati dodatne funkcije kako bi bio lakši za upotrebu.
Cijene
Besplatno je za korištenje za sve.
4. DeltaLake
DeltaLake je sloj za skladištenje otvorenog koda koji povećava pouzdanost jezera podataka. Delta Lake podržava ACID transakcije i skalabilno upravljanje metapodacima, pored striminga i grupne obrade podataka.
Radi sa Apache Spark API-jima i nalazi se na vašem postojećem jezeru podataka. Delta Sharing je prvi otvoreni protokol na svetu za bezbednu deljenje podataka u poslovanju, što olakšava razmenu podataka sa drugim preduzećima nezavisno od njihovih računarskih sistema.
Delta Lakes su u stanju da sa lakoćom rukuju petabajtima podataka. Metapodaci se pohranjuju na isti način kao i podaci, a korisnici ih mogu dobiti metodom Describe Detail. Delta Lakes ima jedinstvenu arhitekturu koja može čitati i stream i batch podatke.
Upserti su jednostavni za izvođenje koristeći Delta. Ovi dodaci ili spajanja u Delta tabelu su uporedivi sa SQL spajanjima. Možete ga koristiti za integraciju podataka iz drugog okvira podataka u vašu tabelu i izvođenje ažuriranja, umetanja i brisanja.
pros
- Mnoge mogućnosti, kao što su ACID transakcije i robusno upravljanje metapodacima, mogu biti dostupne u vašem trenutnom rješenju za pohranu podataka.
- Delta Lake sada može bez napora da upravlja tabelama sa milijardama particija i fajlova na nivou petabajta.
- Smanjuje potrebu za ručnom kontrolom verzija podataka i druge probleme sa podacima, omogućavajući programerima da se koncentrišu na razvoj proizvoda na vrhu svojih jezera podataka.
Cons
- Kako je dizajniran za rad sa Sparkom i ogromnim podacima, Delta Lake je generalno preopterećen za većinu zadataka.
- To zahtijeva korištenje namjenskog formata podataka, što ograničava njegovu fleksibilnost i čini ga nekompatibilnim s vašim sadašnjim obrascima.
Cijene
Besplatno je za korištenje za sve.
5. Dolt
Dolt je SQL baza podataka koja radi račvanje, kloniranje, grananje, spajanje, guranje i povlačenje na isti način kao git spremište. Kako bi poboljšao korisničko iskustvo baze podataka za kontrolu verzija, Dolt dozvoljava da se podaci i struktura sinkroniziraju.
To je odličan alat za saradnju sa vama i vašim kolegama. Možete se povezati na Dolt na isti način na koji biste se mogli povezati s bilo kojom drugom MySQL bazom podataka i pokrenuti upite ili izvršiti izmjene podataka pomoću SQL naredbi.
Kada je u pitanju verzija verzija podataka, Dolt je jedinstven. Dolt je baza podataka, za razliku od nekih drugih rješenja koja samo verzije podataka. Iako je softver trenutno u ranoj fazi, postoje nade da će ga u bliskoj budućnosti učiniti potpuno kompatibilnim sa Gitom i MySQL-om.
Sve komande sa kojima ste upoznati sa Gitom će takođe raditi sa Doltom. Datoteke Git verzija, Dolt tabele verzija Koristeći sučelje komandne linije, uvezite CSV datoteke, urezujte svoje promjene, objavite ih na daljinskom upravljaču i spojite izmjene vašeg saigrača.
pros
- Lagana i open source djelimično.
- U poređenju sa nejasnijim izborima, ima SQL interfejs, što ga čini pristupačnijim analitičarima podataka.
Cons
- U poređenju sa drugim verzijama baze podataka, Dolt je i dalje proizvod u razvoju.
- Pošto je Dolt baza podataka, morate prenijeti svoje podatke u nju da biste ostvarili prednosti.
Cijene
Svi su dobrodošli da koriste sesiju zajednice. Platforma ne nudi premium cijene; umjesto toga, morate kontaktirati provajdera.
6. Pachyderm
Pachyderm je besplatni sistem za kontrolu verzija za nauku o podacima s puno funkcija. Pachyderm Enterprise je moćna platforma za nauku o podacima dizajnirana za saradnju velikih razmjera u visoko sigurnim okruženjima.
Pachyderm je jedna od rijetkih platformi za nauku o podacima na listi. Pachydermov cilj je da obezbedi platformu koja upravlja kompletnim ciklusom podataka i čini jednostavnim dupliranje nalaza modela mašinskog učenja. Pachyderm je u ovom kontekstu poznat kao “Docker of Data”. Pachyderm pakuje vaše okruženje za izvršavanje koristeći Docker kontejnere. Ovo olakšava dupliranje istih rezultata.
Naučnici za podatke i DevOps timovi mogu pouzdano implementirati modele zahvaljujući kombinaciji verzioniranih podataka s Dockerom. Zahvaljujući efikasnom sistemu skladištenja, petabajti strukturiranih i nestrukturiranih podataka mogu se održavati dok su troškovi skladištenja svedeni na minimum.
Tokom faza cevovoda, verzija zasnovana na fajlovima obezbeđuje detaljnu evidenciju revizije za sve podatke i artefakte, uključujući posredne izlaze. Mnoge mogućnosti alata vođene su ovim stubovima, koji pomažu timovima da izvuku maksimum iz njega.
pros
- Na osnovu kontejnera, vaša podatkovna okruženja će biti prenosiva i lako se prenositi između dobavljača u oblaku.
- Robustan, sa mogućnošću skaliranja od malih do izuzetno velikih sistema.
Cons
- Pošto postoji toliko mnogo pokretnih elemenata, kao što je Kubernetes server neophodan za rukovanje Pachydermovim besplatnim izdanjem, postoji strmija kriva učenja.
- Pachyderm bi mogao biti izazov za ugradnju u postojeću infrastrukturu kompanije zbog mnogih tehnoloških komponenti.
Cijene
Platformu možete početi koristiti sa sesijom zajednice, a za izdanje preduzeća morate kontaktirati dobavljača.
7. Neptun
Metapodacima za izgradnju modela upravlja skladište metapodataka ML, što je važan aspekt MLOps steka. Za svaki MLOps radni tok, Neptune služi kao centralizirano skladište metapodataka.
Možete pratiti, vizualizirati i upoređivati hiljade modela mašinskog učenja na jednom mjestu. Uključuje funkcije kao što su praćenje eksperimenata, registar modela i praćenje modela, kao i sučelje za saradnju. Uključuje preko 25 različitih alata i biblioteka integrisanih, uključujući nekoliko alata za obuku modela i podešavanje hiperparametara.
Možete se pridružiti Neptunu bez korištenja kreditne kartice. Gmail račun će biti dovoljan umjesto njega.
pros
- Integracija sa bilo kojim cevovodom, tokom, kodnom bazom ili okvirom je jednostavna.
- Vizualizacije u realnom vremenu, jednostavan API i brza podrška
- Uz Neptune, možete napraviti "sigurnu kopiju" svih podataka vaših eksperimenata na jednoj lokaciji, koju kasnije možete oporaviti.
Cons
- Iako nije potpuno otvorenog koda, pojedinačna verzija bi vjerovatno bila dovoljna za privatnu upotrebu, iako je takav pristup ograničen na mjesec dana.
- Postoji nekoliko malih nedostataka u dizajnu.
Cijene
Možete početi koristiti platformu s Individualnim planom koji je besplatan za korištenje za sve. Odjeljak sa cijenama počinje od 150 USD mjesečno.
zaključak
U ovom postu raspravljali smo o najboljim alatima za upravljanje verzijama podataka. Svaki alat, kao što smo vidjeli, ima svoj skup funkcija. Neki su bili besplatni, dok su drugi zahtijevali plaćanje. Neki su dobro prilagođeni modelu malog poslovanja, dok su drugi bolje prilagođeni velikom poslovnom modelu.
Kao posljedica toga, morate odabrati najbolji softver za svoje potrebe nakon vaganja prednosti i mana. Preporučujemo vam da isprobate besplatnu probnu verziju prije kupovine premium proizvoda.
Ostavite odgovor