Wie unterstützt Databricks CI/CD für maschinelles Lernen?

CI/CD (kontinuierliche Integration und kontinuierliche Bereitstellung) bezieht sich auf einen automatisierten Prozess zum Entwickeln, Bereitstellen, Überwachen und Verwalten Ihrer Anwendungen. Durch die Automatisierung beim Erstellen, Testen und der Bereitstellen von Code können Entwicklungsteams Releases häufiger und zuverlässiger als die manuellen Prozesse liefern, die in vielen Datentechnik- und Data Science-Teams immer noch weit verbreitet sind. CI/CD für maschinelles Lernen vereint Techniken von MLOps, DataOps, ModelOps und DevOps.

Dieser Artikel beschreibt, wie Databricks CI/CD für Lösungen für maschinelles Lernen unterstützt. In Anwendungen für maschinelles Lernen ist CI/CD nicht nur für Coderessourcen wichtig, sondern wird auch auf Datenpipelines angewendet, einschließlich Eingabedaten und der vom Modell generierten Ergebnisse.

Umfassendes MLOps-Lebenszyklusdiagramm mit CI/CD-Elementen für ML

Elemente des maschinellen Lernens, die CI/CD benötigen

Eine der Herausforderungen der ML-Entwicklung besteht darin, dass verschiedene Teams verschiedene Teile des Prozesses besitzen. Teams können sich auf unterschiedliche Tools verlassen und haben unterschiedliche Zeitpläne für das Release. Azure Databricks bietet eine einzige, einheitliche Daten- und ML-Plattform mit integrierten Tools, um die Effizienz von Teams zu verbessern und die Konsistenz und Wiederholbarkeit von Daten und ML-Pipelines sicherzustellen.

Im Allgemeinen sollten die folgenden Aufgaben für maschinelles Lernen in einem automatisierten CI/CD-Workflow nachverfolgt werden:

  • Schulungsdaten, einschließlich Datenqualität, Schemaänderungen und Verteilungsänderungen.
  • Eingabedatenpipelines.
  • Code für Schulung, Überprüfung und Bereitstellung des Modells.
  • Modellvorhersagen und Leistung.

Integrieren von Databricks in Ihre CI/CD-Prozesse

MLOps, DataOps, ModelOps und DevOps beziehen sich auf die Integration von Entwicklungsprozessen mit „Vorgängen“ - was die Prozesse und Infrastruktur vorhersehbar und zuverlässig macht. In diesem Artikel wird beschrieben, wie Sie Vorgangs-(„Ops“)-Prinzipien in Ihre ML-Workflows auf der Databricks-Plattform integrieren.

Databricks enthält alle Komponenten, die für den ML-Lebenszyklus erforderlich sind, einschließlich Tools zum Erstellen „der Konfiguration als Code“, um die Reproduzierbarkeit zu gewährleisten und „Infrastruktur als Code“, um die Bereitstellung von Clouddiensten zu automatisieren. Es umfasst auch Protokollierungs- und Warndienste, die Ihnen helfen, Probleme zu erkennen und zu beheben, wenn sie auftreten.

DataOps: Zuverlässige und sichere Daten

Gute ML-Modelle sind von zuverlässigen Datenpipelines und Infrastruktur abhängig. Mit der Databricks Data Intelligence Platform befindet sich die gesamte Datenpipeline vom Aufnehmen von Daten bis zur Ausgabe des bereitgestellten Modells auf einer einzigen Plattform und verwendet dasselbe Toolset, das Produktivität, Reproduzierbarkeit, Freigabe und Problembehandlung erleichtert.

DataOps-Diagramm

DataOps-Aufgaben und -Tools in Databricks

In der Tabelle sind allgemeine DataOps-Aufgaben und -Tools in Databricks aufgeführt:

DataOps-Aufgabe Tool in Databricks
Erfassen und Transformieren von Daten Autoloader und Apache Spark
Nachverfolgen von Änderungen an Daten, einschließlich Versionsverwaltung und Datenherkunft Delta-Tabellen
Erstellen, Verwalten und Überwachen von Datenverarbeitungspipelines Delta Live Tables
Sicherstellen der Datensicherheit und Governance Unity Catalog
Explorative Datenanalyse und Dashboards Databricks SQL, Dashboards und Databricks-Notebooks
Allgemeine Codierung Databricks SQL und Databricks-Notebooks
Planen von Datenpipelines Databricks-Workflows
Automatisieren allgemeiner Workflows Databricks-Workflows
Erstellen, Speichern, Verwalten und Entdecken von Features für Modellschulungen Featurespeicher von Databricks
Datenüberwachung Lakehouse Monitoring

ModelOps: Modellentwicklung und Lebenszyklus

