Inhoudsopgave[Zich verstoppen][Laten zien]
Datawetenschappers en machine learning-professionals hebben te maken met een aanzienlijk aantal gegevens van verschillende typen in een typisch datawetenschapsproject. Er zijn talloze modellen ontwikkeld met verschillende configuraties en functies, evenals meerdere iteraties van parameterafstemming om de optimale prestaties te krijgen.
In een dergelijk scenario moeten alle gegevensaanpassingen en aanpassingen van het modelbouwproces worden gemonitord en gemeten om te bepalen wat werkte en wat niet. Het is ook van vitaal belang om terug te kunnen gaan naar een vorige editie en eerdere resultaten te bekijken.
Data Version Control (DVC), dat helpt bij het beheren van de gegevens, het onderliggende model en het uitvoeren van reproduceerbare resultaten, is zo'n technologie waarmee we dit allemaal kunnen bewaken.
In dit bericht gaan we dieper in op Data Version Control en de beste tools om te gebruiken. Laten we beginnen.
Wat is gegevensversiebeheer?
Versiebeheer is vereist voor alle productiesystemen. Eén toegangspunt tot de meest actuele gegevens. Elke bron die vaak wordt gewijzigd, met name door meerdere gebruikers tegelijkertijd, heeft het maken van een audittrail nodig om alle wijzigingen bij te houden.
Het versiebeheersysteem zorgt ervoor dat iedereen in het team op één lijn zit. Het garandeert dat iedereen in het team aan de meest recente versie van het bestand werkt en, belangrijker nog, dat iedereen tegelijk aan hetzelfde project werkt.
Als u over de juiste apparatuur beschikt, kunt u dit met minimale inspanning bereiken!
U beschikt over consistente datasets en een grondig archief van al uw onderzoek als u een betrouwbare dataversiebeheerstrategie gebruikt. Hulpprogramma's voor gegevensversie zijn van cruciaal belang voor uw workflow als u geeft om reproduceerbaarheid, traceerbaarheid en ML-modelgeschiedenis.
Ze helpen u een versie van een item te verkrijgen, zoals een hash van een dataset of model, die u vervolgens kunt gebruiken om te identificeren en te vergelijken. Deze gegevensversie wordt vaak ingevoerd in uw metagegevensbeheeroplossing om te garanderen dat uw modeltraining versiebeheer en herhaalbaar is.
Beste tools voor gegevensversiebeheer
Nu is het tijd om te kijken naar de beste beschikbare oplossingen voor gegevensversiebeheer, die u kunt gebruiken om elk onderdeel van uw code bij te houden.
1. git-lfs
Het Git LFS-project is gratis te gebruiken. Binnen Git worden grote bestanden zoals audiovoorbeelden, video's, databases en foto's vervangen door tekstaanwijzers en wordt de bestandsinhoud opgeslagen op een externe server zoals GitHub.com of GitHub Enterprise.
Het stelt je in staat om Git te gebruiken om enorme bestanden te versies - tot enkele GB groot - meer te hosten in je Git-repository's met behulp van externe opslag, en grote bestandsrepositories sneller te klonen en op te halen. Als het gaat om gegevensbeheer, is dit een vrij lichte oplossing. Om met Git te werken, heb je geen extra commando's, opslagsystemen of toolkits nodig.
Het beperkt de hoeveelheid informatie die u downloadt. Dit houdt in dat het klonen en ophalen van grote bestanden uit repositories sneller zal gaan. De wijzers zijn gemaakt van een lichter materiaal en wijzen naar de LFS.
Als gevolg hiervan, wanneer u uw repo naar de hoofdrepository pusht, wordt deze snel bijgewerkt en neemt deze minder ruimte in beslag.
VOORDELEN
- Gemakkelijk te integreren in de ontwikkelingsworkflows van de meeste bedrijven.
- Het is niet nodig om met extra rechten om te gaan omdat het dezelfde machtigingen gebruikt als de Git-repository.
NADELEN
- Git LFS vereist het gebruik van dedicated servers om uw gegevens op te slaan. Als gevolg hiervan zullen uw data science-teams worden opgesloten en zal uw technische werklast toenemen.
- Zeer gespecialiseerd en kan het gebruik van een verscheidenheid aan verschillende tools vereisen voor volgende fasen in de data science-workflow.
Prijzen
Het is voor iedereen gratis te gebruiken.
2. MeerFS
LakeFS is een open-source oplossing voor gegevensversie die gegevens opslaat in S3 of GCS en een Git-achtig vertakkings- en commit-paradigma heeft dat kan worden geschaald naar petabytes.
Deze vertakkingsstrategie maakt uw data lake ACID-compatibel door wijzigingen toe te staan in verschillende vertakkingen die atomair en onmiddellijk kunnen worden geconstrueerd, samengevoegd en teruggedraaid.
LakeFS stelt teams in staat om data lake-activiteiten te creëren die herhaalbaar, atomair en versiebeheer zijn. Het is een nieuweling in de scene, maar het is een kracht om rekening mee te houden.
Het gebruikt een Git-achtige vertakkings- en versiebeheerbenadering om te communiceren met uw data lake, schaalbaar tot Petabytes aan gegevens. Op een exabyteschaal kunt u controleren op versiebeheer.
VOORDELEN
- Git-achtige bewerkingen omvatten branching, committing, mergen en reverting.
- Pre-commit/merge hooks worden gebruikt voor data-CI/CD-controles.
- Biedt complexe functies zoals ACID-transacties voor eenvoudige cloudopslag zoals S3 en GCS, terwijl het formaat neutraal blijft.
- Zet wijzigingen in realtime terug in gegevens.
- Schaalt gemakkelijk, waardoor het geschikt is voor zeer grote datameren. Versiebeheer kan worden geleverd voor zowel ontwikkelings- als productie-instellingen.
NADELEN
- LakeFS is een nieuw product, dus functionaliteit en documentatie kunnen sneller veranderen dan bij eerdere oplossingen.
- Omdat het is gericht op gegevensversiebeheer, moet u een verscheidenheid aan aanvullende hulpmiddelen gebruiken voor verschillende delen van de datawetenschapsworkflow.
Prijzen
Het is voor iedereen gratis te gebruiken.
3. DVC
Data Version Control is een gratis oplossing voor gegevensversie die is ontworpen voor toepassingen op het gebied van gegevenswetenschap en machine learning. Het is een programma waarmee u uw pijplijn in elke taal kunt definiëren.
Door grote bestanden, datasets, machine learning-modellen, code, enzovoort te beheren, maakt de tool machine learning-modellen deelbaar en reproduceerbaar. Het programma volgt Git's voorbeeld bij het bieden van een eenvoudige opdrachtregel die in slechts een paar stappen kan worden ingesteld.
Zoals de naam al aangeeft, gaat DVC niet alleen over gegevensversiebeheer. Het vergemakkelijkt ook het beheer van pijplijnen en machine learning-modellen voor teams.
Ten slotte helpt DVC bij het verbeteren van de consistentie van de modellen van uw team en hun herhaalbaarheid. In plaats van ingewikkelde bestandsachtervoegsels en opmerkingen in code te gebruiken, kunt u profiteren van: Git-takken om nieuwe ideeën uit te proberen. Gebruik geautomatiseerde metrische tracking om te reizen in plaats van papier en potlood.
Om consistente bundels van te verzenden machine learning modellen, gegevens en code in productie, verre computers of de desktop van een collega, u kunt push/pull-commando's gebruiken in plaats van ad-hocscripts.
VOORDELEN
- Het is lichtgewicht, open-source en werkt met alle belangrijke cloudplatforms en soorten opslag.
- Flexibel, agnostisch qua formaat en kader, en eenvoudig te implementeren.
- De hele evolutie van elk ML-model is terug te voeren op de broncode en gegevens.
NADELEN
- Pijplijnbeheer en DVC-versiebeheer zijn onlosmakelijk met elkaar verbonden. Er is sprake van redundantie als uw team al een ander datapijplijnproduct gebruikt.
- Aangezien DVC licht van gewicht is, moet uw team mogelijk extra functies handmatig ontwerpen om het gebruiksvriendelijker te maken.
Prijzen
Het is voor iedereen gratis te gebruiken.
4. Deltameer
DeltaLake is een open-source opslaglaag die de betrouwbaarheid van data lakes verhoogt. Delta Lake ondersteunt ACID-transacties en schaalbaar metadatabeheer naast streaming en batchgegevensverwerking.
Het werkt met Apache Spark-API's en bevindt zich op uw bestaande datameer. Delta Sharing is 's werelds eerste open protocol voor het veilig delen van gegevens in het bedrijfsleven, waardoor het eenvoudig wordt om gegevens uit te wisselen met andere bedrijven, onafhankelijk van hun computersystemen.
Delta Lakes kan gemakkelijk petabytes aan gegevens verwerken. Metadata wordt op dezelfde manier opgeslagen als data en gebruikers kunnen deze verkrijgen met behulp van de Describe Detail-methode. Delta Lakes heeft één architectuur die zowel stream- als batchgegevens kan lezen.
Upserts zijn eenvoudig te doen met Delta. Deze upserts of merges in de Delta-tabel zijn vergelijkbaar met SQL Merges. U kunt het gebruiken om gegevens uit een ander gegevensframe in uw tabel te integreren en updates, invoegingen en verwijderingen uit te voeren.
VOORDELEN
- Veel mogelijkheden, zoals ACID-transacties en robuust metadatabeheer, kunnen beschikbaar zijn in uw huidige oplossing voor gegevensopslag.
- Delta Lake kan nu moeiteloos tabellen beheren met miljarden partities en bestanden op petabyte-schaal.
- Vermindert de noodzaak voor handmatig gegevensversiebeheer en andere gegevensproblemen, waardoor ontwikkelaars zich kunnen concentreren op het ontwikkelen van producten bovenop hun datameren.
NADELEN
- Omdat het is ontworpen om met Spark en enorme gegevens te werken, is Delta Lake over het algemeen overkill voor de meeste taken.
- Het vereist het gebruik van een speciaal gegevensformaat, dat de flexibiliteit ervan beperkt en het incompatibel maakt met uw huidige formulieren.
Prijzen
Het is voor iedereen gratis te gebruiken.
5. dolt
Dolt is een SQL-database die forking, cloning, branching, merge, push en pull op dezelfde manier doet als een git-repository. Om de gebruikerservaring van een versiebeheerdatabase te verbeteren, laat Dolt toe dat gegevens en structuur synchroon veranderen.
Het is een uitstekende tool voor jou en je collega's om aan samen te werken. U kunt op dezelfde manier verbinding maken met Dolt als met elke andere MySQL-database en query's uitvoeren of gegevens wijzigen met behulp van SQL-opdrachten.
Als het gaat om gegevensversiebeheer, is Dolt uniek in zijn soort. Dolt is een database, in tegenstelling tot sommige van de andere oplossingen die alleen versiegegevens bevatten. Hoewel de software zich momenteel in de beginfase bevindt, is er hoop om deze in de nabije toekomst volledig compatibel te maken met Git en MySQL.
Alle commando's die je kent met Git zullen ook werken met Dolt. Git-versiebestanden, Dolt-versietabellen Gebruik de opdrachtregelinterface om CSV-bestanden te importeren, uw wijzigingen vast te leggen, ze op een externe locatie te publiceren en de wijzigingen van uw teamgenoot samen te voegen.
VOORDELEN
- Lichtgewicht en open source gedeeltelijk.
- In vergelijking met meer obscure keuzes heeft het een SQL-interface, waardoor het toegankelijker is voor data-analisten.
NADELEN
- In vergelijking met andere alternatieven voor databaseversies is Dolt nog steeds een product in ontwikkeling.
- Aangezien Dolt een database is, moet u uw gegevens erin overbrengen om de voordelen te krijgen.
Prijzen
Iedereen is welkom om gebruik te maken van de community sessie. Het platform biedt geen premium prijzen; in plaats daarvan moet u contact opnemen met de provider.
6. dikhuid
Pachyderm is een gratis versiebeheersysteem voor gegevenswetenschap met veel functies. Pachyderm Enterprise is een krachtig datawetenschapsplatform dat is ontworpen voor grootschalige samenwerking in zeer veilige omgevingen.
Pachyderm is een van de weinige datawetenschapsplatforms in de lijst. Het doel van Pachyderm is om een platform te bieden dat de volledige datacyclus beheert en het eenvoudig maakt om de bevindingen van machine learning-modellen te dupliceren. Pachyderm staat in deze context bekend als "de Docker of Data". Pachyderm verpakt uw uitvoeringsomgeving met Docker-containers. Dit maakt het eenvoudig om dezelfde resultaten te dupliceren.
Datawetenschappers en DevOps-teams kunnen modellen met vertrouwen implementeren dankzij de combinatie van versiegegevens met Docker. Dankzij een efficiënt opslagsysteem kunnen petabytes aan gestructureerde en ongestructureerde gegevens worden bijgehouden terwijl de opslagkosten tot een minimum worden beperkt.
Gedurende de pijplijnfasen biedt bestandsgebaseerd versiebeheer een grondige auditrecord voor alle gegevens en artefacten, inclusief tussentijdse output. Veel van de mogelijkheden van de tool worden aangedreven door deze pijlers, die teams helpen om er het maximale uit te halen.
VOORDELEN
- Op basis van containers zijn uw data-omgevingen draagbaar en eenvoudig over te zetten tussen cloudproviders.
- Robuust, met de mogelijkheid om op te schalen van kleine tot extreem grote systemen.
NADELEN
- Omdat er zoveel bewegende elementen zijn, zoals de Kubernetes-server die nodig is om de gratis editie van Pachyderm te verwerken, is er een steilere leercurve.
- Pachyderm kan een uitdaging zijn om op te nemen in de bestaande infrastructuur van een bedrijf vanwege de vele technologische componenten.
Prijzen
U kunt het platform gaan gebruiken met de communitysessie en voor de enterprise-editie moet u contact opnemen met de leverancier.
7. Neptunus
Metagegevens voor het bouwen van modellen worden beheerd door de ML-metagegevensopslag, wat een belangrijk aspect is van de MLOps-stack. Voor elke MLOps-workflow dient Neptune als gecentraliseerde opslag van metadata.
U kunt duizenden machine learning-modellen op één plek bijhouden, visualiseren en vergelijken. Het bevat functies zoals het volgen van experimenten, modelregistratie en modelmonitoring, evenals een samenwerkingsinterface. Het bevat meer dan 25 verschillende geïntegreerde tools en bibliotheken, waaronder verschillende tools voor modeltraining en hyperparameter-afstemming.
U kunt zich aanmelden voor Neptune zonder uw creditcard te gebruiken. Een Gmail-account is daarvoor in de plaats voldoende.
VOORDELEN
- Integratie met elke pijplijn, stroom, codebase of framework is eenvoudig.
- De realtime visualisaties, de eenvoudige API en de snelle ondersteuning
- Met Neptune kunt u een "back-up" maken van alle gegevens van uw experimenten op één locatie, die u later kunt herstellen.
NADELEN
- Hoewel niet geheel open source, zou een individuele versie vermoedelijk voldoende zijn voor privégebruik, hoewel deze toegang beperkt is tot een maand.
- Er zijn een paar kleine ontwerpfouten te vinden.
Prijzen
U kunt het platform gaan gebruiken met het Individuele abonnement dat voor iedereen gratis te gebruiken is. Het prijsgedeelte begint vanaf $ 150 per maand.
Conclusie
In dit bericht hebben we de beste tools voor gegevensversiebeheer besproken. Elke tool heeft, zoals we hebben gezien, zijn eigen set functies. Sommige waren gratis, andere moesten betaald worden. Sommige passen goed bij het kleine bedrijfsmodel, terwijl andere beter passen bij het grote bedrijfsmodel.
Als gevolg hiervan moet u de beste software voor uw doeleinden selecteren nadat u de voor- en nadelen heeft afgewogen. We raden u aan de gratis proefversie uit te proberen voordat u een premiumproduct aanschaft.
Laat een reactie achter