Innehållsförteckning[Dölj][Visa]
Dataforskare och maskininlärningspersonal hanterar ett betydande antal data av olika typer i ett typiskt datavetenskapligt projekt. Många modeller har utvecklats med olika konfigurationer och funktioner, såväl som flera iterationer av parameterinställning för att få optimal prestanda.
I ett sådant scenario måste alla datamodifieringar och modellbyggnadsprocessjusteringar övervakas och mätas för att avgöra vad som fungerade och vad som inte fungerade. Det är också viktigt att kunna gå tillbaka till en tidigare utgåva och titta på tidigare resultat.
Data Version Control (DVC), som hjälper till att hantera data, den underliggande modellen och köra reproducerbara resultat, är en sådan teknik som gör det möjligt för oss att övervaka allt detta.
I det här inlägget kommer vi att noggrant undersöka dataversionskontroll och de bästa verktygen att använda. Låt oss börja.
Vad är dataversionskontroll?
Versionering krävs för alla produktionssystem. En enda åtkomstpunkt till den senaste informationen. Varje resurs som ofta modifieras, särskilt av flera användare samtidigt, behöver skapas ett granskningsspår för att hålla reda på alla ändringar.
Versionskontrollsystemet ansvarar för att alla i teamet är på samma sida. Det garanterar att alla i teamet arbetar med den senaste versionen av filen och, ännu viktigare, att alla samarbetar i samma projekt åt gången.
Om du har rätt utrustning kan du åstadkomma detta med minimal ansträngning!
Du kommer att ha konsekventa datamängder och ett noggrant arkiv över all din forskning om du använder en pålitlig strategi för dataversionshantering. Dataversionsverktyg är avgörande för ditt arbetsflöde om du bryr dig om reproducerbarhet, spårbarhet och ML-modellhistorik.
De hjälper dig att skaffa en version av ett objekt, som en hash av en datauppsättning eller modell, som du sedan kan använda för att identifiera och jämföra. Denna dataversion läggs ofta in i din metadatahanteringslösning för att garantera att din modellträning är versionerad och repeterbar.
Bästa verktyg för dataversionskontroll
Nu är det dags att titta på de bästa tillgängliga dataversionskontrolllösningarna, som du kan använda för att hålla reda på varje del av din kod.
1. git-lfs
Git LFS-projektet är gratis att använda. Inom Git ersätts stora filer som ljudprover, videor, databaser och foton med textpekare, och filinnehållet sparas på en fjärrserver som GitHub.com eller GitHub Enterprise.
Det låter dig använda Git för att versionera enorma filer – upp till flera GB i storlek – värd för fler i dina Git-förråd med hjälp av extern lagring, och klona och hämta stora filförråd snabbare. När det gäller datahantering är detta en ganska lätt lösning. För att arbeta med Git behöver du inga extra kommandon, lagringssystem eller verktygssatser.
Det begränsar mängden information du laddar ner. Detta innebär att kloning och hämtning av stora filer från arkiv kommer att gå snabbare. Pekarna är gjorda av ett lättare material och pekar mot LFS.
Som ett resultat, när du trycker in ditt repo i huvudförvaret, uppdateras det snabbt och tar mindre plats.
Fördelar
- Integreras enkelt i de flesta företags utvecklingsarbetsflöden.
- Det finns inget behov av att hantera extra rättigheter eftersom det använder samma behörigheter som Git-förvaret.
Nackdelar
- Git LFS kräver användning av dedikerade servrar för att lagra dina data. Som ett resultat kommer dina datavetenskapsteam att låsas in, och din tekniska arbetsbörda kommer att öka.
- Mycket specialiserad och kan kräva användning av en mängd olika verktyg för efterföljande faser i datavetenskapens arbetsflöde.
Priser
Det är gratis att använda för alla.
2. LakeFS
LakeFS är en dataversionslösning med öppen källkod som lagrar data i S3 eller GCS och har ett Git-liknande förgrenings- och commit-paradigm som skalas till petabyte.
Denna förgreningsstrategi gör din datasjö ACID-kompatibel genom att tillåta förändringar att ske i distinkta grenar som kan konstrueras, slås samman och rullas tillbaka atomiskt och omedelbart.
LakeFS gör det möjligt för team att skapa datasjöaktiviteter som är repeterbara, atomära och versionerade. Det är en nybörjare på scenen, men det är en kraft att räkna med.
Den använder en Git-liknande förgrening och versionskontroll för att interagera med din datasjön, skalbar upp till Petabyte data. På en exabyte-skala kan du söka efter versionskontroll.
Fördelar
- Git-liknande operationer inkluderar förgrening, commit, sammanslagning och återgång.
- Pre-commit/merge-krokar används för data-CI/CD-kontroller.
- Ger komplexa funktioner som ACID-transaktioner för enkel molnlagring som S3 och GCS, samtidigt som de förblir formatneutrala.
- Återställ ändringar i data i realtid.
- Skalas lätt, vilket gör att den kan rymma mycket stora datasjöar. Versionskontroll kan tillhandahållas för både utvecklings- och produktionsinställningar.
Nackdelar
- LakeFS är en ny produkt, så funktionalitet och dokumentation kan förändras snabbare än med tidigare lösningar.
- Eftersom det är fokuserat på dataversionering måste du använda en mängd ytterligare verktyg för olika delar av datavetenskapens arbetsflöde.
Priser
Det är gratis att använda för alla.
3. DVC
Dataversionskontroll är en gratis dataversionslösning utformad för datavetenskap och maskininlärningsapplikationer. Det är ett program som låter dig definiera din pipeline på vilket språk som helst.
Genom att hantera stora filer, datamängder, maskininlärningsmodeller, kod och så vidare gör verktyget maskininlärningsmodeller delbara och reproducerbara. Programmet följer Gits ledning när det gäller att tillhandahålla en enkel kommandorad som kan ställas in i bara några få steg.
Som namnet antyder handlar DVC inte bara om dataversionshantering. Det underlättar också hanteringen av pipelines och maskininlärningsmodeller för team.
Slutligen kommer DVC att hjälpa till att förbättra konsistensen hos ditt teams modeller och deras repeterbarhet. Istället för att använda komplicerade filsuffix och kommentarer i kod, dra fördel av Git grenar att pröva nya idéer. För att resa, använd automatisk metrisk spårning istället för papper och penna.
Att överföra konsekventa buntar av maskininlärning modeller, data och kod till produktion, avlägsna datorer eller en kollegas skrivbord, kan du använda push/pull-kommandon istället för ad-hoc-skript.
Fördelar
- Den är lätt, öppen källkod och fungerar med alla större molnplattformar och lagringstyper.
- Flexibel, agnostisk av format och ramverk och enkel att implementera.
- Varje ML-modells hela utveckling kan spåras tillbaka till dess källkod och data.
Nackdelar
- Pipelinehantering och DVC-versionskontroll är oupplösligt kopplade. Det kommer att finnas redundans om ditt team redan använder en annan datapipelineprodukt.
- Eftersom DVC är lätt, kan ditt team behöva designa ytterligare funktioner manuellt för att göra det mer användarvänligt.
Priser
Det är gratis att använda för alla.
4. DeltaLake
DeltaLake är ett lagringslager med öppen källkod som ökar datasjöns tillförlitlighet. Delta Lake stöder ACID-transaktioner och skalbar metadatahantering förutom streaming och batchdatabehandling.
Det fungerar med Apache Spark API:er och sitter på din befintliga datasjö. Delta Sharing är världens första öppna protokoll för säker datadelning i företag, vilket gör det enkelt att utbyta data med andra företag oberoende av deras datorsystem.
Delta Lakes kan hantera petabyte data med lätthet. Metadata lagras på samma sätt som data, och användare kan få det med metoden Describe Detail. Delta Lakes har en enda arkitektur som kan läsa både stream- och batchdata.
Upserts är enkla att göra med Delta. Dessa upserts eller sammanslagningar i Delta-tabellen är jämförbara med SQL Merges. Du kan använda den för att integrera data från en annan dataram i din tabell och utföra uppdateringar, infogar och raderingar.
Fördelar
- Många funktioner, som ACID-transaktioner och robust metadatahantering, kan vara tillgängliga i din nuvarande datalagringslösning.
- Delta Lake kan nu enkelt hantera tabeller med miljarder partitioner och filer i petabyte-skala.
- Minskar behovet av manuell dataversionskontroll och andra dataproblem, vilket gör att utvecklare kan koncentrera sig på att utveckla produkter ovanpå sina datasjöar.
Nackdelar
- Eftersom den designades för att fungera med Spark och enorma data, är Delta Lake i allmänhet överdriven för de flesta uppgifter.
- Det kräver användning av ett dedikerat dataformat, vilket begränsar dess flexibilitet och gör det inkompatibelt med dina nuvarande formulär.
Priser
Det är gratis att använda för alla.
5. Dolt
Dolt är en SQL-databas som gör forking, kloning, förgrening, sammanslagning, pushing och pulling på samma sätt som ett git-förråd gör. För att förbättra användarupplevelsen av en versionskontrolldatabas tillåter Dolt att data och struktur ändras synkroniserat.
Det är ett utmärkt verktyg för dig och dina medarbetare att samarbeta om. Du kan ansluta till Dolt på samma sätt som du skulle göra till någon annan MySQL-databas och köra frågor eller göra ändringar i data med SQL-kommandon.
När det gäller dataversionering är Dolt enastående. Dolt är en databas, till skillnad från några av de andra lösningarna som bara versionsdata. Även om mjukvaran för närvarande är i ett tidigt skede finns det förhoppningar att göra den fullt kompatibel med Git och MySQL inom en snar framtid.
Alla kommandon som du är bekant med att använda med Git kommer också att fungera med Dolt. Git-versionsfiler, Dolt-versionstabeller Använd kommandoradsgränssnittet för att importera CSV-filer, förverkliga dina ändringar, publicera dem på en fjärrkontroll och slå ihop din lagkamrats ändringar.
Fördelar
- Lätt och öppen källkod delvis.
- I jämförelse med mer obskyra val har den ett SQL-gränssnitt, vilket gör det mer tillgängligt för dataanalytiker.
Nackdelar
- I jämförelse med andra databasversionsalternativ är Dolt fortfarande en produkt under utveckling.
- Eftersom Dolt är en databas måste du överföra dina data till den för att få fördelarna.
Priser
Alla är välkomna att använda community session. Plattformen tillhandahåller inte premiumpriser; istället måste du kontakta leverantören.
6. Tjockhuding
Pachyderm är ett gratis versionskontrollsystem för datavetenskap med många funktioner. Pachyderm Enterprise är en kraftfull datavetenskaplig plattform designad för storskaligt samarbete i mycket säkra miljöer.
Pachyderm är en av listans få datavetenskapliga plattformar. Pachyderms mål är att tillhandahålla en plattform som hanterar hela datacykeln och gör det enkelt att duplicera resultaten av maskininlärningsmodeller. Pachyderm är känd som "Datahamnaren" i detta sammanhang. Pachyderm paketerar din exekveringsmiljö med Docker-behållare. Detta gör det enkelt att duplicera samma resultat.
Dataforskare och DevOps-team kan distribuera modeller med tillförsikt tack vare kombinationen av versionsdata med Docker. Tack vare ett effektivt lagringssystem kan petabyte av strukturerad och ostrukturerad data bibehållas samtidigt som lagringskostnaderna hålls till ett minimum.
Under hela pipeline-faserna ger filbaserad versionshantering en noggrann granskning av alla data och artefakter, inklusive mellanliggande utdata. Många av verktygets kapacitet drivs av dessa pelare, som hjälper team att få ut det mesta av det.
Fördelar
- Baserat på containrar kommer dina datamiljöer att vara portabla och lätta att överföra mellan molnleverantörer.
- Robust, med förmågan att skala från små till extremt stora system.
Nackdelar
- Eftersom det finns så många rörliga element, som Kubernetes-servern som är nödvändig för att hantera Pachyderms gratisutgåva, finns det en brantare inlärningskurva.
- Pachyderm kan vara utmanande att integrera i ett företags befintliga infrastruktur på grund av dess många tekniska komponenter.
Priser
Du kan börja använda plattformen med community-sessionen och för företagsutgåvan måste du kontakta leverantören.
7. Neptune
Modellbyggande metadata hanteras av ML-metadatalagret, vilket är en viktig aspekt av MLOps-stacken. För varje MLOps-arbetsflöde fungerar Neptune som centraliserad metadatalagring.
Du kan hålla reda på, visualisera och jämföra tusentals maskininlärningsmodeller på ett och samma ställe. Den innehåller funktioner som experimentspårning, modellregister och modellövervakning, samt ett samarbetsgränssnitt. Den innehåller över 25 olika verktyg och integrerade bibliotek, inklusive flera modelltränings- och hyperparameterjusteringsverktyg.
Du kan gå med i Neptune utan att använda ditt kreditkort. Ett Gmail-konto räcker i stället.
Fördelar
- Det är enkelt att integrera med alla pipeline, flöden, kodbaser eller ramverk.
- Realtidsvisualiseringarna, det enkla API:et och det snabba stödet
- Med Neptune kan du göra en "säkerhetskopia" av alla dina experimentdata på en plats, som du kan återställa senare.
Nackdelar
- Även om det inte är helt öppen källkod, skulle en individuell version förmodligen räcka för privat bruk, även om sådan åtkomst är begränsad till en månad.
- Det finns några små designfel att hitta.
Priser
Du kan börja använda plattformen med den individuella planen som är gratis att använda för alla. Prissektionen börjar från $150/månad.
Slutsats
I det här inlägget diskuterade vi de bästa verktygen för dataversionering. Varje verktyg, som vi har sett, har sin egen uppsättning funktioner. Vissa var gratis, medan andra krävde betalning. Vissa är väl lämpade för den lilla affärsmodellen, medan andra är bättre lämpade för den stora affärsmodellen.
Som en konsekvens måste du välja den bästa mjukvaran för dina ändamål efter att ha vägt fördelar och nackdelar. Vi rekommenderar att du testar den kostnadsfria testversionen innan du köper en premiumprodukt.
Kommentera uppropet