การลงทะเบียนโมเดล

MLflow เบื้องต้น

Weston Bassler

Senior MLOps Engineer

การลงทะเบียน MLflow Models

  • เวอร์ชันของโมเดล

    • เป็นไปตามแนวทางการพัฒนาซอฟต์แวร์แบบดั้งเดิม
    • ติดตามการเปลี่ยนแปลง
  • การทำงานร่วมกัน

    • ระหว่างบทบาทที่แตกต่างกัน
    • บทบาทเดียวกันเพื่อการปรับปรุง
MLflow เบื้องต้น

การจัดการวงจรชีวิตของโมเดล

วงจรชีวิตของโมเดล

1 datacamp.com
MLflow เบื้องต้น

วิธีลงทะเบียนโมเดล

# Existing MLflow Models
mlflow.register_model(model_uri, name)

model_uri

  • local filesystem
  • tracking server
# During training run
mlflow.FLAVOR.log_model(name, 
    artifact_uri,
    registered_model_name="MODEL_NAME")

registered_model_name="MODEL_NAME"

MLflow เบื้องต้น

ตัวอย่างการลงทะเบียนโมเดล

# Import mlflow
import mlflow


# Register model from local filesystem mlflow.register_model("./model", "Unicorn")
# Register model from Tracking server mlflow.register_model("runs:/run-id/model", "Unicorn")
MLflow เบื้องต้น
# Register local MLFlow Model
mlflow.register_model(model_uri="./model", name="Unicorn")
Registered model 'Unicorn' already exists. Creating a new version of this model...

2023/03/24 14:34:26 INFO mlflow.tracking._model_registry.client: Waiting up to 300 seconds for model version to finish creation. Model name: Unicorn, version 1 Created version '1' of model 'Unicorn'. <ModelVersion: creation_timestamp=1679682866413, current_stage='None', description=None, last_updated_timestamp=1679682866413, name='Unicorn', run_id=None, run_link=None, source='./model', status='READY', status_message=None, tags={}, user_id=None, version=1>
MLflow เบื้องต้น
# Register model from MLflow Tracking
mlflow.register_model(model_uri="runs:/run-id/model", name="Unicorn")
Registered model 'Unicorn' already exists. Creating a new version of this model...
2023/03/24 14:36:56 INFO mlflow.tracking._model_registry.client: 
Waiting up to 300 seconds for model version to finish creation.                     
Model name: Unicorn, version 2
Created version '2' of model 'Unicorn'.
<ModelVersion: creation_timestamp=1679683016297, current_stage='None', 
description=None, last_updated_timestamp=1679683016297, name='Unicorn', 
run_id='2e974508b68b45ceb114657c6e97fef5', run_link=None, 
source='./mlruns/1/2e974508b68b45ceb114657c6e97fef5/artifacts/model', 
status='READY', status_message=None, tags={}, user_id=None, version=2>
MLflow เบื้องต้น

Models UI

models-ui

MLflow เบื้องต้น

เวอร์ชันของ Unicorn

versions-ui

MLflow เบื้องต้น

การบันทึกโมเดล

# Import modules
import mlflow
import mlflow.sklearn
from sklearn.linear_model import LogisticRegression


# Model lr = LogisticRegression() lr.fit(X, y)
# Log model mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
MLflow เบื้องต้น
# Log model
mlflow.sklearn.log_model(lr, "model", registered_model_name="Unicorn")
Registered model 'Unicorn' already exists. Creating a new version of this model...
2023/03/24 17:31:10 INFO mlflow.tracking._model_registry.client: 
Waiting up to 300 seconds for model version to finish creation.                     
Model name: Unicorn, version 3
Created version '3' of model 'Unicorn'.
<mlflow.models.model.ModelInfo object at 0x14734d330>
MLflow เบื้องต้น

มาฝึกกันเถอะ!

MLflow เบื้องต้น

Preparing Video For Download...