Inhaltsverzeichnis[Ausblenden][Zeigen]
Daten Analysten und Fachleute für maschinelles Lernen befassen sich in einem typischen Data-Science-Projekt mit einer beträchtlichen Anzahl von Daten verschiedener Art. Es wurden zahlreiche Modelle mit verschiedenen Konfigurationen und Funktionen sowie mehreren Iterationen der Parameterabstimmung entwickelt, um die optimale Leistung zu erzielen.
In einem solchen Szenario müssen alle Datenänderungen und Anpassungen des Modellerstellungsprozesses überwacht und gemessen werden, um festzustellen, was funktioniert hat und was nicht. Es ist auch wichtig, zu einer früheren Ausgabe zurückkehren zu können und sich frühere Ergebnisse anzusehen.
Die Datenversionskontrolle (DVC), die bei der Verwaltung der Daten, des zugrunde liegenden Modells und der Ausführung reproduzierbarer Ergebnisse hilft, ist eine solche Technologie, mit der wir all dies überwachen können.
In diesem Beitrag werden wir uns die Datenversionskontrolle und die besten zu verwendenden Tools genau ansehen. Lass uns anfangen.
Was ist Datenversionskontrolle?
Die Versionierung ist für alle Produktionssysteme erforderlich. Ein einziger Zugriffspunkt auf die aktuellsten Daten. Jede Ressource, die häufig geändert wird, insbesondere von mehreren Benutzern gleichzeitig, erfordert die Erstellung eines Audit-Trails, um alle Änderungen nachzuverfolgen.
Das Versionskontrollsystem ist dafür verantwortlich, dass alle im Team auf dem gleichen Stand sind. Es garantiert, dass jeder im Team an der neuesten Version der Datei arbeitet und, was noch wichtiger ist, dass alle gleichzeitig am selben Projekt zusammenarbeiten.
Wenn Sie die richtige Ausrüstung haben, können Sie dies mit minimalem Aufwand erreichen!
Sie verfügen über konsistente Datensätze und ein gründliches Archiv all Ihrer Recherchen, wenn Sie eine zuverlässige Datenversionsverwaltungsstrategie verwenden. Tools zur Datenversionierung sind für Ihren Workflow von entscheidender Bedeutung, wenn Sie sich um Reproduzierbarkeit, Rückverfolgbarkeit und den ML-Modellverlauf kümmern.
Sie helfen Ihnen dabei, eine Version eines Elements zu erwerben, z. B. einen Hash eines Datensatzes oder Modells, die Sie dann zum Identifizieren und Vergleichen verwenden können. Diese Datenversion wird häufig in Ihre Metadatenverwaltungslösung eingegeben, um sicherzustellen, dass Ihr Modelltraining versioniert und wiederholbar ist.
Beste Tools zur Datenversionskontrolle
Jetzt ist es an der Zeit, sich die besten verfügbaren Datenversionskontrolllösungen anzusehen, mit denen Sie jeden Teil Ihres Codes verfolgen können.
1. git-lfs
Das Git LFS-Projekt kann kostenlos verwendet werden. Innerhalb von Git werden große Dateien wie Audiobeispiele, Videos, Datenbanken und Fotos durch Textzeiger ersetzt, und die Dateiinhalte werden auf einem Remote-Server wie GitHub.com oder GitHub Enterprise gespeichert.
Es ermöglicht Ihnen, Git zu verwenden, um riesige Dateien mit einer Größe von bis zu mehreren GB zu versionieren, mehr in Ihren Git-Repositories zu hosten, indem Sie externen Speicher verwenden, und große Datei-Repositories schneller zu klonen und abzurufen. Wenn es um die Datenverwaltung geht, ist dies eine ziemlich leichte Lösung. Um mit Git zu arbeiten, benötigen Sie keine zusätzlichen Befehle, Speichersysteme oder Toolkits.
Es begrenzt die Menge der heruntergeladenen Informationen. Dies impliziert, dass das Klonen und Abrufen großer Dateien aus Repositories schneller ist. Die Zeiger sind aus einem leichteren Material und zeigen auf die LFS.
Wenn Sie Ihr Repo daher in das Haupt-Repository verschieben, wird es schnell aktualisiert und nimmt weniger Platz ein.
Vorteile
- Einfache Integration in die Entwicklungsworkflows der meisten Unternehmen.
- Es besteht keine Notwendigkeit, zusätzliche Rechte zu handhaben, da es dieselben Berechtigungen wie das Git-Repository verwendet.
Nachteile
- Git LFS erfordert die Verwendung dedizierter Server zum Speichern Ihrer Daten. Infolgedessen werden Ihre Data-Science-Teams gebunden und Ihre technische Arbeitsbelastung steigt.
- Sehr spezialisiert und kann die Verwendung einer Vielzahl unterschiedlicher Tools für nachfolgende Phasen im Data-Science-Workflow erfordern.
AnzeigenPreise
Die Nutzung ist für alle kostenlos.
2. LakeFS
LakeFS ist eine Open-Source-Datenversionierungslösung, die Daten in S3 oder GCS speichert und über ein Git-ähnliches Branching- und Commitment-Paradigma verfügt, das auf Petabyte skaliert.
Diese Verzweigungsstrategie macht Ihren Data Lake ACID-konform, indem Änderungen in unterschiedlichen Zweigen vorgenommen werden können, die atomar und sofort erstellt, zusammengeführt und rückgängig gemacht werden können.
LakeFS ermöglicht es Teams, Data Lake-Aktivitäten zu erstellen, die wiederholbar, atomar und versioniert sind. Es ist ein Neuling in der Szene, aber es ist eine Kraft, mit der man rechnen muss.
Es verwendet einen Git-ähnlichen Verzweigungs- und Versionskontrollansatz, um mit Ihrer zu interagieren Daten See, skalierbar bis zu Petabyte an Daten. Auf einer Exabyte-Skala können Sie die Versionskontrolle überprüfen.
Vorteile
- Zu den Git-ähnlichen Operationen gehören Verzweigen, Festschreiben, Zusammenführen und Zurücksetzen.
- Pre-Commit/Merge-Hooks werden für Daten-CI/CD-Prüfungen verwendet.
- Bietet komplexe Funktionen wie ACID-Transaktionen für einfachen Cloud-Speicher wie S3 und GCS und bleibt dabei formatneutral.
- Machen Sie Änderungen an Daten in Echtzeit rückgängig.
- Lässt sich leicht skalieren, sodass sehr große Data Lakes aufgenommen werden können. Die Versionskontrolle kann sowohl für Entwicklungs- als auch für Produktionseinstellungen bereitgestellt werden.
Nachteile
- LakeFS ist ein neues Produkt, daher können sich Funktionalität und Dokumentation schneller ändern als bei früheren Lösungen.
- Da der Schwerpunkt auf der Datenversionierung liegt, müssen Sie eine Vielzahl zusätzlicher Tools für verschiedene Teile des Data-Science-Workflows verwenden.
AnzeigenPreise
Die Nutzung ist für alle kostenlos.
3. DVC
Data Version Control ist eine kostenlose Datenversionsverwaltungslösung, die für Data-Science- und Machine-Learning-Anwendungen entwickelt wurde. Es ist ein Programm, mit dem Sie Ihre Pipeline in jeder Sprache definieren können.
Durch die Verwaltung großer Dateien, Datensätze, Modelle für maschinelles Lernen, Code usw. macht das Tool Modelle für maschinelles Lernen gemeinsam nutzbar und reproduzierbar. Das Programm folgt dem Beispiel von Git und bietet eine einfache Befehlszeile, die in nur wenigen Schritten eingerichtet werden kann.
Wie der Name schon sagt, geht es bei DVC nicht nur um Datenversionierung. Es erleichtert auch die Verwaltung von Pipelines und maschinellen Lernmodellen für Teams.
Schließlich hilft DVC dabei, die Konsistenz der Modelle Ihres Teams und ihre Wiederholbarkeit zu verbessern. Anstatt komplizierte Dateiendungen und Kommentare im Code zu verwenden, nutzen Sie Git-Zweige neue Ideen auszuprobieren. Verwenden Sie zum Reisen automatisiertes Metrik-Tracking anstelle von Papier und Stift.
Um konsistente Bündel von zu übertragen Maschinelles Lernen Modelle, Daten und Code in die Produktion, auf entfernte Computer oder den Desktop eines Kollegen übertragen, können Sie Push/Pull-Befehle anstelle von Ad-hoc-Skripten verwenden.
Vorteile
- Es ist leicht, Open Source und funktioniert mit allen wichtigen Cloud-Plattformen und Speicherarten.
- Flexibel, unabhängig von Format und Framework und einfach zu implementieren.
- Die gesamte Entwicklung jedes ML-Modells kann bis zu seinem Quellcode und seinen Daten zurückverfolgt werden.
Nachteile
- Pipeline-Management und DVC-Versionskontrolle sind untrennbar miteinander verbunden. Es kommt zu Redundanzen, wenn Ihr Team bereits ein anderes Datenpipeline-Produkt verwendet.
- Da DVC leichtgewichtig ist, muss Ihr Team möglicherweise zusätzliche Funktionen manuell entwerfen, um es benutzerfreundlicher zu machen.
AnzeigenPreise
Die Nutzung ist für alle kostenlos.
4. DeltaLake
DeltaLake ist eine Open-Source-Speicherschicht, die die Zuverlässigkeit von Data Lakes erhöht. Delta Lake unterstützt ACID-Transaktionen und skalierbares Metadatenmanagement zusätzlich zu Streaming und Batch-Datenverarbeitung.
Es funktioniert mit Apache Spark-APIs und sitzt auf Ihrem bestehenden Data Lake. Delta Sharing ist das weltweit erste offene Protokoll für den sicheren Datenaustausch in Unternehmen, das den Datenaustausch mit anderen Unternehmen unabhängig von deren Computersystemen vereinfacht.
Delta Lakes können problemlos Petabytes an Daten verarbeiten. Metadaten werden auf die gleiche Weise wie Daten gespeichert, und Benutzer können sie mit der Methode „Describe Detail“ abrufen. Delta Lakes verfügt über eine einzige Architektur, die sowohl Stream- als auch Batch-Daten lesen kann.
Upserts sind mit Delta einfach durchzuführen. Diese Upserts oder Merges in die Delta-Tabelle sind vergleichbar mit SQL Merges. Sie können damit Daten aus einem anderen Datenrahmen in Ihre Tabelle integrieren und Aktualisierungen, Einfügungen und Löschungen durchführen.
Vorteile
- Viele Funktionen wie ACID-Transaktionen und robuste Metadatenverwaltung können in Ihrer aktuellen Datenspeicherlösung verfügbar sein.
- Delta Lake kann jetzt mühelos Tabellen mit Milliarden von Partitionen und Dateien im Petabyte-Bereich verwalten.
- Reduziert den Bedarf an manueller Datenversionskontrolle und anderen Datenproblemen, sodass sich Entwickler auf die Entwicklung von Produkten auf Basis ihrer Data Lakes konzentrieren können.
Nachteile
- Da es für die Arbeit mit Spark und riesigen Datenmengen entwickelt wurde, ist Delta Lake für die meisten Aufgaben im Allgemeinen überfordert.
- Es erfordert die Verwendung eines speziellen Datenformats, was seine Flexibilität einschränkt und es mit Ihren vorhandenen Formularen inkompatibel macht.
AnzeigenPreise
Die Nutzung ist für alle kostenlos.
5. Dolt
Dolt ist eine SQL-Datenbank, die Forken, Klonen, Verzweigen, Zusammenführen, Pushen und Pullen auf die gleiche Weise wie ein Git-Repository durchführt. Um das Benutzererlebnis einer Versionskontrolldatenbank zu verbessern, ermöglicht Dolt die synchrone Änderung von Daten und Strukturen.
Es ist ein hervorragendes Werkzeug für Sie und Ihre Kollegen, um zusammenzuarbeiten. Sie können sich mit Dolt auf die gleiche Weise wie mit jeder anderen MySQL-Datenbank verbinden und Abfragen ausführen oder mithilfe von SQL-Befehlen Änderungen an den Daten vornehmen.
Wenn es um Datenversionierung geht, ist Dolt einzigartig. Dolt ist eine Datenbank, im Gegensatz zu einigen anderen Lösungen, die nur Daten versionieren. Während sich die Software derzeit noch in einem frühen Stadium befindet, gibt es Hoffnungen, sie in naher Zukunft vollständig kompatibel mit Git und MySQL zu machen.
Alle Befehle, die Sie mit der Verwendung von Git vertraut sind, funktionieren auch mit Dolt. Git-Versionsdateien, Dolt-Versionstabellen Importieren Sie CSV-Dateien über die Befehlszeilenschnittstelle, übertragen Sie Ihre Änderungen, veröffentlichen Sie sie auf einem Remote und führen Sie die Änderungen Ihres Teamkollegen zusammen.
Vorteile
- Leicht und Open-Source- teils.
- Im Vergleich zu obskureren Optionen verfügt es über eine SQL-Schnittstelle, wodurch es für Datenanalysten besser zugänglich ist.
Nachteile
- Im Vergleich zu anderen Alternativen zur Datenbankversionierung befindet sich Dolt noch in der Entwicklung.
- Da Dolt eine Datenbank ist, müssen Sie Ihre Daten dorthin übertragen, um die Vorteile nutzen zu können.
AnzeigenPreise
Jeder ist herzlich eingeladen, die Community-Session zu nutzen. Die Plattform bietet keine Premium-Preise; Stattdessen müssen Sie sich an den Anbieter wenden.
6. Dickhäuter
Pachyderm ist ein kostenloses datenwissenschaftliches Versionskontrollsystem mit vielen Funktionen. Pachyderm Enterprise ist eine leistungsstarke Data-Science-Plattform, die für die groß angelegte Zusammenarbeit in hochsicheren Umgebungen entwickelt wurde.
Pachyderm ist eine der wenigen Data-Science-Plattformen auf der Liste. Das Ziel von Pachyderm ist es, eine Plattform bereitzustellen, die den gesamten Datenzyklus verwaltet und es einfach macht, die Erkenntnisse von maschinellen Lernmodellen zu duplizieren. Pachyderm ist in diesem Zusammenhang als „der Docker der Daten“ bekannt. Pachyderm verpackt Ihre Ausführungsumgebung mithilfe von Docker-Containern. Dies macht es einfach, die gleichen Ergebnisse zu duplizieren.
Data Scientists und DevOps-Teams können Modelle dank der Kombination von versionierten Daten mit Docker vertrauensvoll bereitstellen. Dank eines effizienten Speichersystems können Petabyte an strukturierten und unstrukturierten Daten verwaltet werden, während die Speicherkosten auf einem Minimum gehalten werden.
Während der gesamten Pipeline-Phasen bietet die dateibasierte Versionierung eine gründliche Prüfaufzeichnung für alle Daten und Artefakte, einschließlich Zwischenausgaben. Viele der Funktionen des Tools werden von diesen Säulen angetrieben, die den Teams helfen, das Beste daraus zu machen.
Vorteile
- Basierend auf Containern werden Ihre Datenumgebungen portabel und einfach zwischen Cloud-Anbietern zu übertragen.
- Robust, mit der Fähigkeit, von kleinen bis zu extrem großen Systemen zu skalieren.
Nachteile
- Da es so viele bewegliche Elemente gibt, wie z. B. den Kubernetes-Server, der für die Verwaltung der kostenlosen Edition von Pachyderm erforderlich ist, gibt es eine steilere Lernkurve.
- Aufgrund seiner vielen technologischen Komponenten kann es schwierig sein, Dickhäuter in die bestehende Infrastruktur eines Unternehmens zu integrieren.
AnzeigenPreise
Sie können die Plattform mit der Community-Sitzung verwenden und für die Enterprise-Edition müssen Sie sich an den Anbieter wenden.
7. Neptun
Metadaten zur Modellerstellung werden vom ML-Metadatenspeicher verwaltet, der ein wichtiger Aspekt des MLOps-Stacks ist. Für jeden MLOps-Workflow dient Neptune als zentraler Metadatenspeicher.
Sie können Tausende von Modellen für maschinelles Lernen an einem Ort verfolgen, visualisieren und vergleichen. Es umfasst Funktionen wie Experiment-Tracking, Modellregistrierung und Modellüberwachung sowie eine kollaborative Schnittstelle. Es enthält über 25 verschiedene integrierte Tools und Bibliotheken, darunter mehrere Modelltrainings- und Hyperparameter-Tuning-Tools.
Sie können sich für Neptune anmelden, ohne Ihre Kreditkarte zu verwenden. An seiner Stelle reicht ein Gmail-Konto.
Vorteile
- Die Integration in jede Pipeline, jeden Flow, jede Codebasis oder jedes Framework ist einfach.
- Die Echtzeit-Visualisierungen, die einfache API und der schnelle Support
- Mit Neptune können Sie eine „Sicherung“ aller Daten Ihrer Experimente an einem Ort erstellen, die Sie später wiederherstellen können.
Nachteile
- Obwohl nicht ganz Open Source, würde vermutlich eine Einzelversion für den privaten Gebrauch ausreichen, allerdings ist dieser Zugriff auf einen Monat begrenzt.
- Ein paar kleine Konstruktionsfehler sind zu finden.
AnzeigenPreise
Sie können die Plattform mit dem Einzelplan nutzen, der für alle kostenlos ist. Der Preisbereich beginnt bei 150 $/Monat.
Zusammenfassung
In diesem Beitrag haben wir die besten Tools zur Datenversionierung besprochen. Wie wir gesehen haben, hat jedes Tool seine eigenen Funktionen. Einige waren kostenlos, während andere kostenpflichtig waren. Einige eignen sich gut für das kleine Geschäftsmodell, während andere besser für das große Geschäftsmodell geeignet sind.
Folglich müssen Sie nach Abwägen der Vor- und Nachteile die beste Software für Ihre Zwecke auswählen. Wir empfehlen Ihnen, die kostenlose Testversion zu testen, bevor Sie ein Premium-Produkt kaufen.
Hinterlassen Sie uns einen Kommentar