Вступ до MLflow Models

Вступ до MLflow

Weston Bassler

Senior MLOps Engineer

MLflow Models

  • Спрощує інтеграцію з ML-бібліотеками

  • Спрощує розгортання

  • Конвенція під назвою «Flavors»

flavors

1 unsplash.com
Вступ до MLflow

Вбудовані Flavors

ЗОБРАЖЕННЯ FLAVORS

  • Пишіть власні інструменти на базі ML-бібліотек

  • Flavors спрощують додавання власного коду

# Import flavor from mlflow module
import mlflow.FLAVOR
1 mlflow.org
Вступ до MLflow

Autolog

# Автоматично логувати модель і метрики
mlflow.FLAVOR.autolog()
# Вбудований flavor для scikit-learn
mlflow.sklearn.autolog()
Вступ до MLflow

Flavor scikit-learn

# Імпорт scikit-learn
import mlflow
from sklearn.linear_model import \
    LinearRegression

# Використання автологування mlflow.sklearn.autolog()
# Навчіть модель
lr = LinearRegression()
lr.fit(X, y)

Модель буде залоговано автоматично під час model.fit()

Вступ до MLflow

Поширені метрики

  • Регресія
    • mean squared error
    • root mean squared error
    • mean absolute error
    • r2 score
  • Класифікація
    • precision score
    • recall score
    • f1 score
    • accuracy score

Поширені параметри

MODEL.get_params()
Вступ до MLflow

Поширені параметри

# Навчіть модель
lr = LinearRegression()
lr.fit(X, y)

# Отримати параметри params = lr.get_params(deep=True)
params
{'copy_X': True, 'fit_intercept': True, 'n_jobs': None, 
    'normalize': 'deprecated', 'positive': False}
Вступ до MLflow

Autolog: параметри

parameters

# Модель
lr = LinearRegression()
lr.fit(X, y)
Вступ до MLflow

Autolog: метрики

metrics

# Модель
lr = LinearRegression()
lr.fit(X, y)
Вступ до MLflow

Формат зберігання

Структура каталогу моделі:

model/
    MLmodel
    model.pkl
    python_env.yaml
    requirements.txt
# Autolog
mlflow.sklearn.autolog()

Артефакти

Вступ до MLflow

Вміст MLmodel

artifact_path: model
flavors:
  python_function:
    env:
      virtualenv: python_env.yaml
    loader_module: mlflow.sklearn
    model_path: model.pkl
    predict_fn: predict
    python_version: 3.10.8
  sklearn:
    code: null
    pickled_model: model.pkl
    serialization_format: cloudpickle
    sklearn_version: 1.1.3
Вступ до MLflow

MLmodel

MLmodel

Вступ до MLflow

Давайте потренуємось!

Вступ до MLflow

Preparing Video For Download...