MLflow en Azure Machine Learning

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

MLflow is een opensource-framework dat is ontworpen om de volledige levenscyclus van machine learning te beheren. Met de mogelijkheid om modellen op verschillende platforms te trainen en te bedienen, kunt u een consistente set hulpprogramma's gebruiken, ongeacht waar uw experimenten worden uitgevoerd: lokaal op uw computer, op een extern rekendoel, op een virtuele machine of op een Azure Machine Learning-rekenproces.

Azure Machine Learning-werkruimten zijn compatibel met MLflow, wat betekent dat u Azure Machine Learning-werkruimten op dezelfde manier kunt gebruiken als u een MLflow-server zou gebruiken. Deze compatibiliteit heeft de volgende voordelen:

  • Azure Machine Learning host geen MLflow-serverexemplaren onder de schermen; In plaats daarvan kan de werkruimte de MLflow-API-taal spreken.
  • U kunt Azure Machine Learning-werkruimten gebruiken als uw traceringsserver voor elke MLflow-code, ongeacht of deze wordt uitgevoerd op Azure Machine Learning of niet. U hoeft MLflow alleen te configureren om te verwijzen naar de werkruimte waar het bijhouden moet plaatsvinden.
  • U kunt elke trainingsroutine uitvoeren die gebruikmaakt van MLflow in Azure Machine Learning zonder enige wijziging.

Tip

In tegenstelling tot de Azure Machine Learning SDK v1 is er geen functionaliteit voor logboekregistratie in de SDK v2. U wordt aangeraden MLflow te gebruiken voor logboekregistratie, zodat uw trainingsroutines cloudagnostisch en draagbaar zijn, waardoor alle afhankelijkheid van uw code in Azure Machine Learning wordt verwijderd.

Bijhouden met MLflow

Azure Machine Learning maakt gebruik van MLflow-tracering om metrische gegevens te registreren en artefacten op te slaan voor uw experimenten. Wanneer u bent verbonden met Azure Machine Learning, wordt alle tracering die wordt uitgevoerd met MLflow gerealiseerd in de werkruimte waaraan u werkt. Voor meer informatie over het instellen van uw experimenten voor het gebruik van MLflow voor het bijhouden van experimenten en trainingsroutines, raadpleegt u metrische logboekgegevens, parameters en bestanden met MLflow. U kunt MLflow ook gebruiken om experimenten en uitvoeringen op te vragen en te vergelijken.

MLflow in Azure Machine Learning biedt een manier om tracering te centraliseren. U kunt MLflow verbinden met Azure Machine Learning-werkruimten, zelfs wanneer u lokaal of in een andere cloud werkt. De werkruimte biedt een gecentraliseerde, veilige en schaalbare locatie voor het opslaan van metrische trainingsgegevens en -modellen.

Het gebruik van MLflow in Azure Machine Learning bevat de mogelijkheden voor:

Voorbeeldnotebooks

Bijhouden met MLflow in R

MLflow-ondersteuning in R heeft de volgende beperkingen:

  • MLflow-tracering is beperkt tot het bijhouden van metrische experimentgegevens, parameters en modellen in Azure Machine Learning-taken.
  • Interactieve training over RStudio, Posit (voorheen RStudio Workbench) of Jupyter-notebooks met R kernels wordt niet ondersteund.
  • Modelbeheer en -registratie worden niet ondersteund met behulp van de MLflow R SDK. Gebruik in plaats daarvan de Azure Machine Learning CLI of Azure Machine Learning-studio voor modelregistratie en -beheer.

Bekijk de voorbeelden in Train R-modellen met behulp van de Azure Machine Learning CLI (v2) voor meer informatie over het gebruik van de MLflow-traceringsclient met Azure Machine Learning.

Bijhouden met MLflow in Java

