Dela via


MLflow och Azure Machine Learning

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Den här artikeln beskriver funktionerna i MLflow, ett ramverk med öppen källkod som är utformat för att hantera hela maskininlärningslivscykeln. MLflow använder en konsekvent uppsättning verktyg för att träna och hantera modeller på olika plattformar. Du kan använda MLflow oavsett om experimenten körs lokalt eller på ett fjärrberäkningsmål, en virtuell dator eller en Azure Machine Learning-beräkningsinstans.

Azure Machine Learning-arbetsytor är MLflow-kompatibla, vilket innebär att du kan använda en Azure Machine Learning-arbetsyta på samma sätt som du använder en MLflow-server. Den här kompatibiliteten har följande fördelar:

  • Azure Machine Learning är inte värd för MLflow-serverinstanser, men kan använda MLflow-API:erna direkt.
  • Du kan använda en Azure Machine Learning-arbetsyta som spårningsserver för valfri MLflow-kod, oavsett om den körs i Azure Machine Learning eller inte. Du behöver bara konfigurera MLflow så att det pekar på den arbetsyta där spårningen ska ske.
  • Du kan köra alla träningsrutiner som använder MLflow i Azure Machine Learning utan att göra några ändringar.

Dricks

Till skillnad från Azure Machine Learning SDK v1 finns det inga loggningsfunktioner i Azure Machine Learning v2 SDK. Du kan använda MLflow-loggning för att säkerställa att dina träningsrutiner är molnoberoende, portabla och inte har något beroende av Azure Machine Learning.

Vad är spårning

När du arbetar med jobb spårar Azure Machine Learning automatiskt viss information om experiment, till exempel kod, miljö och indata och utdata. Modeller, parametrar och mått är dock specifika för scenariot, så modellbyggare måste konfigurera spårningen.

De sparade spårningsmetadata varierar beroende på experiment och kan omfatta:

  • Kod
  • Miljöinformation som os-version och Python-paket
  • Indata
  • Parameterkonfigurationer
  • Modeller
  • Utvärderingsmått
  • Utvärderingsvisualiseringar som förvirringsmatriser och prioritetsritningar
  • Utvärderingsresultat, inklusive vissa utvärderingsförutsägelser

Fördelar med spårningsexperiment

Oavsett om du tränar modeller med jobb i Azure Machine Learning eller interaktivt i notebook-filer hjälper experimentspårning dig:

  • Organisera alla dina maskininlärningsexperiment på en enda plats. Du kan sedan söka efter och filtrera experiment och öka detaljnivån för att se information om tidigare experiment.
  • Jämför enkelt experiment, analysera resultat och felsöka modellträning.
  • Återskapa eller köra experiment igen för att verifiera resultaten.
  • Förbättra samarbetet eftersom du kan se vad andra teammedlemmar gör, dela experimentresultat och komma åt experimentdata programmatiskt.

Spårning med MLflow

Azure Machine Learning-arbetsytor är MLflow-kompatibla. Den här kompatibiliteten innebär att du kan använda MLflow för att spåra körningar, mått, parametrar och artefakter på arbetsytor utan att behöva ändra dina träningsrutiner eller mata in någon molnspecifik syntax. Information om hur du använder MLflow för att spåra experiment och körningar på Azure Machine Learning-arbetsytor finns i Spåra experiment och modeller med MLflow.

Azure Machine Learning använder MLflow-spårning för att logga mått och lagra artefakter för dina experiment. När du är ansluten till Azure Machine Learning materialiseras alla MLflow-spårningar på arbetsytan som du arbetar i.

Information om hur du aktiverar loggning för att övervaka realtidskörningsmått med MLflow finns i Logga mått, parametrar och filer med MLflow. Du kan också köra frågor mot och jämföra experiment och körningar med MLflow.

MLflow i Azure Machine Learning är ett sätt att centralisera spårning. Du kan ansluta MLflow till Azure Machine Learning-arbetsytor även när du arbetar lokalt eller i ett annat moln. Azure Machine Learning-arbetsytan ger en centraliserad, säker och skalbar plats för lagring av träningsmått och modeller.

MLflow i Azure Machine Learning kan:

Spårning med MLflow i R

MLflow-stöd i R har följande begränsningar:

  • MLflow-spårning är begränsad till att spåra experimentmått, parametrar och modeller i Azure Machine Learning-jobb.
  • Interaktiv utbildning på RStudio, Posit (tidigare RStudio Workbench) eller Jupyter Notebooks med R-kernels stöds inte.
  • Modellhantering och registrering stöds inte. Använd Azure Machine Learning CLI eller Azure Machine Learning-studio för modellregistrering och hantering.

