Registrace modelu MLflow
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.
Spropitné
Další informace o Nasazení úloh hlubokého učení do produkčního prostředí pomocí služby Azure Machine Learning
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.