Краткое руководство по Python
Платформа MLflow с открытым кодом предназначена для управления жизненным циклом машинного обучения на всем его протяжении. MLflow предоставляет простые API для ведения журнала метрик (например, потери модели), параметры (например, скорость обучения) и подогнанные модели, что упрощает анализ результатов обучения или развертывание моделей в дальнейшем.
В этом разделе рассматриваются следующие вопросы.
- Установка MLflow
- Автоматическая регистрация учебных выполнений в MLflow
- Просмотр результатов
- Отслеживание дополнительных метрик, параметров и моделей
- Примеры записных книжек
- Подробнее
Установка MLflow
Если вы используете Databricks Runtime для Машинного обучения, значит, MLflow уже установлен. В противном случае установите пакет MLflow из PyPI.
Автоматическая регистрация учебных выполнений в MLflow
При использовании Databricks Runtime 10.4 LTS ML и более поздних версий функция автолога Databricks включена по умолчанию и автоматически фиксирует параметры модели, метрики, файлы и сведения о происхождении при обучении моделей из различных популярных библиотек машинного обучения.
При использовании Databricks Runtime 9.1 LTS ML MLflow предоставляет mlflow.<framework>.autolog()
API для автоматического создания журналов кода обучения, написанного во многих платформах машинного обучения. Этот API можно вызвать перед запуском кода обучения для регистрации метрик и артефактов модели, а также параметров.
TensorFlow
Примечание.
Модели Keras также поддерживаются в mlflow.tensorflow.autolog()
.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
При настройке с помощью pyspark.ml
метрики и модели автоматически регистрируются в MLflow.
См. Apache Spark MLlib и автоматизированное отслеживание MLflow.
Показать результаты
После выполнения кода машинного обучения можно просмотреть результаты с помощью боковой панели экспериментальных выполнений. Инструкции по просмотру и запуску эксперимента, а также используемую в этом кратком руководстве версию записной книжки вы найдете в разделе Просмотр эксперимента записной книжки.
Отслеживание дополнительных метрик, параметров и моделей
Для регистрации дополнительных сведений можно напрямую вызвать API-ведения журнала отслеживания MLflow.
Числовые метрики
import mlflow
mlflow.log_metric("accuracy", 0.9)
Параметры обучения
import mlflow
mlflow.log_param("learning_rate", 0.001)
Модели
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
Ошалевшие
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Другие артефакты (файлы)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Примеры записных книжек
Примечание.
При использовании Databricks Runtime 10.4 LTS ML и более поздних версий функция автолога Databricks включена по умолчанию, а код в этих примерах записных книжек не требуется. Примеры записных книжек в этом разделе предназначены для использования с Databricks Runtime 9.1 LTS ML.
Чтобы начать работу с отслеживанием MLflow с помощью Python, рекомендуется использовать API autolog()
MLflow. Благодаря возможностям автоматического ведения журнала MLflow одна строка кода автоматически регистрирует полученную модель, параметры ее создания и ее оценку. В следующей записной книжке показано, как настроить выполнение с помощью автоматического ведения журнала.
Записная книжка MLflow для быстрого начала работы с автоматическим ведением журнала с использованием Python
Если вам требуется более детальный контроль над метриками, регистрируемыми для каждого из учебных выполнений, или если вы хотите заносить в журнал дополнительные артефакты, такие как таблицы или графики, можно использовать функции API ведения журнала MLflow, продемонстрированные в следующей записной книжке.