Scienziati dei dati e i professionisti dell'apprendimento automatico gestiscono un numero significativo di dati di vario tipo in un tipico progetto di scienza dei dati. Sono stati sviluppati numerosi modelli con varie configurazioni e caratteristiche, oltre a più iterazioni di regolazione dei parametri per ottenere prestazioni ottimali.
In uno scenario del genere, tutte le modifiche ai dati e gli adeguamenti del processo di costruzione del modello devono essere monitorati e misurati per determinare cosa ha funzionato e cosa no. È anche fondamentale poter tornare a un'edizione precedente e esaminare i risultati precedenti.
Data Version Control (DVC), che aiuta nella gestione dei dati, del modello sottostante e nell'esecuzione di risultati riproducibili, è una di queste tecnologie che ci consente di monitorare tutto questo.
In questo post, esamineremo da vicino il controllo della versione dei dati e i migliori strumenti da utilizzare. Cominciamo.
Che cos'è il controllo della versione dei dati?
Il controllo delle versioni è richiesto per tutti i sistemi di produzione. Un unico punto di accesso ai dati più aggiornati. Qualsiasi risorsa che viene spesso modificata, in particolare da più utenti contemporaneamente, necessita della creazione di un audit trail per tenere traccia di tutte le modifiche.
Il sistema di controllo della versione è responsabile di garantire che tutti i membri del team siano sulla stessa pagina. Garantisce che tutti i membri del team stiano lavorando alla versione più recente del file e, cosa più importante, che tutti stiano collaborando allo stesso progetto alla volta.
Se hai l'attrezzatura adeguata, puoi farlo con il minimo sforzo!
Avrai set di dati coerenti e un archivio completo di tutte le tue ricerche se utilizzi una strategia di gestione delle versioni dei dati affidabile. Gli strumenti di controllo delle versioni dei dati sono fondamentali per il tuo flusso di lavoro se ti preoccupi della riproducibilità, della tracciabilità e della cronologia del modello ML.
Ti aiutano ad acquisire una versione di un elemento, come un hash di un set di dati o un modello, che puoi quindi utilizzare per identificare e confrontare. Questa versione dei dati viene spesso inserita nella soluzione di gestione dei metadati per garantire che il training del modello sia dotato di versione e ripetibile.
I migliori strumenti di controllo della versione dei dati
Ora è il momento di esaminare le migliori soluzioni di controllo della versione dei dati disponibili, che puoi utilizzare per tenere traccia di ogni parte del tuo codice.
1. git-lfs
Il progetto Git LFS è gratuito. All'interno di Git, i file di grandi dimensioni come campioni audio, video, database e foto vengono sostituiti con puntatori di testo e il contenuto del file viene salvato su un server remoto come GitHub.com o GitHub Enterprise.
Ti consente di utilizzare Git per eseguire la versione di file enormi, fino a diversi GB di dimensioni, ospitarne di più nei tuoi repository Git utilizzando l'archiviazione esterna e clonare e recuperare repository di file di grandi dimensioni più rapidamente. Quando si tratta di gestione dei dati, questa è una soluzione piuttosto leggera. Per lavorare con Git, non sono necessari comandi, sistemi di archiviazione o toolkit aggiuntivi.
Limita la quantità di informazioni scaricate. Ciò implica che la clonazione e il recupero di file di grandi dimensioni dai repository sarà più veloce. I puntatori sono realizzati in un materiale più leggero e puntano all'LFS.
Di conseguenza, quando si esegue il push del repository nel repository principale, si aggiorna rapidamente e occupa meno spazio.
Vantaggi
- Si integra facilmente nei flussi di lavoro di sviluppo della maggior parte delle aziende.
- Non è necessario gestire diritti aggiuntivi perché utilizza le stesse autorizzazioni del repository Git.
Svantaggi
- Git LFS richiede l'uso di server dedicati per archiviare i tuoi dati. Di conseguenza, i tuoi team di data science saranno bloccati e il tuo carico di lavoro di ingegneria aumenterà.
- Molto specializzato e potrebbe richiedere l'uso di una varietà di strumenti diversi per le fasi successive del flusso di lavoro della scienza dei dati.
Prezzi
È gratuito per tutti.
2. Lago FS
LakeFS è una soluzione di controllo delle versioni dei dati open source che archivia i dati in S3 o GCS e ha un paradigma di ramificazione e commit simile a Git che scala fino a petabyte.
Questa strategia di ramificazione rende il tuo data lake conforme all'ACID consentendo l'esecuzione di modifiche in rami distinti che possono essere costruiti, uniti e ripristinati in modo atomico e istantaneo.
LakeFS consente ai team di creare attività di data lake ripetibili, atomiche e con versione. È un principiante della scena, ma è una forza da non sottovalutare.
Utilizza un approccio di branching e controllo della versione simile a Git per interagire con il tuo lago dati, scalabile fino a Petabyte di dati. Su una scala di exabyte, puoi verificare il controllo della versione.
Vantaggi
- Le operazioni simili a Git includono branching, commit, unione e ripristino.
- Gli hook pre-commit/merge vengono utilizzati per i controlli CI/CD dei dati.
- Fornisce funzionalità complesse come le transazioni ACID per l'archiviazione su cloud semplice come S3 e GCS, il tutto rimanendo neutrale rispetto al formato.
- Ripristina le modifiche ai dati in tempo reale.
- Si adatta facilmente, consentendo di ospitare data lake molto grandi. Il controllo della versione può essere fornito sia per lo sviluppo che per le impostazioni di produzione.
Svantaggi
- LakeFS è un nuovo prodotto, quindi funzionalità e documentazione possono cambiare più rapidamente rispetto alle soluzioni precedenti.
- Poiché è incentrato sul controllo delle versioni dei dati, dovrai utilizzare una varietà di strumenti aggiuntivi per varie parti del flusso di lavoro della scienza dei dati.
Prezzi
È gratuito per tutti.
3. DVC
Data Version Control è una soluzione gratuita per il controllo delle versioni dei dati progettata per applicazioni di data science e machine learning. È un programma che ti permette di definire la tua pipeline in qualsiasi lingua.
Gestendo file di grandi dimensioni, set di dati, modelli di machine learning, codice e così via, lo strumento rende i modelli di machine learning condivisibili e riproducibili. Il programma segue l'esempio di Git nel fornire una semplice riga di comando che può essere impostata in pochi passaggi.
Come suggerisce il nome, DVC non riguarda solo il controllo delle versioni dei dati. Facilita inoltre la gestione di pipeline e modelli di machine learning per i team.
Infine, DVC aiuterà a migliorare la coerenza dei modelli del tuo team e la loro ripetibilità. Invece di usare complicati suffissi di file e commenti nel codice, approfittane rami Git per provare nuove idee. Per viaggiare, utilizza il monitoraggio metrico automatizzato invece di carta e matita.
Per trasmettere bundle coerenti di machine learning modelli, dati e codice in produzione, computer lontani o il desktop di un collega, puoi utilizzare comandi push/pull invece di script ad hoc.
Vantaggi
- È leggero, open source e funziona con tutte le principali piattaforme cloud e tipi di archiviazione.
- Flessibile, indipendente da formato e framework e semplice da implementare.
- L'intera evoluzione di ogni modello ML può essere fatta risalire al codice sorgente e ai dati.
Svantaggi
- La gestione della pipeline e il controllo della versione DVC sono indissolubilmente legati. Ci sarà ridondanza se il tuo team sta già utilizzando un altro prodotto della pipeline di dati.
- Poiché DVC è leggero, il tuo team potrebbe dover progettare manualmente funzionalità aggiuntive per renderlo più intuitivo.
Prezzi
È gratuito per tutti.
4. Lago Delta
DeltaLake è un livello di archiviazione open source che aumenta l'affidabilità del data lake. Delta Lake supporta le transazioni ACID e la gestione scalabile dei metadati oltre allo streaming e all'elaborazione batch dei dati.
Funziona con le API Apache Spark e si trova nel tuo data lake esistente. Delta Sharing è il primo protocollo aperto al mondo per la condivisione sicura dei dati nelle aziende, semplificando lo scambio di dati con altre aziende indipendentemente dai loro sistemi informatici.
I Delta Lakes sono in grado di gestire con facilità petabyte di dati. I metadati vengono archiviati allo stesso modo dei dati e gli utenti possono ottenerli utilizzando il metodo Descrivi dettagli. Delta Lakes ha un'unica architettura in grado di leggere sia i dati di flusso che quelli batch.
Gli upsert sono semplici da fare usando Delta. Questi upsert o unioni nella tabella Delta sono paragonabili a SQL Merges. Puoi usarlo per integrare i dati da un altro frame di dati nella tabella ed eseguire aggiornamenti, inserimenti ed eliminazioni.
Vantaggi
- Molte funzionalità, come le transazioni ACID e una solida gestione dei metadati, possono essere disponibili nella tua attuale soluzione di archiviazione dei dati.
- Delta Lake può ora gestire facilmente tabelle con miliardi di partizioni e file su una scala di petabyte.
- Riduce la necessità del controllo manuale della versione dei dati e di altri problemi relativi ai dati, consentendo agli sviluppatori di concentrarsi sullo sviluppo di prodotti oltre ai loro data lake.
Svantaggi
- Poiché è stato progettato per funzionare con Spark e dati enormi, Delta Lake è generalmente sovraccaricato per la maggior parte delle attività.
- Richiede l'uso di un formato dati dedicato, che ne limita la flessibilità e lo rende incompatibile con i tuoi moduli attuali.
Prezzi
È gratuito per tutti.
5. ottuso
Dolt è un database SQL che esegue il fork, la clonazione, il branching, l'unione, il push e il pull allo stesso modo di un repository git. Per migliorare l'esperienza utente di un database di controllo della versione, Dolt consente ai dati e alla struttura di cambiare in sincronia.
È uno strumento eccellente per collaborare con te e i tuoi colleghi. Puoi connetterti a Dolt nello stesso modo in cui faresti con qualsiasi altro database MySQL ed eseguire query o apportare modifiche ai dati utilizzando i comandi SQL.
Quando si tratta di controllo delle versioni dei dati, Dolt è unico nel suo genere. Dolt è un database, al contrario di alcune delle altre soluzioni che si limitano a eseguire la versione dei dati. Sebbene il software sia attualmente nelle sue fasi iniziali, ci sono speranze di renderlo completamente compatibile con Git e MySQL nel prossimo futuro.
Tutti i comandi che hai familiarità con l'utilizzo di Git funzioneranno anche con Dolt. File delle versioni Git, tabelle delle versioni Dolt Utilizzando l'interfaccia della riga di comando, importa i file CSV, salva le modifiche, pubblicale su un telecomando e unisci le modifiche del tuo compagno di squadra.
Vantaggi
- Leggero e open source in parte.
- Rispetto a scelte più oscure, ha un'interfaccia SQL, che la rende più accessibile agli analisti di dati.
Svantaggi
- Rispetto ad altre alternative di versionamento del database, Dolt è ancora un prodotto in via di sviluppo.
- Poiché Dolt è un database, devi trasferirci i tuoi dati per ottenere i vantaggi.
Prezzi
Tutti sono invitati a utilizzare la sessione della community. La piattaforma non fornisce prezzi premium; invece, devi contattare il provider.
6. Pachiderma
Pachiderma è un sistema di controllo della versione di data science gratuito con molte funzionalità. Pachyderm Enterprise è una potente piattaforma di data science progettata per la collaborazione su larga scala in ambienti altamente sicuri.
Pachiderma è una delle poche piattaforme di scienza dei dati dell'elenco. L'obiettivo di Pachiderma è fornire una piattaforma che gestisca l'intero ciclo dei dati e semplifichi la duplicazione dei risultati dei modelli di apprendimento automatico. Pachiderma è noto come "il Docker dei dati" in questo contesto. Pachiderma impacchetta il tuo ambiente di esecuzione utilizzando i contenitori Docker. Ciò semplifica la duplicazione degli stessi risultati.
I data scientist e i team DevOps possono distribuire modelli in tutta sicurezza grazie alla combinazione di dati con versione con Docker. Grazie a un efficiente sistema di archiviazione, è possibile mantenere petabyte di dati strutturati e non strutturati riducendo al minimo i costi di archiviazione.
Durante le fasi della pipeline, il controllo delle versioni basato su file fornisce un record di controllo completo per tutti i dati e gli artefatti, inclusi gli output intermedi. Molte delle capacità dello strumento sono guidate da questi pilastri, che aiutano i team a trarne il massimo.
Vantaggi
- Basati su container, i tuoi ambienti dati saranno portatili e facili da trasferire tra provider cloud.
- Robusto, con la capacità di scalare da sistemi piccoli a sistemi estremamente grandi.
Svantaggi
- Poiché ci sono così tanti elementi in movimento, come il server Kubernetes necessario per gestire l'edizione gratuita di Pachyderm, c'è una curva di apprendimento più ripida.
- Il pachiderma potrebbe essere difficile da incorporare nell'infrastruttura esistente di un'azienda a causa dei suoi numerosi componenti tecnologici.
Prezzi
Puoi iniziare a utilizzare la piattaforma con la sessione della community e per l'edizione enterprise, devi contattare il fornitore.
7. Nettuno
I metadati per la creazione di modelli sono gestiti dall'archivio dei metadati ML, che è un aspetto importante dello stack MLOps. Per ogni flusso di lavoro MLOps, Neptune funge da archiviazione centralizzata dei metadati.
Puoi tenere traccia, visualizzare e confrontare migliaia di modelli di machine learning in un unico posto. Include funzionalità come il monitoraggio degli esperimenti, il registro dei modelli e il monitoraggio dei modelli, nonché un'interfaccia collaborativa. Include oltre 25 diversi strumenti e librerie integrate, inclusi diversi strumenti di addestramento del modello e di ottimizzazione degli iperparametri.
Puoi iscriverti a Neptune senza utilizzare la tua carta di credito. Al suo posto sarà sufficiente un account Gmail.
Vantaggi
- L'integrazione con qualsiasi pipeline, flusso, codebase o framework è semplice.
- Le visualizzazioni in tempo reale, l'API semplice e il supporto rapido
- Con Neptune, puoi eseguire un "backup" di tutti i dati dei tuoi esperimenti in un'unica posizione, che puoi recuperare in seguito.
Svantaggi
- Sebbene non del tutto open source, una versione individuale sarebbe presumibilmente sufficiente per uso privato, sebbene tale accesso sia limitato a un mese.
- Ci sono alcuni piccoli difetti di progettazione da trovare.
Prezzi
Puoi iniziare a utilizzare la piattaforma con il piano Individuale che è gratuito per tutti. La sezione dei prezzi parte da $ 150 al mese.
Conclusione
In questo post, abbiamo discusso dei migliori strumenti di controllo delle versioni dei dati. Ogni strumento, come abbiamo visto, ha il proprio insieme di funzionalità. Alcuni erano gratuiti, mentre altri richiedevano il pagamento. Alcuni sono adatti al modello di piccola impresa, mentre altri sono più adatti al modello di grande impresa.
Di conseguenza, è necessario selezionare il software migliore per i propri scopi dopo aver valutato i vantaggi e gli svantaggi. Ti invitiamo a provare la versione di prova gratuita prima di acquistare un prodotto premium.
Lascia un Commento