Verwenden der Quellcodeverwaltung für Machine Learning-Ressourcen

Abgeschlossen

Das Proseware Diabetes Klassifikationsmodell begann in einem Jupyter-Notizbuch auf einem Laptop. Wenn das Team wächst – Datenwissenschaftler, ML-Ingenieure und Prüfer – bricht dieser Ansatz auf. Sie benötigen einen Ort, an dem jeder aus demselben Code arbeitet, die Änderungen der anderen überprüfen kann und jedes Modell wieder auf den Code zurückverfolgen kann, der sie erstellt hat.

Was gehört in Git

Ein Git-Repository ist das richtige Zuhause für die Ressourcen, die Ihr Modell und seinen Schulungsprozess definieren:

  • Schulungs- und Vorverarbeitungsskripts – die Python Dateien, die Datenvorbereitung und Modellschulung ausführen
  • Auftrags- und Komponentendefinitionen – YAML-Dateien, die Azure Machine Learning Befehlsaufträge und Pipelinekomponenten beschreiben
  • Umgebungs- und Abhängigkeitsdateienrequirements.txt, conda.ymloder Azure Machine Learning Umgebungsdefinitionen
  • Konfigurationsdateien – Arbeitsbereichsnamen, Ressourcengruppennamen, Computenamen und andere Verweise, die Ihre Automatisierung verwendet

Was nicht zu Git gehört

Einige Assets gehören in spezialisierte Dienste, nicht in ein Repository:

  • Datasets und Rohdaten – verwenden sie Azure Machine Learning Datenressourcen oder Azure Data Lake Storage; Datendateien sind groß und werden separat vom Code versioniert.
  • Trainierte Modellartefakte – Registrieren von benannten und versionsierten Modellressourcen in Azure Machine Learning
  • Ausgaben und Protokolle der Trainingsausführung — Azure Machine Learning speichert diese mit dem Auftrag.
  • Geheime Schlüssel und Anmeldeinformationen – verwenden Sie GitHub geheimen Schlüssel oder Azure Key Vault; durch das Einfügen von Anmeldeinformationen in ein Repository werden sie für alle Benutzer mit Lesezugriff verfügbar gemacht.

Tip

Ein nützlicher Test: Wenn die Datei textbasiert ist und definiert , wie das Modell erstellt wird, gehört sie zu Git. Wenn es sich um eine große Binärdatei oder einen vertraulichen Wert handelt, gehört er zu einem zweckorientierten Speicher.

Gründe für die Quellcodeverwaltung für maschinelles Lernen

Wenn sich jede Schulungsdefinition in Git befindet, funktioniert Ihr Team aus derselben Version des Codes. Ein Prüfer sieht genau, was sich zwischen den Durchläufen geändert hat. Wenn eine Änderung die Modellleistung beeinträchtigt, können Sie zum vorherigen Commit zurückkehren. Mit den aufgezeichneten Code- und Umgebungsdefinitionen können Sie auch eine Schulungsausführung reproduzieren.

Diese Rückverfolgbarkeit ist die Grundlage für alles, was folgt – branchbasierte Entwicklung, automatisierte Validierung und ein Audit-Trail, der jede Modellversion mit der Änderung verknüpft, durch die sie entstanden ist.

Tip

Wählen Sie eine Projektressource aus. Würden Sie es in Git, Azure Machine Learning oder einem geheimen Speicher speichern? Erläutern, warum.