Trainen met MLflow Projects in Azure Machine Learning (preview)

In dit artikel leert u hoe u trainingstaken verzendt met MLflow Projects die gebruikmaken van Azure Machine Learning-werkruimten voor het bijhouden. U kunt taken verzenden en ze alleen bijhouden met Azure Machine Learning of uw uitvoeringen naar de cloud migreren om volledig te worden uitgevoerd op Azure Machine Learning Compute.

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.

Met MLflow Projects kunt u uw code organiseren en beschrijven, zodat andere gegevenswetenschappers (of geautomatiseerde hulpprogramma's) deze kunnen uitvoeren. Met MLflow Projects met Azure Machine Learning kunt u uw trainingsuitvoeringen in uw werkruimte bijhouden en beheren.

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.

Meer informatie over de MLflow- en Azure Machine Learning-integratie.

Vereisten

  • Installeer het MLflow SDK-pakket mlflow en de Azure Machine Learning-invoegtoepassing voor MLflow azureml-mlflow.

    pip install mlflow azureml-mlflow
    

    Tip

    U kunt het mlflow-skinny pakket gebruiken. Dit is een lichtgewicht MLflow-pakket zonder SQL-opslag-, server-, UI- of data science-afhankelijkheden. mlflow-skinny wordt aanbevolen voor gebruikers die voornamelijk de mogelijkheden voor tracering en logboekregistratie van MLflow nodig hebben zonder de volledige suite met functies, waaronder implementaties, te importeren.

  • Een Azure Machine Learning-werkruimte. U kunt er een maken door de zelfstudie Machine Learning-resources maken te volgen.

  • Als u externe tracering uitvoert (dat wil gezegd, experimenten bijhouden die buiten Azure Machine Learning worden uitgevoerd), configureert u MLflow zodat deze verwijst naar de tracerings-URI van uw Azure Machine Learning-werkruimte. Zie MLflow configureren voor Azure Machine Learning voor meer informatie over het verbinden van MLflow met uw werkruimte.

  • Voor het gebruik van Azure Machine Learning als back-end voor MLflow-projecten is het pakket azureml-corevereist:

    pip install azureml-core
    

Verbinding maken met uw werkruimte

Als u buiten Azure Machine Learning werkt, moet u MLflow configureren om te verwijzen naar de tracerings-URI van uw Azure Machine Learning-werkruimte. U vindt de instructies op MLflow configureren voor Azure Machine Learning.

MLflow-projecten bijhouden in Azure Machine Learning-werkruimten

In dit voorbeeld ziet u hoe u MLflow-projecten verzendt en deze bijhoudt in Azure Machine Learning.

  1. Voeg het azureml-mlflow pakket toe als pip-afhankelijkheid aan uw omgevingsconfiguratiebestand om metrische gegevens en sleutelartefacten in uw werkruimte bij te houden.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  2. Verzend de lokale uitvoering en zorg ervoor dat u de parameter backend = "azureml"instelt, waarmee ondersteuning wordt toegevoegd voor automatisch bijhouden, vastleggen van modellen, logboekbestanden, momentopnamen en afgedrukte fouten in uw werkruimte. In dit voorbeeld wordt ervan uitgegaan dat het MLflow-project dat u probeert uit te voeren zich in dezelfde map bevindt die u momenteel hebt, uri=".".

    mlflow run . --experiment-name  --backend azureml --env-manager=local -P alpha=0.3
    

    Bekijk uw uitvoeringen en metrische gegevens in de Azure Machine Learning-studio.

MLflow-projecten trainen in Azure Machine Learning-taken

In dit voorbeeld ziet u hoe u MLflow-projecten verzendt als een taak die wordt uitgevoerd op Azure Machine Learning Compute.

  1. Maak het back-endconfiguratieobject, in dit geval geven we aan COMPUTE. Deze parameter verwijst naar de naam van uw externe rekencluster dat u wilt gebruiken voor het uitvoeren van uw project. Als COMPUTE het aanwezig is, wordt het project automatisch als een Azure Machine Learning-taak verzonden naar de aangegeven rekenkracht.

    backend_config.json

    {
        "COMPUTE": "cpu-cluster"
    }
    
    
  2. Voeg het azureml-mlflow pakket toe als pip-afhankelijkheid aan uw omgevingsconfiguratiebestand om metrische gegevens en sleutelartefacten in uw werkruimte bij te houden.

    conda.yaml

    name: mlflow-example
    channels:
      - defaults
    dependencies:
      - numpy>=1.14.3
      - pandas>=1.0.0
      - scikit-learn
      - pip:
        - mlflow
        - azureml-mlflow
    
  3. Verzend de lokale uitvoering en zorg ervoor dat u de parameter backend = "azureml"instelt, waarmee ondersteuning wordt toegevoegd voor automatisch bijhouden, vastleggen van modellen, logboekbestanden, momentopnamen en afgedrukte fouten in uw werkruimte. In dit voorbeeld wordt ervan uitgegaan dat het MLflow-project dat u probeert uit te voeren zich in dezelfde map bevindt die u momenteel hebt, uri=".".

    mlflow run . --backend azureml --backend-config backend_config.json -P alpha=0.3
    

    Notitie

    Omdat Azure Machine Learning-taken altijd worden uitgevoerd in de context van omgevingen, wordt de parameter env_manager genegeerd.

    Bekijk uw uitvoeringen en metrische gegevens in de Azure Machine Learning-studio.

Resources opschonen

Als u niet van plan bent om de vastgelegde metrische gegevens en artefacten in uw werkruimte te gebruiken, is de mogelijkheid om ze afzonderlijk te verwijderen momenteel niet beschikbaar. Verwijder in plaats daarvan de resourcegroep die het opslagaccount en de werkruimte bevat, zodat er geen kosten in rekening worden gebracht:

  1. Selecteer Resourcegroepen links in Azure Portal.

    Image showing how to delete an Azure resource group.

  2. Selecteer de resourcegroep die u eerder hebt gemaakt uit de lijst.

  3. Selecteer Resourcegroep verwijderen.

  4. Voer de naam van de resourcegroup in. Selecteer daarna Verwijderen.

Voorbeeldnotebooks

De MLflow met Azure Machine Learning-notebooks laten zien en uitbreiden op concepten die in dit artikel worden gepresenteerd.

Notitie

Een communitygestuurde opslagplaats met voorbeelden met behulp van mlflow vindt u op https://github.com/Azure/azureml-examples.

Volgende stappen