Die Entwicklung eines Modells erfordert eine Reihe von Experimenten und eine Möglichkeit, die Bedingungen und Ergebnisse dieser Experimente nachzuverfolgen und zu vergleichen. Die Data Intelligence Platform von Databricks umfasst MLflow für die Modellentwicklungsnachverfolgung und die MLflow-Modellregistrierung, um den Modelllebenszyklus zu verwalten, einschließlich Staging, Bereitstellen und Speichern von Modellartefakten.

Nachdem ein Modell in die Produktion freigegeben wurde, können sich viele Dinge ändern, die sich auf die Leistung auswirken können. Zusätzlich zur Überwachung der Vorhersageleistung des Modells sollten Sie auch Eingabedaten auf Qualitätsänderungen oder statistische Merkmale überwachen, die möglicherweise eine Umschulung des Modells erfordern.

ModelOps-Diagramm

ModelOps-Aufgaben und -Tools in Databricks

In der Tabelle sind allgemeine ModelOps-Aufgaben und -Tools aufgeführt, die von Databricks bereitgestellt werden:

ModelOps-Aufgabe Tool in Databricks
Nachverfolgen der Modellentwicklung MLflow-Modellnachverfolgung
Verwalten des Lebenszyklus von Modellen Modelle in Unity Catalog
Modellcodeversionskontrolle und Freigabe Databricks-Git-Ordner
No-Code-Modellentwicklung Databricks AutoML
Modellüberwachung Lakehouse Monitoring

DevOps: Produktion und Automatisierung

Die Databricks-Plattform unterstützt ML-Modelle in der Produktion mit folgendem:

  • End-to-End-Daten und Modellherkunft: Von den Modellen in der Produktion zurück zur Rohdatenquelle, auf derselben Plattform.
  • Modellbereitstellung auf Produktionsebene: Automatische Skalierung nach oben oder unten, je nach Ihren geschäftlichen Anforderungen.
  • Multitasking-Workflows: Automatisiert Aufträge und erstellt geplante Workflows für maschinelles Lernen.
  • Git-Ordner: Die Codeversionsverwaltung und Freigabe über den Arbeitsbereich hilft Teams dabei, die Best Practices für die Softwareentwicklung einzuhalten.
  • Databricks Terraform-Anbieter: Automatisiert die Bereitstellungsinfrastruktur in verschiedenen Clouds für ML-Inferenzaufträge, Serving-Endpunkte und Featurisierungsaufträge.

Modellbereitstellung

Für die Bereitstellung von Modellen in der Produktion vereinfacht MLflow den Prozess erheblich und stellt die Bereitstellung mit einem Klick als Batchauftrag für große Datenmengen oder als REST-Endpunkt in einem autoskalierenden Cluster bereit. Die Integration des Databricks Feature Store mit MLflow sorgt auch für Konsistenz der Features für Schulungen und Dienste. Darüber hinaus können MLflow-Modelle automatisch Features aus dem Featurespeicher nachschlagen, auch für die Onlinebereitstellung mit geringer Latenz.

Die Databricks-Plattform unterstützt viele Modellimplementierungsoptionen:

  • Code und Container.
  • Batch-Bereitstellung.
  • Online-Bereitstellung mit geringer Latenz.
  • On-Device- oder Edge-Bereitstellung.
  • Multi-Cloud, z. B. Schulung des Modells in einer Cloud und Bereitstellen des Modells mit einer anderen.

Weitere Informationen finden Sie unter Databricks Modell-Bereitstellung.

Multitask-Workflows

Mit Databricks-Workflows können Sie jede Art von Workload, von ETL bis zu ML, automatisieren und planen. Databricks unterstützt auch Integrationen mit beliebten Drittanbieter-Orchestratoren wie Airflow.

Git-Ordner

Die Databricks-Plattform bietet Git-Unterstützung im Arbeitsbereich, um Teams dabei zu helfen, die Best Practices für die Softwareentwicklung einzuhalten, indem Git-Vorgänge über die Benutzeroberfläche ausgeführt werden. Administratoren und DevOps-Techniker können APIs verwenden, um die Automatisierung mit ihren bevorzugten CI/CD-Tools einzurichten. Databricks unterstützt jede Art von Git-Bereitstellung, einschließlich privater Netzwerke.

Weitere Informationen zu den Best Practices für die Codeentwicklung mithilfe von Databricks-Git-Ordnern finden Sie unter CI/CD-Techniken mit Git- und Databricks-Repositorys und Was ist CI/CD in Azure Databricks?. Diese Techniken ermöglichen zusammen mit der Databricks-REST-API die Erstellung automatisierter Bereitstellungsprozesse mit GitHub Actions, Azure DevOps-Pipelines oder Jenkins-Aufträgen.

Unity-Katalog für Governance und Sicherheit

Die Databricks-Plattform schließt den Unity-Katalog ein, mit dem Administratoren fein abgestimmte Zugriffssteuerung, Sicherheitsrichtlinien und Governance für alle Daten und KI-Ressourcen in Databricks einrichten können.