Bereitstellen von modellbasierte Batchrückschlüssen und -vorhersagen

In diesem Artikel wird beschrieben, wie Sie MLflow-Modelle offline für (Batch- und Streaming-)Rückschlüsse bereitstellen. Databricks empfiehlt, MLflow zum Bereitstellen von Machine Learning-Modellen für Batch- oder Streaming-Rückschlüsse zu verwenden. Informationen zum Arbeiten mit MLflow-Modellen finden Sie unter Protokollieren, Laden, Registrieren und Bereitstellen von MLflow-Modellen.

Informationen zum Echtzeitmodell, das auf Azure Databricks bereitgestellt wird, finden Sie unter Modellbereitstellung mit Azure Databricks.

Verwenden von MLflow für Modellrückschlüsse

MLflow hilft Ihnen beim Generieren von Code für Batch- oder Streaming-Rückschlüsse.

  • In der MLflow-Modellregistrierung können Sie für einen Batch- oder Streamingrückschluss über Delta Live Tables ein automatisch Notebook generieren.
  • Auf der Seite MLflow ausführen für Ihr Modell können Sie den generierten Codeausschnitt kopieren, um Rückschlüsse auf Pandas oder Apache Spark DataFrames zu ziehen.

Sie können auch den Code anpassen, der durch eine der oben genannten Optionen generiert wird. Weitere Informationen finden Sie in den folgenden Notebooks für Beispiele:

  • Das Modellrückschlussbeispiel verwendet ein Modell, das mit scikit-learn trainiert und zuvor bei MLflow protokolliert wurde, um zu zeigen, wie ein Modell geladen und verwendet wird, um Vorhersagen für Daten in verschiedenen Formaten vorzunehmen. Das Notizbuch veranschaulicht, wie das Modell als Scikit-Lernmodell auf einen Pandas DataFrame angewendet wird und wie das Modell als PySpark-UDF auf einen Spark DataFrame angewendet wird.
  • Das MLflow-Modellregistrierungsbeispiel zeigt, wie Sie ein Modell mit Der Modellregistrierung erstellen, verwalten und bereitstellen. Auf dieser Seite können Sie .predict nach Beispielen für Offline-(Batch)Vorhersagen suchen.

Erstellen eines Azure Databricks-Auftrags

Um Batch- oder Streaming-Vorhersagen als Auftrag auszuführen, erstellen Sie ein Notebook oder JAR, das den Code enthält, der zum Ausführen der Vorhersage verwendet wird. Führen Sie dann das Notebook oder JAR als Azure Databricks-Auftrag aus. Aufträge können entweder sofort oder in einem Zeitplan ausgeführt werden.

Streamingrückschlüsse

In der MLflow-Modellregistrierung können Sie automatisch ein Notebook generieren, das die benutzerdefinierte PySpark-Funktion für Rückschlüsse in MLflow und Delta Live Tables integriert.

Sie können auch das generierte Rückschlussnotebook so ändern, dass die Structured Streaming-API von Apache Spark verwendet wird. Siehe das Beispiel unter Apache Spark MLlib-Pipelines und strukturiertes Streaming: Beispiel.

Rückschluss mit Deep Learning-Modellen

Informationen und Beispiele zum Rückschließen von Deep Learning-Modellen in Azure Databricks finden Sie in den folgenden Artikeln:

Rückschluss mit MLlib- und XGBoost4J-Modellen

Verwenden Sie für einen skalierbaren Modellrückschluss mit MLlib- und XGBoost4J-Modellen die nativen transform-Methoden, um den Rückschluss direkt für Spark-DataFrames durchzuführen. Die Beispielnotebooks zu MLlib enthalten Rückschlussschritte.

Anpassen und optimieren von Modellrückschlüssen

Wenn Sie die MLflow-APIs zum Ausführen von Rückschlüssen auf Spark DataFrames verwenden, können Sie das Modell als Spark-UDF laden und mit verteiltem Computing skalieren.

Sie können Ihr Modell anpassen, um Vorverarbeitung oder Nachverarbeitung hinzuzufügen und die Berechnungsleistung für große Modelle zu optimieren. Eine gute Option zum Anpassen von Modellen ist die MLflow-Pyfunc-API, mit der Sie ein Modell mit benutzerdefinierter Logik umschließen können.

Wenn Sie weitere Anpassungen durchführen müssen, können Sie Ihr maschinelles Lernmodell manuell in einem Pandas-UDF oder einem Pandas Iterator-UDF umschließen. Sehen Sie sich die Beispiele für Deep Learning an.

Für kleinere Datasets können Sie auch die von der Bibliothek bereitgestellten nativen Modellrückschlussmethoden verwenden.