Apache Spark MLlib и автоматизированное отслеживание MLflow
Внимание
Поддержка этой документации прекращена, она может больше не обновляться. Продукты, службы или технологии, упомянутые в этом контенте, больше не поддерживаются.
Примечание.
Автоматизированное отслеживание MLflow в MLlib не рекомендуется использовать для кластеров с версией Databricks Runtime 10.1 ML и более поздних. По умолчанию оно отключено в кластерах под управлением Databricks Runtime 10.2 ML и более поздних версий. Вместо этого используйте автозапись в журнал MLflow PySpark ML путем вызова mlflow.pyspark.ml.autolog()
, который включается по умолчанию с помощью функции Автозапись в журнал Databricks.
Чтобы использовать старое автоматическое отслеживание MLflow mLflow в Databricks Runtime 10.2 ML или более поздней версии, включите его, задав конфигурации spark.databricks.mlflow.trackMLlib.enabled true
Spark и spark.databricks.mlflow.autologging.enabled false
.
Платформа MLflow с открытым кодом предназначена для управления жизненным циклом машинного обучения на всем его протяжении. MLflow поддерживает отслеживание для настройки моделей машинного обучения в Python, R и Scala. Только для записных книжек Python версии заметок о выпуске Databricks Runtime и совместимости и databricks Runtime для Машинное обучение поддерживают автоматическую настройку модели MLflow для Apache Spark MLlib.
С автоматическим отслеживанием MLflow MLlib при выполнении кода настройки, который использует CrossValidator
или TrainValidationSplit
, гиперпараметры и метрики оценки автоматически регистрируются в MLflow. Без автоматического отслеживания MLflow необходимо сделать прямой вызов API для входа в MLflow.
Управление запусками MLflow
результаты настройки журнала CrossValidator
или TrainValidationSplit
в качестве вложенных запусков MLflow:
- Главный или родительский запуск: сведения для
CrossValidator
илиTrainValidationSplit
регистрируются в главном запуске. Если уже имеется активный запуск, данные регистрируются в этом активном запуске, и выполнение не останавливается. Если активных запусков нет, MLflow создает новый запуск, регистрирует в нем данные и завершает выполнение перед возвратом. - Дочерний запуск: каждая настройка гиперпараметров и соответствующая метрика оценки регистрируются в дочернем запуске главного запуска.
При вызове fit()
в Azure Databricks рекомендуется использовать активное управление запуском MLflow; то есть перенести вызов на fit()
в оператор "with mlflow.start_run():
".
Это гарантирует, что информация заносится в журнал с помощью собственного главного запуска MLflow и упрощает регистрацию дополнительных тегов, параметров или метрик для такого выполнения.
Примечание.
Если fit()
вызывается несколько раз в рамках одного активного запуска MLflow, он записывает эти несколько запусков в один и тот же главный запуск. Чтобы устранить конфликты имен для параметров и тегов MLflow, MLflow добавляет UUID в имена с конфликтами.
В следующей записной книжке Python показано автоматизированное отслеживание MLflow.
Записная книжка автоматизированного отслеживания MLflow
После выполнения действий в последней ячейке записной книжки в пользовательском интерфейсе MLflow должно отобразиться: