Mga Data Scientist at ang mga propesyonal sa machine learning ay nakikitungo sa malaking bilang ng data ng iba't ibang uri sa isang tipikal na proyekto ng data science. Maraming mga modelo ang binuo na may iba't ibang mga pagsasaayos at tampok, pati na rin ang maraming mga pag-ulit ng pag-tune ng parameter upang makuha ang pinakamainam na pagganap.
Sa ganitong sitwasyon, ang lahat ng mga pagbabago sa data at mga pagsasaayos sa proseso ng pagbuo ng modelo ay dapat na subaybayan at sukatin upang matukoy kung ano ang nagtrabaho at kung ano ang hindi. Mahalaga rin na makabalik sa nakaraang edisyon at tingnan ang mga nakaraang resulta.
Ang Data Version Control (DVC), na tumutulong sa pamamahala ng data, ang pinagbabatayan na modelo, at pagpapatakbo ng mga reproducible na kinalabasan, ay isang teknolohiyang nagbibigay-daan sa amin na subaybayan ang lahat ng ito.
Sa post na ito, titingnan namin nang mabuti ang Kontrol sa Bersyon ng Data, at ang pinakamahusay na mga tool na gagamitin. Magsimula tayo.
Ano ang Data Version Control?
Kinakailangan ang pag-bersyon para sa lahat ng mga sistema ng produksyon. Isang punto ng pag-access sa pinaka-up-to-date na data. Anumang mapagkukunan na madalas na binago, lalo na ng ilang mga gumagamit nang sabay-sabay, ay nangangailangan ng paggawa ng isang audit trail upang masubaybayan ang lahat ng mga pagbabago.
Ang version control system ay may pananagutan sa pagtiyak na ang lahat sa koponan ay nasa parehong pahina. Ginagarantiyahan nito na ang lahat sa koponan ay gumagawa sa pinakabagong bersyon ng file at, higit sa lahat, ang lahat ay nagtutulungan sa parehong proyekto sa isang pagkakataon.
Kung mayroon kang tamang kagamitan, magagawa mo ito nang may kaunting pagsisikap!
Magkakaroon ka ng pare-parehong set ng data at isang masusing archive ng lahat ng iyong pananaliksik kung gagamit ka ng isang maaasahang diskarte sa pamamahala ng bersyon ng data. Ang mga tool sa pag-bersyon ng data ay mahalaga para sa iyong daloy ng trabaho kung nagmamalasakit ka sa reproducibility, traceability, at history ng modelo ng ML.
Tinutulungan ka ng mga ito na makakuha ng bersyon ng isang item, tulad ng hash ng isang dataset o modelo, na maaari mong gamitin upang tukuyin at paghambingin. Ang bersyon ng data na ito ay madalas na inilalagay sa iyong solusyon sa pamamahala ng metadata upang matiyak na ang iyong pagsasanay sa modelo ay naka-bersyon at nauulit.
Pinakamahusay na mga tool sa Pagkontrol sa Bersyon ng Data
Ngayon ay oras na upang tingnan ang pinakamahusay na mga solusyon sa kontrol ng bersyon ng data na magagamit, na magagamit mo upang subaybayan ang bawat bahagi ng iyong code.
1. git-lfs
Ang proyekto ng Git LFS ay libre gamitin. Sa loob ng Git, ang malalaking file tulad ng mga audio sample, video, database, at larawan ay pinapalitan ng mga text pointer, at ang mga nilalaman ng file ay nai-save sa isang malayuang server tulad ng GitHub.com o GitHub Enterprise.
Binibigyang-daan ka nitong gumamit ng Git sa bersyon ng napakalaking file—hanggang sa ilang GB ang laki—mag-host ng higit pa sa iyong mga Git repository na gumagamit ng external storage, at i-clone at kunin ang malalaking file repository nang mas mabilis. Pagdating sa pamamahala ng data, ito ay isang medyo magaan na solusyon. Para gumana sa Git, hindi mo kailangan ng anumang karagdagang command, storage system, o toolkit.
Nililimitahan nito ang dami ng impormasyong na-download mo. Ito ay nagpapahiwatig na ang pag-clone at pagkuha ng malalaking file mula sa mga repositoryo ay magiging mas mabilis. Ang mga pointer ay gawa sa mas magaan na materyal at tumuturo sa LFS.
Bilang resulta, kapag itinulak mo ang iyong repo sa pangunahing repositoryo, mabilis itong nag-a-update at kumukuha ng mas kaunting espasyo.
Mga kalamangan
- Madaling isinasama sa mga development workflow ng karamihan sa mga negosyo.
- Hindi na kailangang pangasiwaan ang mga karagdagang karapatan dahil gumagamit ito ng parehong mga pahintulot gaya ng repositoryo ng Git.
Kahinaan
- Ang Git LFS ay nangangailangan ng paggamit ng mga dedikadong server upang iimbak ang iyong data. Bilang resulta, ang iyong mga data science team ay mai-lock in, at ang iyong engineering workload ay tataas.
- Napakadalubhasa, at maaaring mangailangan ng paggamit ng iba't ibang iba't ibang tool para sa mga kasunod na yugto sa daloy ng trabaho ng data science.
pagpepresyo
Ito ay libre gamitin para sa lahat.
2. LakeFS
Ang LakeFS ay isang open-source na data versioning solution na nag-iimbak ng data sa S3 o GCS at may katulad na Git na sumasanga at committing paradigm na sumusukat sa mga petabytes.
Ginagawa nitong sumasanga na diskarte na sumusunod sa ACID ang iyong data lake sa pamamagitan ng pagpayag na mangyari ang mga pagbabago sa mga natatanging sangay na maaaring buuin, i-merge, at i-roll back nang atomically at kaagad.
Nagbibigay-daan ang LakeFS sa mga team na lumikha ng mga aktibidad sa data lake na nauulit, atomic, at may bersyon. Ito ay isang baguhan sa eksena, ngunit ito ay isang puwersa na dapat isaalang-alang.
Gumagamit ito ng mala-Git na sumasanga at paraan ng pagkontrol sa bersyon upang makipag-ugnayan sa iyong lawa ng data, nasusukat hanggang sa Petabytes ng data. Sa isang exabyte na sukat, maaari mong tingnan ang kontrol ng bersyon.
Mga kalamangan
- Kasama sa mga operasyong tulad ng Git ang pagsasanga, pag-commit, pagsasama, at pagbabalik.
- Ang mga pre-commit/merge hook ay ginagamit para sa data CI/CD checks.
- Nagbibigay ng mga kumplikadong feature tulad ng mga transaksyon sa ACID para sa simpleng cloud storage tulad ng S3 at GCS, habang nananatiling neutral sa format.
- Ibalik ang mga pagbabago sa data sa real-time.
- Madaling nag-scale, na nagbibigay-daan dito upang mapaunlakan ang napakalaking data lake. Maaaring ibigay ang kontrol sa bersyon para sa parehong mga setting ng pag-develop at produksyon.
Kahinaan
- Ang LakeFS ay isang bagong produkto, kaya ang functionality at dokumentasyon ay maaaring magbago nang mas mabilis kaysa sa mga nakaraang solusyon.
- Dahil nakatuon ito sa pag-bersyon ng data, kakailanganin mong gumamit ng iba't ibang karagdagang tool para sa iba't ibang bahagi ng daloy ng trabaho ng data science.
pagpepresyo
Ito ay libre gamitin para sa lahat.
3. CVD
Ang Data Version Control ay isang libreng data versioning solution na idinisenyo para sa data science at machine learning na mga application. Ito ay isang programa na nagbibigay-daan sa iyong tukuyin ang iyong pipeline sa anumang wika.
Sa pamamagitan ng pamamahala ng malalaking file, data set, machine learning model, code, at iba pa, ginagawa ng tool na naibabahagi at nagagawa ng tool ang mga modelo ng machine learning. Ang programa ay sumusunod sa pangunguna ni Git sa pagbibigay ng isang simpleng command line na maaaring i-set up sa ilang hakbang lamang.
Gaya ng ipinahihiwatig ng pangalan nito, ang DVC ay hindi lamang tungkol sa pag-bersyon ng data. Pinapadali din nito ang pamamahala ng mga pipeline at mga modelo ng machine learning para sa mga team.
Sa wakas, tutulong ang DVC sa pagpapabuti ng pagkakapare-pareho ng mga modelo ng iyong koponan at ang kanilang pag-uulit. Sa halip na gumamit ng mga kumplikadong suffix ng file at komento sa code, samantalahin Mga sanga ng Git upang subukan ang mga bagong ideya. Upang maglakbay, gumamit ng awtomatikong pagsubaybay sa sukatan sa halip na papel at lapis.
Upang magpadala ng pare-parehong mga bundle ng machine learning mga modelo, data, at code sa produksyon, malalayong computer, o desktop ng isang kasamahan, maaari mong gamitin ang mga push/pull command sa halip na mga ad-hoc script.
Mga kalamangan
- Ito ay magaan, open-source, at gumagana sa lahat ng pangunahing cloud platform at mga uri ng storage.
- Flexible, agnostic ng format at framework, at simpleng ipatupad.
- Ang buong ebolusyon ng bawat modelo ng ML ay maaaring masubaybayan pabalik sa source code at data nito.
Kahinaan
- Ang pamamahala ng pipeline at kontrol sa bersyon ng DVC ay hindi mapaghihiwalay na nauugnay. Magkakaroon ng redundancy kung gumagamit na ang iyong team ng isa pang produkto ng pipeline ng data.
- Dahil magaan ang DVC, maaaring kailanganin ng iyong team na magdisenyo ng mga karagdagang feature nang manu-mano upang gawin itong mas madaling gamitin.
pagpepresyo
Ito ay libre gamitin para sa lahat.
4. DeltaLake
Ang DeltaLake ay isang open-source na storage layer na nagpapalakas ng pagiging maaasahan ng data lake. Sinusuportahan ng Delta Lake ang mga transaksyon sa ACID at scalable metadata management bilang karagdagan sa streaming at batch na pagproseso ng data.
Gumagana ito sa mga Apache Spark API at makikita sa iyong umiiral na data lake. Ang Delta Sharing ay ang unang bukas na protocol sa mundo para sa ligtas na pagbabahagi ng data sa negosyo, na ginagawang simple ang pakikipagpalitan ng data sa ibang mga negosyo na hindi nakasalalay sa kanilang mga computer system.
Ang Delta Lakes ay may kakayahang pangasiwaan ang mga petabyte ng data nang madali. Ang metadata ay iniimbak sa parehong paraan tulad ng data, at makukuha ito ng mga user gamit ang Describe Detail method. Ang Delta Lakes ay may isang solong arkitektura na maaaring basahin ang parehong stream at batch data.
Ang mga upsert ay madaling gawin gamit ang Delta. Ang mga upserts o merge na ito sa Delta table ay maihahambing sa SQL Merges. Magagamit mo ito upang isama ang data mula sa isa pang data frame sa iyong talahanayan at magsagawa ng mga update, pagsingit, at pagtanggal.
Mga kalamangan
- Maraming mga kakayahan, tulad ng mga transaksyon sa ACID at mahusay na pamamahala ng metadata, ay maaaring maging available sa iyong kasalukuyang solusyon sa pag-iimbak ng data.
- Ang Delta Lake ay maaari na ngayong walang kahirap-hirap na pamahalaan ang mga talahanayan na may bilyun-bilyong partition at file sa isang petabyte-scale.
- Binabawasan ang pangangailangan para sa manu-manong kontrol sa bersyon ng data at iba pang alalahanin sa data, na nagpapahintulot sa mga developer na tumutok sa pagbuo ng mga produkto sa ibabaw ng kanilang mga data lake.
Kahinaan
- Dahil ito ay idinisenyo upang gumana sa Spark at malaking data, ang Delta Lake ay karaniwang overkilled para sa karamihan ng mga gawain.
- Nangangailangan ito ng paggamit ng nakalaang format ng data, na naglilimita sa kakayahang umangkop nito at ginagawa itong hindi tugma sa iyong mga kasalukuyang form.
pagpepresyo
Ito ay libre gamitin para sa lahat.
5. Dolt
Ang Dolt ay isang SQL database na gumagawa ng forking, cloning, branching, merge, pushing, at pulling sa parehong paraan tulad ng ginagawa ng git repository. Upang mapabuti ang karanasan ng gumagamit ng isang database ng kontrol ng bersyon, pinapayagan ng Dolt ang data at istraktura na magbago sa pag-sync.
Ito ay isang mahusay na tool para sa iyo at sa iyong mga katrabaho upang mag-collaborate. Maaari kang kumonekta sa Dolt sa parehong paraan na gagawin mo sa anumang iba pang database ng MySQL at magpatakbo ng mga query o gumawa ng mga pagbabago sa data gamit ang mga SQL command.
Pagdating sa pag-bersyon ng data, ang Dolt ay isa-ng-a-uri. Ang Dolt ay isang database, kumpara sa ilan sa iba pang mga solusyon na data lang ng bersyon. Habang ang software ay kasalukuyang nasa maagang yugto nito, may mga pag-asa na gawin itong ganap na katugma sa Git at MySQL sa malapit na hinaharap.
Ang lahat ng mga utos na pamilyar sa iyo sa paggamit sa Git ay gagana rin sa Dolt. Mga file ng bersyon ng Git, mga talahanayan ng mga bersyon ng Dolt Gamit ang interface ng command line, mag-import ng mga CSV file, i-commit ang iyong mga pagbabago, i-publish ang mga ito sa isang remote, at pagsamahin ang mga pagbabago ng iyong teammate.
Mga kalamangan
- Magaan at open source sa bahagi.
- Kung ihahambing sa mas hindi malinaw na mga pagpipilian, mayroon itong interface ng SQL, na ginagawa itong mas naa-access sa mga data analyst.
Kahinaan
- Kung ihahambing sa iba pang mga alternatibong bersyon ng database, ang Dolt ay isang umuunlad na produkto pa rin.
- Dahil ang Dolt ay isang database, dapat mong ilipat ang iyong data dito para makuha ang mga benepisyo.
pagpepresyo
Inaanyayahan ang lahat na gamitin ang sesyon ng komunidad. Ang platform ay hindi nagbibigay ng premium na pagpepresyo; sa halip, dapat kang makipag-ugnayan sa provider.
6. Pachyderm
Ang Pachyderm ay isang libreng data science version control system na may maraming feature. Ang Pachyderm Enterprise ay isang malakas na platform ng agham ng data na idinisenyo para sa malakihang pakikipagtulungan sa mga ligtas na kapaligiran.
Ang Pachyderm ay isa sa ilang mga platform ng data science sa listahan. Ang layunin ng Pachyderm ay magbigay ng isang platform na namamahala sa kumpletong cycle ng data at ginagawang simple ang pagdoble ng mga natuklasan ng mga modelo ng machine learning. Ang Pachyderm ay kilala bilang "the Docker of Data" sa kontekstong ito. Pinapakete ng Pachyderm ang iyong kapaligiran sa pagpapatupad gamit ang mga lalagyan ng Docker. Ginagawa nitong simple ang pagdoble ng parehong mga resulta.
Ang mga data scientist at mga DevOps team ay maaaring mag-deploy ng mga modelo nang may kumpiyansa salamat sa kumbinasyon ng naka-bersyon na data sa Docker. Salamat sa mahusay na storage system, ang mga petabyte ng structured at unstructured na data ay maaaring mapanatili habang ang mga gastos sa storage ay pinananatiling minimum.
Sa buong pipeline phase, ang file-based na bersyon ay nagbibigay ng masusing audit record para sa lahat ng data at artifact, kabilang ang mga intermediate na output. Marami sa mga kakayahan ng tool ay hinihimok ng mga haliging ito, na tumutulong sa mga koponan na masulit ito.
Mga kalamangan
- Batay sa mga container, ang iyong mga environment ng data ay magiging portable at madaling ilipat sa pagitan ng mga cloud provider.
- Matatag, na may kakayahang mag-scale mula sa maliit hanggang sa napakalaking system.
Kahinaan
- Dahil napakaraming gumagalaw na elemento, tulad ng Kubernetes server na kinakailangan upang mahawakan ang libreng edisyon ng Pachyderm, mayroong mas matarik na kurba ng pagkatuto.
- Maaaring maging mahirap ang Pachyderm na isama sa kasalukuyang imprastraktura ng isang kumpanya dahil sa maraming mga teknolohikal na bahagi nito.
pagpepresyo
Maaari mong simulan ang paggamit ng platform sa session ng komunidad at para sa enterprise edition, kailangan mong makipag-ugnayan sa vendor.
7. Neptuno
Ang metadata ng pagbuo ng modelo ay pinamamahalaan ng ML metadata store, na isang mahalagang aspeto ng MLOps stack. Para sa bawat daloy ng trabaho sa MLOps, nagsisilbing sentralisadong imbakan ng metadata ang Neptune.
Maaari mong subaybayan, i-visualize, at ihambing ang libu-libong mga modelo ng machine learning sa isang lugar. Kabilang dito ang mga feature gaya ng pagsubaybay sa eksperimento, pagpapatala ng modelo, at pagsubaybay sa modelo, pati na rin ng collaborative na interface. Kabilang dito ang higit sa 25 iba't ibang mga tool at library na isinama, kabilang ang ilang mga modelo ng pagsasanay at hyperparameter tuning tool.
Maaari kang sumali sa Neptune nang hindi ginagamit ang iyong credit card. Ang isang Gmail account ay sapat na sa lugar nito.
Mga kalamangan
- Ang pagsasama sa anumang pipeline, daloy, codebase, o framework ay simple.
- Ang mga real-time na visualization, ang madaling API, at ang mabilis na suporta
- Sa Neptune, maaari kang gumawa ng "backup" ng lahat ng data ng iyong mga eksperimento sa isang lokasyon, na maaari mong mabawi sa ibang pagkakataon.
Kahinaan
- Bagama't hindi ganap na open-source, ang isang indibidwal na bersyon ay malamang na sapat para sa pribadong paggamit, bagama't ang naturang pag-access ay limitado sa isang buwan.
- Mayroong ilang maliliit na bahid ng disenyo na mahahanap.
pagpepresyo
Maaari mong simulan ang paggamit ng platform gamit ang Indibidwal na plano na malayang gamitin para sa lahat. Ang seksyon ng pagpepresyo ay nagsisimula sa $150/buwan.
Konklusyon
Sa post na ito, tinalakay namin ang pinakamahusay na mga tool sa pag-bersyon ng data. Ang bawat tool, tulad ng nakita natin, ay may sariling hanay ng mga tampok. Ang ilan ay libre, habang ang iba ay nangangailangan ng pagbabayad. Ang ilan ay angkop sa maliit na modelo ng negosyo, habang ang iba ay mas angkop sa malaking modelo ng negosyo.
Bilang resulta, dapat mong piliin ang pinakamahusay na software para sa iyong mga layunin pagkatapos timbangin ang mga pakinabang at disadvantages. Hinihikayat namin na subukan mo ang libreng trial na bersyon bago bumili ng premium na produkto.
Mag-iwan ng Sagot