Naukowcy zajmujący się danymi i specjaliści od uczenia maszynowego mają do czynienia ze znaczną liczbą różnych typów danych w typowym projekcie data science. Opracowano wiele modeli z różnymi konfiguracjami i funkcjami, a także wiele iteracji dostrajania parametrów w celu uzyskania optymalnej wydajności.
W takim scenariuszu wszystkie modyfikacje danych i dostosowania procesu budowania modelu muszą być monitorowane i mierzone w celu określenia, co zadziałało, a co nie. Istotna jest również możliwość powrotu do poprzedniej edycji i przyjrzenia się poprzednim wynikom.
Kontrola wersji danych (DVC), która pomaga w zarządzaniu danymi, bazowym modelem i uzyskiwaniem powtarzalnych wyników, jest jedną z technologii, która pozwala nam to wszystko monitorować.
W tym poście przyjrzymy się bliżej kontroli wersji danych i najlepszym narzędziom do użycia. Zaczynajmy.
Co to jest kontrola wersji danych?
Wersjonowanie jest wymagane dla wszystkich systemów produkcyjnych. Jeden punkt dostępu do najbardziej aktualnych danych. Każdy zasób, który jest często modyfikowany, szczególnie przez kilku użytkowników jednocześnie, wymaga utworzenia ścieżki audytu, aby śledzić wszystkie zmiany.
System kontroli wersji jest odpowiedzialny za zapewnienie, że wszyscy w zespole są na tej samej stronie. Gwarantuje to, że wszyscy w zespole pracują nad najnowszą wersją pliku, a co ważniejsze, że wszyscy współpracują nad tym samym projektem w tym samym czasie.
Jeśli masz odpowiedni sprzęt, możesz to osiągnąć przy minimalnym wysiłku!
Będziesz mieć spójne zestawy danych i dokładne archiwum wszystkich swoich badań, jeśli użyjesz niezawodnej strategii zarządzania wersjami danych. Narzędzia do wersjonowania danych mają kluczowe znaczenie dla przepływu pracy, jeśli zależy Ci na odtwarzalności, identyfikowalności i historii modelu ML.
Pomagają uzyskać wersję elementu, na przykład skrót zestawu danych lub modelu, który można następnie wykorzystać do identyfikacji i porównania. Ta wersja danych jest często wprowadzana do rozwiązania do zarządzania metadanymi, aby zagwarantować, że szkolenie modelu jest wersjonowane i powtarzalne.
Najlepsze narzędzia kontroli wersji danych
Teraz nadszedł czas, aby przyjrzeć się najlepszym dostępnym rozwiązaniom do kontroli wersji danych, których możesz użyć do śledzenia każdej części kodu.
1. git-lfs
Projekt Git LFS jest darmowy. W Git duże pliki, takie jak próbki audio, wideo, bazy danych i zdjęcia, są zastępowane wskaźnikami tekstowymi, a zawartość pliku jest zapisywana na zdalnym serwerze, takim jak GitHub.com lub GitHub Enterprise.
Pozwala używać Git do wersjonowania ogromnych plików — o rozmiarze do kilku GB — hostować więcej w repozytoriach Git przy użyciu pamięci zewnętrznej oraz szybciej klonować i pobierać duże repozytoria plików. Jeśli chodzi o zarządzanie danymi, jest to dość lekkie rozwiązanie. Aby pracować z Git, nie potrzebujesz żadnych dodatkowych poleceń, systemów przechowywania ani zestawów narzędzi.
Ogranicza ilość pobieranych informacji. Oznacza to, że klonowanie i pobieranie dużych plików z repozytoriów będzie szybsze. Wskazówki są wykonane z lżejszego materiału i wskazują LFS.
W rezultacie, gdy przesyłasz swoje repozytorium do głównego repozytorium, aktualizuje się ono szybko i zajmuje mniej miejsca.
ZALETY
- Łatwo integruje się z przepływami prac programistycznych większości firm.
- Nie ma potrzeby obsługi dodatkowych praw, ponieważ korzysta z tych samych uprawnień, co repozytorium Git.
Wady
- Git LFS wymaga użycia dedykowanych serwerów do przechowywania danych. W rezultacie Twoje zespoły zajmujące się analizą danych zostaną zablokowane, a obciążenie pracą inżynierów wzrośnie.
- Jest bardzo wyspecjalizowany i może wymagać użycia wielu różnych narzędzi na kolejnych etapach przepływu pracy związanej z nauką o danych.
Cennik
Jest darmowy dla każdego.
2. JezioroFS
LakeFS to rozwiązanie do wersjonowania danych typu open source, które przechowuje dane w S3 lub GCS i ma paradygmat rozgałęziania i zatwierdzania podobny do Git, który skaluje się do petabajtów.
Ta strategia tworzenia rozgałęzień sprawia, że Twoje jezioro danych jest zgodne z ACID, umożliwiając wprowadzanie zmian w odrębnych gałęziach, które można konstruować, łączyć i wycofywać w sposób atomowy i natychmiastowy.
LakeFS umożliwia zespołom tworzenie powtarzalnych, niepodzielnych i wersjonowanych działań w ramach usługi Data Lake. Jest nowicjuszem na scenie, ale jest siłą, z którą trzeba się liczyć.
Wykorzystuje podobne do Git podejście do rozgałęziania i kontroli wersji do interakcji z twoim jezioro danych, skalowalne do petabajtów danych. W skali eksabajtów możesz sprawdzić kontrolę wersji.
ZALETY
- Operacje podobne do Git obejmują rozgałęzianie, zatwierdzanie, łączenie i przywracanie.
- Haki przed zatwierdzeniem/scaleniem są używane do kontroli danych CI/CD.
- Zapewnia złożone funkcje, takie jak transakcje ACID dla prostego przechowywania w chmurze, takiego jak S3 i GCS, a wszystko to przy zachowaniu neutralności formatu.
- Przywracaj zmiany danych w czasie rzeczywistym.
- Łatwo się skaluje, co pozwala na obsługę bardzo dużych jezior danych. Kontrola wersji może być zapewniona zarówno dla ustawień programistycznych, jak i produkcyjnych.
Wady
- LakeFS to nowy produkt, dlatego funkcjonalność i dokumentacja mogą zmieniać się szybciej niż w przypadku poprzednich rozwiązań.
- Ponieważ koncentruje się na wersjonowaniu danych, będziesz musiał korzystać z różnych dodatkowych narzędzi dla różnych części przepływu pracy nauki o danych.
Cennik
Jest darmowy dla każdego.
3. rozszerzenie DVC
Kontrola wersji danych to bezpłatne rozwiązanie do wersjonowania danych przeznaczone dla aplikacji do nauki o danych i uczenia maszynowego. Jest to program, który umożliwia zdefiniowanie potoku w dowolnym języku.
Dzięki zarządzaniu dużymi plikami, zestawami danych, modelami uczenia maszynowego, kodem itd. narzędzie umożliwia udostępnianie i odtwarzanie modeli uczenia maszynowego. Program idzie w ślady Gita, zapewniając prostą linię poleceń, którą można skonfigurować w zaledwie kilku krokach.
Jak sama nazwa wskazuje, DVC to nie tylko wersjonowanie danych. Ułatwia również zarządzanie potokami i modelami uczenia maszynowego dla zespołów.
Wreszcie, DVC pomoże poprawić spójność modeli twojego zespołu i ich powtarzalność. Zamiast używać skomplikowanych sufiksów plików i komentarzy w kodzie, skorzystaj z Gałęzie Gita aby wypróbować nowe pomysły. Aby podróżować, stosuj automatyczne śledzenie metryczne zamiast papieru i ołówka.
Aby przesyłać spójne pakiety uczenie maszynowe modele, dane i kod do produkcji, odległych komputerów lub pulpitu współpracownika, możesz używać poleceń push/pull zamiast skryptów ad-hoc.
ZALETY
- Jest lekki, open source i współpracuje ze wszystkimi głównymi platformami chmurowymi i rodzajami pamięci masowej.
- Elastyczny, niezależny od formatu i struktury oraz prosty do wdrożenia.
- Całą ewolucję każdego modelu ML można prześledzić wstecz do jego kodu źródłowego i danych.
Wady
- Zarządzanie potokami i kontrola wersji DVC są ze sobą nierozerwalnie powiązane. Jeśli Twój zespół korzysta już z innego produktu potoku danych, wystąpi nadmiarowość.
- Ponieważ DVC jest lekki, Twój zespół może być zmuszony do ręcznego zaprojektowania dodatkowych funkcji, aby uczynić go bardziej przyjaznym dla użytkownika.
Cennik
Jest darmowy dla każdego.
4. Jezioro Delta
DeltaLake to warstwa pamięci masowej typu open source, która zwiększa niezawodność jeziora danych. Delta Lake obsługuje transakcje ACID i skalowalne zarządzanie metadanymi, a także przesyłanie strumieniowe i przetwarzanie danych wsadowych.
Działa z interfejsami API Apache Spark i znajduje się w istniejącym jeziorze danych. Delta Sharing to pierwszy na świecie otwarty protokół do bezpiecznego udostępniania danych w biznesie, ułatwiający wymianę danych z innymi firmami niezależnie od ich systemów komputerowych.
Delta Lakes jest w stanie z łatwością obsłużyć petabajty danych. Metadane są przechowywane w taki sam sposób jak dane, a użytkownicy mogą je uzyskać za pomocą metody Opisz szczegóły. Delta Lakes ma pojedynczą architekturę, która może odczytywać zarówno dane strumieniowe, jak i dane wsadowe.
Upserts są proste do wykonania za pomocą Delta. Te upserts lub scalenia do tabeli Delta są porównywalne do SQL Merges. Można go używać do integrowania danych z innej ramki danych w tabeli oraz przeprowadzania aktualizacji, wstawiania i usuwania.
ZALETY
- Wiele funkcji, takich jak transakcje ACID i solidne zarządzanie metadanymi, może być dostępnych w obecnym rozwiązaniu do przechowywania danych.
- Delta Lake może teraz bez wysiłku zarządzać tabelami z miliardami partycji i plików w skali petabajtów.
- Zmniejsza potrzebę ręcznej kontroli wersji danych i innych problemów związanych z danymi, umożliwiając programistom skoncentrowanie się na opracowywaniu produktów na podstawie ich jezior danych.
Wady
- Ponieważ został zaprojektowany do pracy ze Spark i ogromnymi danymi, Delta Lake jest generalnie przesadzony w przypadku większości zadań.
- Wymaga użycia dedykowanego formatu danych, co ogranicza jego elastyczność i czyni go niekompatybilnym z Twoimi obecnymi formularzami.
Cennik
Jest darmowy dla każdego.
5. Głupek
Dolt to baza danych SQL, która wykonuje rozwidlanie, klonowanie, rozgałęzianie, łączenie, wypychanie i ciągnięcie w taki sam sposób, jak robi to repozytorium git. Aby poprawić komfort użytkowania bazy danych kontroli wersji, Dolt umożliwia synchronizację zmian danych i struktury.
To doskonałe narzędzie do współpracy dla Ciebie i Twoich współpracowników. Możesz połączyć się z Dolt w taki sam sposób, jak z każdą inną bazą danych MySQL i uruchamiać zapytania lub wprowadzać zmiany w danych za pomocą poleceń SQL.
Jeśli chodzi o wersjonowanie danych, Dolt jest jedyny w swoim rodzaju. Dolt to baza danych, w przeciwieństwie do niektórych innych rozwiązań, które tylko wersjonują dane. Chociaż oprogramowanie jest obecnie na wczesnym etapie, istnieją nadzieje, że w niedalekiej przyszłości będzie ono w pełni kompatybilne z Git i MySQL.
Wszystkie polecenia, które znasz z Git, będą również działać z Dolt. Pliki wersji Git, tabele wersji Dolt Korzystając z interfejsu wiersza poleceń, importuj pliki CSV, zatwierdzaj zmiany, publikuj je zdalnie i scalaj zmiany dokonane przez członków zespołu.
ZALETY
- Lekki i open source częściowo.
- W porównaniu do bardziej niejasnych wyborów, posiada interfejs SQL, dzięki czemu jest bardziej dostępny dla analityków danych.
Wady
- W porównaniu z innymi alternatywnymi wersjami baz danych, Dolt jest wciąż rozwijającym się produktem.
- Ponieważ Dolt jest bazą danych, musisz przenieść do niej swoje dane, aby uzyskać korzyści.
Cennik
Każdy może skorzystać z sesji społecznościowej. Platforma nie zapewnia cen premium; zamiast tego należy skontaktować się z dostawcą.
6. Zwierzę gruboskóre
Pachyderm to darmowy system kontroli wersji data science z wieloma funkcjami. Pachyderm Enterprise to potężna platforma do nauki o danych, zaprojektowana do współpracy na dużą skalę w wysoce bezpiecznych środowiskach.
Pachyderm to jedna z niewielu platform do nauki danych na liście. Celem Pachyderm jest zapewnienie platformy, która zarządza całym cyklem danych i ułatwia powielanie wyników modeli uczenia maszynowego. W tym kontekście Pachyderm jest znany jako „Docker danych”. Pachyderm spakuje Twoje środowisko wykonawcze za pomocą kontenerów Docker. Ułatwia to powielanie tych samych wyników.
Analitycy danych i zespoły DevOps mogą pewnie wdrażać modele dzięki połączeniu wersjonowanych danych z Dockerem. Dzięki wydajnemu systemowi przechowywania można przechowywać petabajty ustrukturyzowanych i nieustrukturyzowanych danych, a koszty przechowywania są ograniczone do minimum.
Na wszystkich etapach potoku wersjonowanie oparte na plikach zapewnia dokładny zapis audytu dla wszystkich danych i artefaktów, w tym wyników pośrednich. Te filary opierają się na wielu możliwościach narzędzia, które pomagają zespołom w pełni wykorzystać jego możliwości.
ZALETY
- Dzięki kontenerom Twoje środowiska danych będą przenośne i łatwe do przenoszenia między dostawcami usług w chmurze.
- Solidny, z możliwością skalowania od małych do bardzo dużych systemów.
Wady
- Ponieważ jest tak wiele ruchomych elementów, takich jak serwer Kubernetes niezbędny do obsługi darmowej edycji Pachyderma, krzywa uczenia się jest bardziej stroma.
- Pachyderm może być trudny do włączenia do istniejącej infrastruktury firmy ze względu na wiele komponentów technologicznych.
Cennik
Możesz rozpocząć korzystanie z platformy z sesją społecznościową, aw przypadku edycji korporacyjnej musisz skontaktować się z dostawcą.
7. Neptun
Metadane budowania modelu są zarządzane przez magazyn metadanych ML, który jest ważnym aspektem stosu MLOps. Dla każdego przepływu pracy MLOps Neptune służy jako scentralizowane przechowywanie metadanych.
Możesz śledzić, wizualizować i porównywać tysiące modeli uczenia maszynowego w jednym miejscu. Obejmuje takie funkcje, jak śledzenie eksperymentów, rejestr modeli i monitorowanie modeli, a także interfejs do współpracy. Zawiera ponad 25 różnych zintegrowanych narzędzi i bibliotek, w tym kilka narzędzi do uczenia modeli i dostrajania hiperparametrów.
Możesz dołączyć do Neptuna bez użycia karty kredytowej. Zamiast tego wystarczy konto Gmail.
ZALETY
- Integracja z dowolnym potokiem, przepływem, bazą kodu lub strukturą jest prosta.
- Wizualizacje w czasie rzeczywistym, łatwy interfejs API i szybkie wsparcie
- Dzięki Neptune możesz wykonać „kopię zapasową” wszystkich danych swoich eksperymentów w jednym miejscu, którą możesz później odzyskać.
Wady
- Chociaż nie jest to całkowicie open source, indywidualna wersja prawdopodobnie wystarczyłaby do użytku prywatnego, chociaż taki dostęp jest ograniczony do jednego miesiąca.
- Można znaleźć kilka drobnych błędów konstrukcyjnych.
Cennik
Możesz zacząć korzystać z platformy z planem Indywidualnym, z którego każdy może korzystać bezpłatnie. Sekcja cen zaczyna się od 150 USD miesięcznie.
Wnioski
W tym poście omówiliśmy najlepsze narzędzia do wersjonowania danych. Każde narzędzie, jak widzieliśmy, ma swój własny zestaw funkcji. Niektóre były darmowe, inne wymagały zapłaty. Niektóre są dobrze dopasowane do modelu małego biznesu, podczas gdy inne lepiej pasują do dużego modelu biznesowego.
W rezultacie musisz wybrać najlepsze oprogramowanie do swoich celów po rozważeniu zalet i wad. Zachęcamy do przetestowania bezpłatnej wersji próbnej przed zakupem produktu premium.
Dodaj komentarz