Apache Spark MLlib a automatizované sledování MLflow
Důležité
Tato dokumentace byla vyřazena a nemusí být aktualizována. Produkty, služby nebo technologie uvedené v tomto obsahu se už nepodporují.
Poznámka:
Automatizované sledování MLflow MLlib je v clusterech, na kterých běží Databricks Runtime 10.1 ML a novější, a ve výchozím nastavení je zakázané v clusterech s Modulem Databricks Runtime 10.2 ML a novějším. Místo toho použijte automatické protokolování MLflow PySpark ML voláním mlflow.pyspark.ml.autolog()
, která je ve výchozím nastavení povolena s automatickým protokolováním Databricks.
Pokud chcete použít staré automatizované sledování MLflow MLlib v Databricks Runtime 10.2 ML nebo novějším, povolte ho nastavením konfigurací Sparku spark.databricks.mlflow.trackMLlib.enabled true
a .spark.databricks.mlflow.autologging.enabled false
MLflow je open source platforma pro správu kompletního životního cyklu strojového učení. MLflow podporuje sledování ladění modelů strojového učení v Pythonu, R a Scala. Pouze pro poznámkové bloky Pythonu podporují verze a kompatibilitu a kompatibilitu modulu Databricks Runtime pro Machine Learning automatizované sledování MLflow pro ladění modelů Apache Spark MLlib.
Při automatizovaném sledování MLflow MLlib se při spouštění kódu ladění, který používá CrossValidator
nebo TrainValidationSplit
, hyperparametry a vyhodnocovací metriky automaticky protokolují v MLflow. Bez automatizovaného sledování MLflow musíte provést explicitní volání rozhraní API pro protokolování do MLflow.
Správa spuštění MLflow
CrossValidator
nebo TrainValidationSplit
výsledky ladění protokolů při vnořených spuštění MLflow:
- Hlavní nebo nadřazené spuštění: Informace pro
CrossValidator
hlavní spuštění neboTrainValidationSplit
jsou zaprotokolovány do hlavního spuštění. Pokud již existuje aktivní spuštění, zaprotokolují se do tohoto aktivního spuštění informace a aktivní spuštění se nezastaví. Pokud žádné aktivní spuštění neexistuje, MLflow vytvoří nové spuštění, protokoluje ho a ukončí ho před vrácením. - Podřízená spuštění: Každé otestované nastavení hyperparametrů a odpovídající metrika vyhodnocení se zaprotokoluje do podřízeného spuštění pod hlavním spuštěním.
Při volání fit()
azure Databricks doporučuje aktivní správu spuštění MLflow. To znamená, že volání zabalíte do fit()
příkazu "with mlflow.start_run():
".
Tím se zajistí, že se informace zaprotokolují pod vlastním hlavním spuštěním MLflow a usnadníte protokolování dalších značek, parametrů nebo metrik do tohoto spuštění.
Poznámka:
Pokud fit()
je volána vícekrát ve stejném aktivním spuštění MLflow, protokoluje tyto více spuštění do stejného hlavního spuštění. Pokud chcete vyřešit konflikty názvů pro parametry a značky MLflow, MLflow připojí UUID k názvům s konflikty.
Následující poznámkový blok Pythonu ukazuje automatizované sledování MLflow.
Automatizovaný poznámkový blok pro sledování MLflow
Po provedení akcí v poslední buňce poznámkového bloku by se mělo zobrazit uživatelské rozhraní MLflow: