Dela via


Apache Spark MLlib och automatiserad MLflow-spårning

Viktigt!

Den här dokumentationen har dragits tillbaka och kanske inte uppdateras. De produkter, tjänster eller tekniker som nämns i det här innehållet stöds inte längre.

Kommentar

MLlib automatiserad MLflow-spårning är inaktuell i kluster som kör Databricks Runtime 10.1 ML och senare, och den är inaktiverad som standard på kluster som kör Databricks Runtime 10.2 ML och senare. Använd i stället MLflow PySpark ML-automatisk loggning genom att anropa mlflow.pyspark.ml.autolog(), vilket är aktiverat som standard med Automatisk loggning av Databricks.

Om du vill använda den gamla MLlib-automatiserade MLflow-spårningen i Databricks Runtime 10.2 ML eller senare aktiverar du den genom att ange Spark-konfigurationernaspark.databricks.mlflow.trackMLlib.enabled true och spark.databricks.mlflow.autologging.enabled false.

MLflow är en plattform med öppen källkod för hantering av maskininlärningslivscykeln från början till slut. MLflow stöder spårning för maskininlärningsmodelljustering i Python, R och Scala. Endast för Python-notebook-filer ger Databricks Runtime versionsanteckningar och kompatibilitet och Databricks Runtime for Machine Learning stöd för automatiseradMLflow Tracking för Apache Spark MLlib-modelljustering.

Med MLlib automatiserad MLflow-spårning loggas hyperparametrar och utvärderingsmått automatiskt i MLflow när du kör justeringskod som använder CrossValidator eller TrainValidationSplit. Utan automatisk MLflow-spårning måste du göra explicita API-anrop för att logga till MLflow.

Hantera MLflow-körningar

CrossValidator eller TrainValidationSplit loggjusteringsresultat som kapslade MLflow-körningar:

  • Huvudkörning eller överordnad körning: Informationen för CrossValidator eller TrainValidationSplit loggas till huvudkörningen. Om det redan finns en aktiv körning loggas information till den här aktiva körningen och den aktiva körningen stoppas inte. Om det inte finns någon aktiv körning skapar MLflow en ny körning, loggar till den och avslutar körningen innan den returneras.
  • Underordnade körningar: Varje hyperparameterinställning som testas och motsvarande utvärderingsmått loggas till en underordnad körning under huvudkörningen.

När du anropar fit()rekommenderar Azure Databricks aktiv MLflow-körningshantering, det vill säga omsluter anropet till fit() i en "with mlflow.start_run():"-instruktion. Detta säkerställer att informationen loggas under dess egen huvudkörning i MLflow och gör det enklare att logga ytterligare taggar, parametrar eller mått för just den körningen.

Kommentar

När fit() anropas flera gånger inom samma aktiva MLflow-körning loggar den dessa flera körningar till samma huvudkörning. För att lösa namnkonflikter för MLflow-parametrar och taggar lägger MLflow till ett UUID i namn med konflikter.

Följande Python-notebook-fil visar automatiserad MLflow-spårning.

Automatisk MLflow-spårningsanteckningsbok

Hämta anteckningsbok

När du har utför åtgärderna i den sista cellen i notebook-filen ska ditt MLflow-användargränssnitt visa:

MLlib-MLflow-demo