Apache Spark MLlib och automatiserad MLflow-spårning
Observera
MLlib automatiserad MLflow-spårning är inaktuell på kluster som kör Databricks Runtime 10.1 ML och senare, och det är inaktiverat som standard på kluster som kör Databricks Runtime 10.2 ML och senare. Använd i stället automatisk MLflow PySpark ML-loggning genom att anropa mlflow.pyspark.ml.autolog()
, vilket är aktiverat som standard med Databricks Autologging.
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 öppen källkod plattform för att hantera livscykeln för maskininlärning från slutpunkt till slutpunkt. MLflow stöder spårning för maskininlärningsmodelljustering i Python, R och Scala. Endast för Python-notebook-filer stöder Databricks Runtime och Introduction to Databricks Runtime for Machine LearningautomatiskMLflow 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
ellerTrainValidationSplit
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, dvs. omsluter anropet till fit()
i en "with mlflow.start_run():
"-instruktion.
Detta säkerställer att informationen loggas under sin egen MLflow-huvudkörning och gör det enklare att logga ytterligare taggar, parametrar eller mått för den körningen.
Observera
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 automatisk MLflow-spårning.
Notebook-fil för automatisk MLflow-spårning
När du har utför åtgärderna i den sista cellen i notebook-filen bör användargränssnittet för MLflow visa: