Delen via


MLflow en Azure Machine Learning

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

In dit artikel worden de mogelijkheden van MLflow beschreven, een opensource-framework dat is ontworpen om de volledige levenscyclus van machine learning te beheren. MLflow maakt gebruik van een consistente set hulpprogramma's voor het trainen en bedienen van modellen op verschillende platforms. U kunt MLflow gebruiken, ongeacht of uw experimenten lokaal of op een extern rekendoel, virtuele machine of Azure Machine Learning-rekenproces worden uitgevoerd.

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

  • Azure Machine Learning host geen MLflow-serverexemplaren, maar kan de MLflow-API's rechtstreeks gebruiken.
  • U kunt een Azure Machine Learning-werkruimte gebruiken als uw traceringsserver voor elke MLflow-code, ongeacht of deze wordt uitgevoerd in Azure Machine Learning. 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 wijzigingen aan te brengen.

Tip

In tegenstelling tot de Azure Machine Learning SDK v1 is er geen functionaliteit voor logboekregistratie in de Azure Machine Learning v2 SDK. U kunt MLflow-logboekregistratie gebruiken om ervoor te zorgen dat uw trainingsroutines cloudneutraal, draagbaar zijn en geen afhankelijkheid hebben van Azure Machine Learning.

Wat is bijhouden

Wanneer u met taken werkt, wordt in Azure Machine Learning automatisch informatie bijgehouden over experimenten, zoals code, omgeving en invoer- en uitvoergegevens. Modellen, parameters en metrische gegevens zijn echter specifiek voor het scenario, dus modelbouwers moeten hun tracering configureren.

De opgeslagen metagegevens voor bijhouden variëren per experiment en kunnen het volgende omvatten:

  • Code
  • Omgevingsgegevens zoals versie van het besturingssysteem en Python-pakketten
  • Invoergegevens
  • Parameterconfiguraties
  • Modellen
  • Metrische evaluatiegegevens
  • Evaluatievisualisaties zoals verwarringsmatrices en belangrijke plots
  • Evaluatieresultaten, waaronder enkele evaluatievoorspellingen

Voordelen van traceringsexperimenten

Of u nu modellen traint met taken in Azure Machine Learning of interactief in notebooks, het bijhouden van experimenten helpt u:

  • Organiseer al uw machine learning-experimenten op één plek. Vervolgens kunt u experimenten doorzoeken en filteren en inzoomen om details over eerdere experimenten te bekijken.
  • Vergelijk eenvoudig experimenten, analyseer resultaten en foutopsporingsmodeltraining.
  • Experimenten reproduceren of opnieuw uitvoeren om resultaten te valideren.
  • Verbeter de samenwerking, omdat u kunt zien wat andere teamleden doen, experimentresultaten delen en programmatisch toegang krijgen tot experimentgegevens.

Bijhouden met MLflow

Azure Machine Learning-werkruimten zijn compatibel met MLflow. Deze compatibiliteit betekent dat u MLflow kunt gebruiken om uitvoeringen, metrische gegevens, parameters en artefacten in werkruimten bij te houden zonder dat u uw trainingsroutines hoeft te wijzigen of een cloudspecifieke syntaxis hoeft in te voeren. Zie Experimenten en modellen bijhouden met MLflow voor meer informatie over het gebruik van MLflow voor het bijhouden van experimenten en uitvoeringen in Azure Machine Learning-werkruimten.

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, worden alle MLflow-tracering gerealiseerd in de werkruimte waarin u werkt.

Zie met MLflow voor meer informatie over het inschakelen van logboekregistratie voor het bewaken van metrische gegevens van realtime uitvoeringen met MLflow. U kunt ook query's uitvoeren op experimenten en uitvoeringen vergelijken met MLflow.

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 Azure Machine Learning-werkruimte biedt een gecentraliseerde, veilige en schaalbare locatie voor het opslaan van metrische gegevens en modellen voor training.

MLflow in Azure Machine Learning kan:

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. Gebruik de Azure Machine Learning CLI of Azure Machine Learning-studio voor modelregistratie en -beheer.

Zie R-modellen trainen met behulp van de Azure Machine Learning CLI (v2) voor voorbeelden van het gebruik van de MLflow-traceringsclient met R-modellen in 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. Gebruik in plaats daarvan de mlflow.save_model methode met de outputs map in taken om modellen of artefacten op te slaan die u wilt vastleggen.

Zie azuremlflow-java voor een Java-voorbeeld dat gebruikmaakt van de MLflow-traceringsclient met de Azure Machine Learning-traceringsserver.

Voorbeeldnotebooks voor MLflow-tracering

Modelregistratie met MLflow

Azure Machine Learning ondersteunt MLflow voor modelbeheer. Deze ondersteuning is een handige manier voor gebruikers die bekend zijn met de MLflow-client om de volledige levenscyclus van het model te beheren. 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 in Azure Machine Learning.

Voorbeeld van notebook voor MLflow-modelregistratie

Modelbeheer met MLflow laat zien hoe u modellen in registers beheert.

Modelimplementatie met MLflow

U kunt MLflow-modellen implementeren in Azure Machine Learning om te profiteren van een verbeterde ervaring. 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.

De MLflow SDK, Azure Machine Learning CLI, Azure Machine Learning SDK voor Python en Azure Machine Learning-studio alle ondersteuning voor de implementatie van MLflow-modellen. Zie Richtlijnen voor het implementeren van MLflow-modellen in Azure Machine Learning voor zowel realtime als batchdeductie voor meer informatie over het implementeren van MLflow-modellen.

Voorbeeldnotebooks voor MLflow-modelimplementatie

Training met MLflow Projects (preview)

Waarschuwing

Ondersteuning voor MLproject bestanden (MLflow Projects) in Azure Machine Learning wordt in september 2026 volledig buiten gebruik gesteld. MLflow wordt nog steeds volledig ondersteund en is nog steeds de aanbevolen manier om machine learning-workloads in Azure Machine Learning bij te houden.

Naarmate u MLflow blijft gebruiken, wordt u aangeraden over te stappen van bestanden naar Azure Machine Learning-taken met behulp van MLproject de Azure CLI of de Azure Machine Learning SDK voor Python (v2). Zie Ml-experimenten en -modellen bijhouden met MLflow voor meer informatie over Azure Machine Learning-taken.

Belangrijk

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview-versie wordt geleverd zonder een service level agreement en we raden deze niet aan 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 Projects. U kunt taken lokaal verzenden met Azure Machine Learning-tracering of uw taken migreren naar de cloud via Azure Machine Learning Compute.

Zie Trainen met MLflow Projects in Azure Machine Learning (preview) voor meer informatie over het verzenden van trainingstaken die gebruikmaken van MLflow Projects naar Azure Machine Learning-werkruimten voor tracering.

Voorbeeldnotebooks voor MLflow Projects

Mogelijkheden voor MLflow versus Azure Machine Learning-clienthulpprogramma's

In de volgende tabel ziet u bewerkingen voor de levenscyclus van machine learning die mogelijk zijn met de MLflow SDK en de Azure Machine Learning-clienthulpprogramma's.

Functie MLflow SDK Azure Machine Learning CLI/SDK v2 Azure Machine Learning Studio
Metrische gegevens, parameters en modellen bijhouden en registreren
Metrische gegevens, parameters en modellen ophalen Alleen artefacten en modellen kunnen worden gedownload.
Trainingstaken verzenden Mogelijk met behulp van MLflow Projects (preview).
Trainingstaken verzenden met Azure Machine Learning-gegevensassets
Trainingstaken verzenden met machine learning-pijplijnen
Experimenten en uitvoeringen beheren
MLflow-modellen beheren Sommige bewerkingen worden mogelijk niet ondersteund.1
Niet-MLflow-modellen beheren
MLflow-modellen implementeren in Azure Machine Learning (online en batch) Het implementeren van MLflow-modellen voor batchdeductie wordt momenteel niet ondersteund.2
Niet-MLflow-modellen implementeren in Azure Machine Learning

1 Zie Modelregisters beheren in Azure Machine Learning met MLflow voor meer informatie.

2 Zie MLflow-modellen implementeren en uitvoeren in Spark-taken voor een alternatief.