Введение в MLflow Model Registry

Введение в MLflow

Weston Bassler

Senior MLOps Engineer

Жизненный цикл модели

Диаграмма сред разработки и тестирования

Введение в MLflow

MLflow Model Registry

  • Централизованное хранилище

  • Управление жизненным циклом

    • Веб-интерфейс
    • Модуль MLflow Client
    • Версии модели
    • Стадии модели

model-registry

Введение в MLflow

MLflow Model Registry

  • Модель

    • Модель зарегистрирована в MLflow Tracking
  • Зарегистрированная модель

    • Получает версию
    • Доступна для назначения стадии
Введение в MLflow

MLflow Model Registry

  • Версия модели

    • Увеличивается при каждой новой регистрации модели
  • Стадия модели

    • Может принимать одно из значений:
      • None
      • Staging
      • Production
      • Archived

Стадии

Введение в MLflow

Работа с реестром моделей

Модели

Введение в MLflow

Модуль MLflow Client

  • Эксперименты

  • Запуски

  • Версии моделей

  • Зарегистрированные модели

Машинное обучение

1 Flaticon.com
Введение в MLflow

Использование модуля MLflow Client

# Import from MLflow module
from mlflow import MlflowClient


# Create an instance client = MlflowClient()
# Print the object client
<mlflow.tracking.client.MlflowClient object at 0x101d55f30>
Введение в MLflow

Регистрация модели

# Create a Model named "Unicorn"
client.create_registered_model(name="Unicorn")
<RegisteredModel: creation_timestamp=1679404160448, description=None, 
last_updated_timestamp=1679404160448, latest_versions=[], name='Unicorn', 
tags={}>
Введение в MLflow

Интерфейс модели

create-model

Введение в MLflow

Поиск зарегистрированных моделей

search-models

Введение в MLflow

Поиск зарегистрированных моделей

# Search for registered models
client.search_registered_models(filter_string=MY_FILTER_STRING)
  • Идентификаторы
    • name – имя модели
    • tags – теги модели
  • Операторы сравнения
    • = – равно
    • != – не равно
    • LIKE – совпадение с учётом регистра
    • ILIKE – совпадение без учёта регистра
Введение в MLflow

Пример поиска

# Filter string
unicorn_filter_string = "name LIKE 'Unicorn%'"


# Search models client.search_registered_models(filter_string=unicorn_filter_string)
[<RegisteredModel: creation_timestamp=1679404160448, description=None, 
last_updated_timestamp=1679404160448, latest_versions=[], name='Unicorn', 
tags={}>, 
<RegisteredModel: creation_timestamp=1679404276745, description=None, 
last_updated_timestamp=1679404276745, latest_versions=[], name='Unicorn 2.0', 
tags={}>]
Введение в MLflow

Давайте потренируемся!

Введение в MLflow

Preparing Video For Download...