Registrace modelu MLflow

Dokončeno

Ve službě Azure Machine Learning se modely trénují v úlohách. Pokud chcete najít artefakty modelu, najdete ho ve výstupech úlohy. Pro snadnější správu modelů můžete model uložit také do registru modelů služby Azure Machine Learning .

Registr modelů usnadňuje uspořádání a sledování trénovaných modelů. Když zaregistrujete model, uložíte a verzujete model v pracovním prostoru.

Registrované modely jsou identifikovány podle názvu a verze. Pokaždé, když zaregistrujete model se stejným názvem jako existující, registr zvýší verzi. Můžete také přidat další značky metadat, abyste snadněji hledali konkrétní model.

Spropitné

Modely vytrénované mimo Azure Machine Learning můžete také zaregistrovat tak, že poskytnete místní cestu k artefaktům modelu.

Existují tři typy modelů, které můžete zaregistrovat:

  • MLflow: Model natrénovaný a sledovaný pomocí MLflow. Doporučuje se pro standardní případy použití.
  • vlastní: Typ modelu s vlastním standardem, který Azure Machine Learning v současné době nepodporuje.
  • Triton: Typ modelu pro úlohy hlubokého učení. Běžně se používá pro nasazení modelu TensorFlow a PyTorch.

Azure Machine Learning se dobře integruje s MLflow, což je důvod, proč se doporučuje protokolovat a registrovat model MLflow. Práce s modely MLflow usnadňuje správu a nasazování modelů ve službě Azure Machine Learning. Během nasazení se například při použití modelu MLflow vytvoří prostředí a bodovací skript.

Registrace modelu MLflow

K registraci modelu MLflow můžete použít studio, Azure CLI nebo sadu Python SDK.

Jako datový vědec můžete být nejpohodlnější při práci se sadou Python SDK.

K trénování modelu můžete odeslat trénovací skript jako úlohu příkazu pomocí následujícího kódu:

from azure.ai.ml import command

# configure job

job = command(
    code="./src",
    command="python train-model-signature.py --training_data diabetes.csv",
    environment="AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest",
    compute="aml-cluster",
    display_name="diabetes-train-signature",
    experiment_name="diabetes-training"
    )

# submit job
returned_job = ml_client.create_or_update(job)
aml_url = returned_job.studio_url
print("Monitor your job at", aml_url)

Jakmile se úloha dokončí a model se natrénuje, pomocí názvu úlohy vyhledejte spuštění úlohy a zaregistrujte model z jeho výstupů.

from azure.ai.ml.entities import Model
from azure.ai.ml.constants import AssetTypes

job_name = returned_job.name

run_model = Model(
    path=f"azureml://jobs/{job_name}/outputs/artifacts/paths/model/",
    name="mlflow-diabetes",
    description="Model created from run.",
    type=AssetTypes.MLFLOW_MODEL,
)
# Uncomment after adding required details above
ml_client.models.create_or_update(run_model)

Všechny registrované modely jsou uvedené na stránce Models studia Azure Machine Learning. Registrovaný model obsahuje výstupní adresář modelu. Při protokolování a registraci modelu MLflow najdete soubor MLmodel v artefaktech registrovaného modelu.