Databricks Autologging

Belangrijk

Deze functie is beschikbaar als openbare preview.

Databricks Autologging is een oplossing zonder code die automatische logboekregistratie van MLflow uitbreidt voor het automatisch bijhouden van experimenten voor machine learning-trainingssessies op Azure Databricks. Met Databricks Autologging worden modelparameters, metrische gegevens, bestanden en gegevens over de gegevens voor gegevens van gegevens over gegevens van gegevens over gegevens over de gegevens van gegevens in de gegevensstaaf automatisch vastgelegd wanneer u modellen traint vanuit verschillende populaire machine learning bibliotheken. Trainingssessies worden vastgelegd als MLflow-tracering wordt uitgevoerd. Modelbestanden worden ook bij te houden, zodat u ze eenvoudig kunt registreren in het MLflow-modelregister en ze kunt implementeren voor realtime scoren met MLflow Model Serving.

In de volgende video ziet u Databricks Autologging met een scikit-learn-modeltrainingssessie in een interactief Python-notebook. Traceringsgegevens worden automatisch vastgelegd en weergegeven in de zijbalk Experimentuit runs en in de gebruikersinterface van MLflow.

Voorbeeld van automatischelogging

Vereisten

Databricks Runtime 9.0 ML of hoger.

Uitleg

Wanneer u een interactief Python-notebook koppelt aan een Azure Databricks-cluster, roept Databricks Autologging mlflow.autolog() aan om tracering in te stellen voor uw modeltrainingssessies. Wanneer u modellen traint in het notebook, worden modeltrainingsgegevens automatisch bij te houden met MLflow Tracking. Zie Beveiliging en gegevensbeheer voor meer informatie over hoe dit modeltrainingsinformatie wordt beveiligd en beheerd.

De standaardconfiguratie voor de aanroep mlflow.autolog() is:

mlflow.autolog(
    log_input_examples=False,
    log_model_signatures=True,
    log_models=True,
    disable=False,
    exclusive=True,
    disable_for_unsupported_versions=True,
    silent=True
)

U kunt de configuratie voor automatisch loggen aanpassen.

Gebruik

Als u Databricks Autologging wilt gebruiken, traint u een machine learning-model in een ondersteund framework met behulp van een interactieve Azure Databricks Python-notebook. Met Databricks Autologging worden automatisch gegevens over de gegevens, parameters en metrische gegevens van modelgegevens voor MLflow Tracking in een recordrecord geplaatst. U kunt ook het gedrag van Databricks Autologging aanpassen.

Notitie

Databricks Autologging wordt niet toegepast op runs die zijn gemaakt met behulp van de MLflow-fluent API met . In dergelijke gevallen moet u aanroepen om mlflow.autolog() automatisch geregistreerde inhoud op te slaan in de MLflow-run. Zie Aanvullende inhoud bijhouden.

Gedrag van logboekregistratie aanpassen

Gebruik mlflow.autolog() om logboekregistratie aan te passen. Deze functie biedt configuratieparameters voor het inschakelen van modellogregistratie ( log_models ), het verzamelen van invoervoorbeelden ( ), het log_input_examples configureren van waarschuwingen ( ) en silent meer.

Aanvullende inhoud bijhouden

Als u aanvullende metrische gegevens, parameters, bestanden en metagegevens wilt bijhouden met MLflow-runs die zijn gemaakt door Databricks Autologging, volgt u deze stappen in Azure Databricks interactieve Python-notebook:

  1. Roep mlflow.autolog() aan met .
  2. Start een MLflow-run met mlflow.start_run(). U kunt deze aanroep inpakken. Wanneer u dit doet, wordt de with mlflow.start_run() run automatisch beƫindigd nadat deze is voltooid.
  3. Gebruik MLflow Tracking-methoden, zoals mlflow.log_param(), om inhoud voor de training bij te houden.
  4. Train een of meer machine learning modellen in een framework dat wordt ondersteund door Databricks Autologging.
  5. Gebruik MLflow Tracking-methoden, zoals mlflow.log_metric(), om inhoud na de training bij te houden.
  6. Als u niet hebt gebruikt in stap 2, moet u with mlflow.start_run() de MLflow-run beƫindigen met with mlflow.start_run().

Bijvoorbeeld:

import mlflow
mlflow.autolog(exclusive=False)

with mlflow.start_run():
  mlflow.log_param("example_param", "example_value")
  # <your model training code here>
  mlflow.log_param("example_metric", 5)

Databricks Autologging uitschakelen

Als u Databricks Autologging wilt uitschakelen in een Azure Databricks Python-notebook, roept u mlflow.autolog() aan met :

import mlflow
mlflow.autolog(disable=True)

Beheerders kunnen Databricks Autologging ook uitschakelen voor alle clusters in een werkruimte via het tabblad Geavanceerd van de beheerconsole. Clusters moeten opnieuw worden opgestart om deze wijziging van kracht te laten worden.

Ondersteunde omgevingen en frameworks

Databricks Autologging wordt ondersteund in interactieve Python-notebooks en is beschikbaar voor de volgende ML frameworks:

  • scikit-learn
  • Apache Spark MLlib
  • TensorFlow
  • Keras
  • PyTorch Lightning
  • XGBoost
  • LightGBM
  • Glenon
  • Fast.ai (versie 1.x)
  • statsmodels.

Zie automatische logboekregistratie voor MLflow voor meer informatie over elk van de ondersteunde frameworks.

Beveiliging en gegevensbeheer

Alle modeltrainingsgegevens die met Databricks Autologging worden bijgeslagen, worden opgeslagen in MLflow Tracking en worden beveiligd door MLflow Experiment-machtigingen. U kunt modeltrainingsgegevens delen, wijzigen of verwijderen met behulp van de MLflow Tracking-API of -gebruikersinterface.

Beheer

Beheerders kunnen Databricks Autologging in- of uitschakelen voor alle interactieve notebooksessies in hun werkruimte op het tabblad Geavanceerd van de beheerconsole. Wijzigingen worden pas van kracht als het cluster opnieuw is opgestart.

Beperkingen

  • Databricks Autologging wordt niet ondersteund in Databricks Runtime 8.4 ML of hieronder, noch in een versie van Databricks Runtime. Als u automatischelogging wilt gebruiken in deze runtimeversies, kunt u expliciet mlflow.autolog() aanroepen.
  • Databricks Autologging wordt niet ondersteund in Azure Databricks taken. Als u automatisch loggen wilt gebruiken vanuit taken, kunt u expliciet mlflow.autolog() aanroepen.
  • Databricks Autologging is alleen ingeschakeld op het stuurprogrammaknooppunt van uw Azure Databricks cluster. Als u automatisch loggen wilt gebruiken vanaf werkknooppunten, moet u expliciet mlflow.autolog() aanroepen vanuit de code die op elke worker wordt uitgevoerd.
  • De XGBoost scikit-learn-integratie wordt niet ondersteund.

Apache Spark MLlib, Hyperopt en geautomatiseerde MLflow-tracering

Databricks Autologging wijzigt het gedrag van bestaande geautomatiseerde MLflow-traceringsintegraties voor Apache Spark MLlib en Hyperoptniet.

Notitie

Door de automatische MLflow-traceringsintegratie voor Apache Spark MLlib en modellen uit te schakelen, wordt ook de CrossValidatorTrainValidationSplit functie Databricks Autologging uitgeschakeld voor alle Apache Spark MLlib-modellen.