Вступ до MLflow Model Registry

Вступ до MLflow

Weston Bassler

Senior MLOps Engineer

Життєвий цикл моделі

Діаграма: development, staging

Вступ до MLflow

MLflow Model Registry

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

  • Керування життєвим циклом

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

model-registry

Вступ до MLflow

MLflow Model Registry

  • Модель

    • Модель зафіксована в MLflow Tracking
  • Зареєстрована модель

    • Отримує версію
    • Може мати стадію
Вступ до MLflow

MLflow Model Registry

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

    • Збільшується з кожною новою реєстрацією моделі
  • Стадія моделі

    • Може бути однією з:
      • None
      • Staging
      • Production
      • Archived

Стадії

Вступ до MLflow

Робота з Model Registry

Моделі

Вступ до MLflow

Модуль MLflow Client

  • Експерименти

  • Запуски

  • Версії моделей

  • Зареєстровані моделі

Machine Learning

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...