MLflow-ondersteuning in Java heeft de volgende beperkingen:

  • MLflow-tracering is beperkt tot het bijhouden van metrische gegevens en parameters voor experimenten in Azure Machine Learning-taken.
  • Artefacten en modellen kunnen niet worden bijgehouden met behulp van de MLflow Java SDK. Gebruik in plaats daarvan de Outputs map in taken, samen met de mlflow.save_model methode om modellen (of artefacten) op te slaan die u wilt vastleggen.

Bekijk het Java-voorbeeld dat gebruikmaakt van de MLflow-traceringsclient met Azure Machine Learning voor meer informatie over het gebruik van de MLflow-traceringsclient met Azure Machine Learning.

Modelregisters met MLflow

Azure Machine Learning ondersteunt MLflow voor modelbeheer. Deze ondersteuning is een handige manier om de volledige levenscyclus van het model te ondersteunen voor gebruikers die bekend zijn met de MLflow-client.

Zie Modelregisters beheren in Azure Machine Learning met MLflow met MLflow voor meer informatie over het beheren van modellen met behulp van de MLflow-API.

Voorbeeld van notebook

Modelimplementatie met MLflow

U kunt MLflow-modellen implementeren in Azure Machine Learning en profiteren van de verbeterde ervaring wanneer u MLflow-modellen gebruikt. Azure Machine Learning biedt ondersteuning voor de implementatie van MLflow-modellen voor zowel realtime- als batcheindpunten zonder dat u een omgeving of een scorescript hoeft op te geven. Implementatie wordt ondersteund met behulp van de MLflow SDK, Azure Machine Learning CLI, Azure Machine Learning SDK voor Python of de Azure Machine Learning-studio.

Zie Richtlijnen voor het implementeren van MLflow-modellen voor zowel realtime als batchdeductie voor meer informatie over het implementeren van MLflow-modellen in Azure Machine Learning.

Voorbeeldnotebooks

Training met MLflow-projecten (preview)

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. De preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

U kunt trainingstaken verzenden naar Azure Machine Learning met behulp van MLflow-projecten (preview). U kunt taken lokaal verzenden met Azure Machine Learning-tracering of uw taken migreren naar de cloud via Azure Machine Learning Compute.

Zie Machine Learning-modellen trainen met MLflow-projecten en Azure Machine Learning-werkruimten voor het bijhouden van trainingstaken voor meer informatie over het verzenden van trainingstaken met MLflow-projecten en Azure Machine Learning.

Voorbeeldnotebooks

MLflow SDK, Azure Machine Learning v2 en Azure Machine Learning-studio mogelijkheden

In de volgende tabel ziet u de bewerkingen die mogelijk zijn, met behulp van elk van de clienthulpprogramma's die beschikbaar zijn in de levenscyclus van machine learning.

Functie MLflow SDK Azure Machine Learning CLI/SDK Azure Machine Learning Studio
Metrische gegevens, parameters en modellen bijhouden en registreren
Metrische gegevens, parameters en modellen ophalen 1
Trainingstaken verzenden 2
Trainingstaken verzenden met Azure Machine Learning-gegevensassets
Trainingstaken verzenden met machine learning-pijplijnen
Experimenten en uitvoeringen beheren
MLflow-modellen beheren 3
Niet-MLflow-modellen beheren
MLflow-modellen implementeren in Azure Machine Learning (Online & Batch) 4
Niet-MLflow-modellen implementeren in Azure Machine Learning

Notitie

  • 1 Alleen artefacten en modellen kunnen worden gedownload.
  • 2 Mogelijk met behulp van MLflow-projecten (preview).
  • 3 Sommige bewerkingen worden mogelijk niet ondersteund. Bekijk modelregisters beheren in Azure Machine Learning met MLflow voor meer informatie.
  • 4 Implementatie van MLflow-modellen voor batchdeductie met behulp van de MLflow SDK is momenteel niet mogelijk. Zie MLflow-modellen implementeren en uitvoeren in Spark-taken als alternatief.