Exempel på hur du använder MLflow-spårningsklienten med R-modeller i Azure Machine Learning finns i Träna R-modeller med Azure Machine Learning CLI (v2).

Spårning med MLflow i Java

MLflow-stöd i Java har följande begränsningar:

  • MLflow-spårning är begränsad till att spåra experimentmått och parametrar i Azure Machine Learning-jobb.
  • Artefakter och modeller kan inte spåras. Använd mlflow.save_model i stället metoden med outputs mappen i jobb för att spara modeller eller artefakter som du vill samla in.

Ett Java-exempel som använder MLflow-spårningsklienten med Azure Machine Learning-spårningsservern finns i azuremlflow-java.

Exempel på notebook-filer för MLflow-spårning

Modellregistrering med MLflow

Azure Machine Learning stöder MLflow för modellhantering. Det här stödet är ett bekvämt sätt för användare som är bekanta med MLflow-klienten att hantera hela modelllivscykeln. Mer information om hur du hanterar modeller med hjälp av MLflow-API:et i Azure Machine Learning finns i Hantera modellregister i Azure Machine Learning med MLflow.

Exempel på notebook-fil för MLflow-modellregistrering

Modellhantering med MLflow visar hur du hanterar modeller i register.

Modelldistribution med MLflow

Du kan distribuera MLflow-modeller till Azure Machine Learning för att dra nytta av en förbättrad upplevelse. Azure Machine Learning stöder distribution av MLflow-modeller till både realtids- och batchslutpunkter utan att behöva ange en miljö eller ett bedömningsskript.

MLflow SDK, Azure Machine Learning CLI, Azure Machine Learning SDK för Python och Azure Machine Learning-studio alla stöder MLflow-modelldistribution. Mer information om hur du distribuerar MLflow-modeller till Azure Machine Learning för både realtids- och batchinferens finns i Riktlinjer för distribution av MLflow-modeller.

Exempel på notebook-filer för MLflow-modelldistribution

Utbildning med MLflow Projects (förhandsversion)

Varning

Stöd för MLproject filer (MLflow Projects) i Azure Machine Learning dras tillbaka helt i september 2026. MLflow stöds fortfarande fullt ut och är fortfarande det rekommenderade sättet att spåra maskininlärningsarbetsbelastningar i Azure Machine Learning.

När du fortsätter att använda MLflow rekommenderar vi att du övergår från MLproject filer till Azure Machine Learning-jobb med antingen Azure CLI eller Azure Machine Learning SDK för Python (v2). Mer information om Azure Machine Learning-jobb finns i Spåra ML-experiment och modeller med MLflow.

Viktigt!

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade.

Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Du kan skicka träningsjobb till Azure Machine Learning med hjälp av MLflow Projects. Du kan skicka jobb lokalt med Azure Machine Learning-spårning eller migrera dina jobb till molnet via Azure Machine Learning-beräkning.

Information om hur du skickar träningsjobb som använder MLflow Projects till Azure Machine Learning-arbetsytor för spårning finns i Träna med MLflow Projects i Azure Machine Learning (förhandsversion).

Exempel på notebook-filer för MLflow-projekt

Funktioner för MLflow- och Azure Machine Learning-klientverktyg

I följande tabell visas livscykelåtgärder för maskininlärning som är möjliga med MLflow SDK och Azure Machine Learning-klientverktygen.

Funktion MLflow SDK Azure Machine Learning CLI/SDK v2 Azure Machine Learning Studio
Spåra och logga mått, parametrar och modeller
Hämta mått, parametrar och modeller Endast artefakter och modeller kan laddas ned.
Skicka träningsjobb Möjligt med hjälp av MLflow Projects (förhandsversion).
Skicka träningsjobb med Azure Machine Learning-datatillgångar
Skicka träningsjobb med maskininlärningspipelines
Hantera experiment och körningar
Hantera MLflow-modeller Vissa åtgärder kanske inte stöds.1
Hantera icke-MLflow-modeller
Distribuera MLflow-modeller till Azure Machine Learning (online och batch) Distribution av MLflow-modeller för batchinferens stöds inte för närvarande.2
Distribuera icke-MLflow-modeller till Azure Machine Learning

1 Mer information finns i Hantera modellregister i Azure Machine Learning med MLflow.

2 Ett alternativ finns i Distribuera och köra MLflow-modeller i Spark-jobb.