Wprowadzenie do MLflow Model Registry

Wprowadzenie do MLflow

Weston Bassler

Senior MLOps Engineer

Cykl życia modelu

Diagram przedstawiający środowiska development i staging

Wprowadzenie do MLflow

MLflow Model Registry

  • Scentralizowane miejsce przechowywania

  • Zarządzanie cyklem życia

    • Interfejs WWW
    • Moduł MLflow Client
    • Wersje modeli
    • Etapy modeli

rejestr-modeli

Wprowadzenie do MLflow

MLflow Model Registry

  • Model

    • Model zarejestrowany w MLflow Tracking
  • Zarejestrowany model

    • Otrzymuje numer wersji
    • Możliwe przypisanie etapu
Wprowadzenie do MLflow

MLflow Model Registry

  • Wersja modelu

    • Zwiększana przy każdej nowej rejestracji modelu
  • Etap modelu

    • Możliwe przypisanie jednego z:
      • None
      • Staging
      • Production
      • Archived

Etapy

Wprowadzenie do MLflow

Praca z Model Registry

Modele

Wprowadzenie do MLflow

Moduł MLflow Client

  • Eksperymenty

  • Uruchomienia

  • Wersje modeli

  • Zarejestrowane modele

Uczenie maszynowe

1 Flaticon.com
Wprowadzenie do MLflow

Korzystanie z modułu 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>
Wprowadzenie do MLflow

Rejestrowanie modelu

# 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={}>
Wprowadzenie do MLflow

Interfejs modelu

tworzenie-modelu

Wprowadzenie do MLflow

Wyszukiwanie zarejestrowanych modeli

wyszukiwanie-modeli

Wprowadzenie do MLflow

Wyszukiwanie zarejestrowanych modeli

# Search for registered models
client.search_registered_models(filter_string=MY_FILTER_STRING)
  • Identyfikatory
    • name – nazwa modelu
    • tags – tagi powiązane z modelem
  • Operatory porównania
    • = – równy
    • != – różny od
    • LIKE – dopasowanie wzorca z uwzględnieniem wielkości liter
    • ILIKE – dopasowanie wzorca bez uwzględnienia wielkości liter
Wprowadzenie do MLflow

Przykładowe wyszukiwanie

# 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={}>]
Wprowadzenie do MLflow

Czas na ćwiczenia!

Wprowadzenie do MLflow

Preparing Video For Download...