KI und Machine Learning in Databricks

In diesem Artikel werden die Tools beschrieben, die Azure Databricks bereitstellt, um Sie beim Erstellen und Überwachen von KI- und ML-Workflows zu unterstützen. Das Diagramm zeigt, wie diese Komponenten zusammenarbeiten, um Sie bei der Implementierung Ihres Modellentwicklungs- und Modellbereitstellungsprozesses zu unterstützen.

Machine Learning-Diagramm: Modellentwicklung und -implementierung in Databricks

Was spricht für die Verwendung von Databricks für Machine Learning und Deep Learning?

Mit Databricks kann eine einzige Plattform für jeden Schritt des Modellentwicklungs- und Bereitstellungsprozesses verwendet werden – von Rohdaten bis hin zu Rückschlusstabellen, die alle Anforderungen und Antworten für ein bereitgestelltes Modell speichern. Data Scientists, Data Engineers, ML Engineers und DevOps können ihre Aufgaben mit den gleichen Tools und einer Single Source of Truth für die Daten erledigen.

Durch die Data Intelligence-Plattform sind die ML-Plattform und der Datenstapel ein System. Die ML-Plattform basiert auf der Datenebene. Alle Datenressourcen und Artefakte, z. B. Modelle und Funktionen, sind in einem einzigen Katalog auffindbar und kontrolliert. Das Verwenden einer einzigen Plattform für Daten und Modelle ermöglicht es, die Herkunft von den Rohdaten bis zum Produktionsmodell nachzuverfolgen. Die integrierte Daten- und Modellüberwachung speichert Qualitätsmetriken in Tabellen, die auch auf der Plattform gespeichert sind, wodurch die Grundursache von Problemen mit der Modellleistung leichter identifiziert werden kann. Weitere Informationen dazu, wie Databricks den vollständigen ML-Lebenszyklus und MLOps unterstützt, finden Sie unter MLOps-Workflows in Azure Databricks und MLOps Stacks: Modellentwicklungsprozess als Code.

Einige der wichtigsten Komponenten der Data Intelligence-Plattform sind die folgenden:

Aufgaben Komponente
Verwalten von Daten, Features, Modellen und Funktionen. Auch Ermittlung, Versionsverwaltung und Datenherkunft Unity Catalog
Nachverfolgen von Änderungen an Daten, Datenqualität und Modellvorhersagequalität Lakehouse Monitoring, Rückschlusstabellen
Featureentwicklung und -verwaltung Feature Engineering
Trainieren von Modellen Databricks AutoML, Databricks-Notebooks
Nachverfolgen der Modellentwicklung MLflow-Nachverfolgung
Bereitstellen von benutzerdefinierten Modellen Mosaic AI Model Serving
Bereitstellen von LLMs Foundation Model-APIs, externe Modelle
Erstellen automatisierter Workflows und produktionsbereiter ETL-Pipelines Databricks-Aufträge
Git-Integration Databricks-Git-Ordner

Deep Learning in Databricks

Das Konfigurieren der Infrastruktur für Deep Learning-Anwendungen kann schwierig sein.

Databricks Runtime für Machine Learning kümmert sich darum, mit Clustern, die integrierte kompatible Versionen der gängigsten Deep Learning-Bibliotheken wie TensorFlow, PyTorch und Keras aufweisen. Databricks Runtime ML-Cluster umfassen auch die vorab konfigurierte GPU-Unterstützung mit Treibern und unterstützenden Bibliotheken. Es unterstützt auch Bibliotheken wie Ray zum Parallelisieren der Computeverarbeitung für die Skalierung von ML-Workflows und KI-Anwendungen.

Databricks Runtime ML-Cluster umfassen auch die vorab konfigurierte GPU-Unterstützung mit Treibern und unterstützenden Bibliotheken. Mosaic AI Model Serving ermöglicht die Erstellung skalierbarer GPU-Endpunkte für Deep Learning-Modelle ohne zusätzliche Konfiguration.

Für Machine Learning-Anwendungen wird die Verwendung eines Clusters empfohlen, in dem Databricks Runtime für Machine Learning ausgeführt wird. Siehe Erstellen eines Clusters mithilfe von Databricks Runtime ML.

Informationen zu den ersten Schritten mit Deep Learning in Databricks finden Sie unter:

Große Sprachmodelle (Large language Models, LLMs) und generative KI in Databricks

Databricks Runtime für Machine Learning enthält Bibliotheken wie Hugging Face Transformers und LangChain, die es Ihnen ermöglichen, vorhandene vorab trainierte Modelle oder andere Open-Source-Bibliotheken in Ihre Workflows zu integrieren. Die Databricks MLflow-Integration erleichtert die Verwendung des MLflow-Nachverfolgungsdiensts mit Transformatorpipelines, Modellen und Verarbeitungskomponenten. Darüber hinaus können Sie OpenAI-Modelle oder Lösungen von Partner*innen wie John Snow Labs in Ihre Azure Databricks-Workflows integrieren.

Mit Azure Databricks können Sie eine LLM für Ihre Daten für Ihre spezifische Aufgabe anpassen. Mit Unterstützung von Open-Source-Tools wie Hugging Face und DeepSpeed können Sie effizient ein grundlegendes LLM verwenden und es mit Ihren eigenen Daten trainieren, um seine Genauigkeit für Ihre Domäne und Workload zu verbessern. Anschließend können Sie das benutzerdefinierte LLM in Ihren generativen KI-Anwendungen nutzen.

Darüber hinaus stellt Databricks Foundation Model-APIs und externe Modelle zur Verfügung, die den Zugriff auf moderne offene Modelle und deren Abfrage über einen Dienstendpunkt ermöglichen. Mit Foundation Model-APIs können Entwickler schnell und einfach Anwendungen erstellen, die ein qualitativ hochwertiges generatives KI-Modell nutzen, ohne ihre eigene Modellimplementierung aufrechtzuerhalten.

Für SQL-Anwender bietet Databricks KI-Funktionen, mit denen SQL-Datenanalysten direkt innerhalb ihrer Datenpipelines und Workflows auf LLM-Modelle, auch von OpenAI, zugreifen können. Weitere Informationen finden Sie unter KI-Funktionen in Azure Databricks.

Databricks Runtime für Machine Learning

Databricks Runtime für Machine Learning (Databricks Runtime ML) automatisiert die Erstellung eines Clusters mit vordefiniertem maschinellem Lernen und Deep Learning-Infrastruktur, einschließlich der häufigsten ML- und DL-Bibliotheken. In den Versionshinweisen finden Sie eine vollständige Liste der Bibliotheken in jeder Version von Databricks Runtime ML.

Um in Unity Catalog auf Daten für Workflows zum maschinellen Lernen zuzugreifen, muss der Zugriffsmodus für den Cluster auf Einzelbenutzer (zugewiesen) eingestellt sein. Geteite Cluster sind nicht mit Databricks Runtime für Machine Learning kompatibel. Darüber hinaus wird Databricks Runtime ML nicht für TableACLs-Cluster oder Cluster unterstützt, für die spark.databricks.pyspark.enableProcessIsolation config auf true festgelegt ist.

Erstellen eines Clusters mithilfe von Databricks Runtime ML

Wenn Sie einen Cluster erstellen, wählen Sie im Dropdownmenü für die Databricks Runtime-Version eine Version von Databricks Runtime ML aus. Es sind CPU- und GPU-fähige ML-Runtimes verfügbar.

Auswählen der Databricks Runtime für Machine Learning

Wenn Sie im Notebook im Dropdownmenü einen Cluster auswählen, wird die Databricks Runtime-Version rechts neben dem Clusternamen angezeigt:

Anzeigen der Databricks Runtime ML-Version

Wenn Sie eine GPU-fähige ML-Runtime auswählen, werden Sie aufgefordert, einen kompatiblen Treibertyp und Workertyp auszuwählen. Inkompatible Instanztypen sind in den Dropdownlisten ausgegraut. GPU-fähige Instanztypen werden unter der Bezeichnung GPU-beschleunigt aufgeführt.

Hinweis

Um in Unity Catalog auf Daten für Workflows zum maschinellen Lernen zuzugreifen, muss der Zugriffsmodus für den Cluster auf Einzelbenutzer (zugewiesen) eingestellt sein. Geteite Cluster sind nicht mit Databricks Runtime für Machine Learning kompatibel. Einzelheiten zum Erstellen eines Clusters finden Sie unter Computekonfigurationsreferenz.

Photon und Databricks Runtime ML

Wenn Sie einen CPU-Cluster mit Databricks Runtime 15.2 ML oder höher erstellen, haben Sie die Möglichkeit, Photon zu aktivieren. Photon verbessert die Leistung von Anwendungen mit Spark SQL, Spark DataFrames, Feature Engineering, GraphFrames und xgboost4j. Es ist nicht zu erwarten, dass die Leistung von Anwendungen mit Spark-RDDs, pandas-UDFs und nicht-JVM-Sprachen wie Python verbessert wird. Daher profitieren Python-Pakete wie XGBoost, PyTorch und TensorFlow nicht von den Verbesserung durch Photon.

Spark RDD-APIs und Spark MLlib haben eingeschränkte Kompatibilität mit Photon. Bei der Verarbeitung großer Datasets mit Spark RDD oder Spark MLlib können Spark-Speicherprobleme auftreten. Siehe Spark-Speicherprobleme.

In Databricks Runtime ML enthaltene Bibliotheken

Databricks Runtime ML enthält eine Vielzahl von gängigen ML-Bibliotheken. Bei jedem Release werden die Bibliotheken mit neuen Features und Fixes aktualisiert.

Eine Teilmenge der unterstützten Bibliotheken wurde von Databricks als Bibliotheken der obersten Ebene festgelegt. Für diese Bibliotheken bietet Databricks einen schnelleren Aktualisierungsrhythmus, bei dem mit jeder Runtime-Version auf die aktuellen Paketversionen aktualisiert wird (sofern es keine Abhängigkeitskonflikte gibt). Databricks bietet außerdem erweiterte Unterstützung, Tests und eingebettete Optimierungen für Bibliotheken der obersten Ebene.

Eine vollständige Liste der Bibliotheken der obersten Ebene und anderer bereitgestellter Bibliotheken finden Sie in den Versionshinweisen für Databricks Runtime ML.

Nächste Schritte

Informationen zu den ersten Schritten finden Sie unter:

Einen empfohlenen MLOps-Workflow für Databricks Machine Learning finden Sie unter:

Weitere Informationen zu den wichtigsten Features von Databricks Machine Learning finden Sie unter: