Maskininlärningsexperiment i Microsoft Fabric

Ett maskininlärningsexperiment är den primära enheten för organisation och kontroll för alla relaterade maskininlärningskörningar. En körning motsvarar en enda körning av modellkod. I MLflow baseras spårningen på experiment och körningar.

Maskininlärningsexperiment gör det möjligt för dataforskare att logga parametrar, kodversioner, mått och utdatafiler när de kör sin maskininlärningskod. Med experiment kan du också visualisera, söka efter och jämföra körningar, samt ladda ned körningsfiler och metadata för analys i andra verktyg.

I den här artikeln lär du dig mer om hur dataexperter kan interagera med och använda maskininlärningsexperiment för att organisera sin utvecklingsprocess och spåra flera körningar.

Förutsättningar

Skapa ett experiment

Du kan skapa ett maskininlärningsexperiment direkt från startsidan för datavetenskap i Power BI-användargränssnittet (UI) eller genom att skriva kod som använder MLflow-API:et.

Skapa ett experiment med hjälp av användargränssnittet

Så här skapar du ett maskininlärningsexperiment från användargränssnittet:

  1. Skapa en ny datavetenskapsarbetsyta eller välj en befintlig.

  2. Välj Experiment i avsnittet "Nytt".

  3. Ange ett experimentnamn och välj Skapa. Den här åtgärden skapar ett tomt experiment på din arbetsyta.

    Screenshot showing where to select Experiment in the New menu.

När du har skapat experimentet kan du börja lägga till körningar för att spåra körningsmått och parametrar.

Skapa ett experiment med MLflow-API:et

Du kan också skapa ett maskininlärningsexperiment direkt från redigeringsupplevelsen med hjälp av API:erna mlflow.create_experiment() eller mlflow.set_experiment() . Ersätt med experimentets namn i följande kod <EXPERIMENT_NAME> .

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

Hantera körningar i ett experiment

Ett maskininlärningsexperiment innehåller en samling körningar för förenklad spårning och jämförelse. I ett experiment kan en dataexpert navigera i olika körningar och utforska underliggande parametrar och mått. Dataexperter kan också jämföra körningar i ett maskininlärningsexperiment för att identifiera vilka delmängder av parametrar som ger önskad modellprestanda.

Spåra körningar

En maskininlärningskörning motsvarar en enda körning av modellkod.

Screenshot of machine learning run detail page.

Varje körning innehåller följande information:

  • Källa: Namnet på anteckningsboken som skapade körningen.
  • Registrerad version: Anger om körningen sparades som en maskininlärningsmodell.
  • Startdatum: Starttid för körningen.
  • Status: Körningens förlopp.
  • Hyperparametrar: Hyperparametrar sparas som nyckel/värde-par. Både nycklar och värden är strängar.
  • Mått: Kör mått som sparats som nyckel/värde-par. Värdet är numeriskt.
  • Utdatafiler: Utdatafiler i valfritt format. Du kan till exempel spela in bilder, miljö, modeller och datafiler.

Visa de senaste körningarna

Du kan också visa de senaste körningarna för ett experiment direkt från listvyn för arbetsytor. Med den här vyn kan du hålla reda på den senaste aktiviteten, snabbt hoppa till det relaterade Spark-programmet och tillämpa filter baserat på körningsstatusen.

Screenshot of machine learning recent runs and Spark application view.

Jämföra och filtrera körningar

Om du vill jämföra och utvärdera kvaliteten på dina maskininlärningskörningar kan du jämföra parametrar, mått och metadata mellan valda körningar i ett experiment.

Jämför körningar visuellt

Du kan visuellt jämföra och filtrera körningar i ett befintligt experiment. Med visuell jämförelse kan du enkelt navigera mellan flera körningar och sortera mellan dem.

Screenshot showing a list of runs and the chart view.

Så här jämför du körningar:

  1. Välj ett befintligt maskininlärningsexperiment som innehåller flera körningar.
  2. Välj fliken Visa och gå sedan till vyn Kör lista . Du kan också välja alternativet för att visa körningslistan direkt från vyn Kör information .
  3. Anpassa kolumnerna i tabellen genom att expandera fönstret Anpassa kolumner . Här kan du välja de egenskaper, mått och hyperparametrar som du vill se.
  4. Expandera fönstret Filter för att begränsa dina resultat baserat på vissa valda villkor.
  5. Välj flera körningar för att jämföra deras resultat i jämförelsefönstret för mått. I det här fönstret kan du anpassa diagrammen genom att ändra diagramrubriken, visualiseringstypen, X-axeln, Y-axeln med mera.

Jämföra körningar med MLflow-API:et

Dataforskare kan också använda MLflow för att fråga och söka bland körningar i ett experiment. Du kan utforska fler MLflow-API:er för att söka, filtrera och jämföra körningar genom att gå till MLflow-dokumentationen.

Hämta alla körningar

Du kan använda MLflow-sök-API mlflow.search_runs() :et för att hämta alla körningar i ett experiment genom att <EXPERIMENT_NAME> ersätta med experimentnamnet eller <EXPERIMENT_ID> med experiment-ID:t i följande kod:

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

Dricks

Du kan söka i flera experiment genom att ange en lista över experiment-ID:t till parametern experiment_ids . På samma sätt gör en lista över experimentnamn till parametern experiment_names att MLflow kan söka i flera experiment. Detta kan vara användbart om du vill jämföra mellan körningar i olika experiment.

Order- och gränskörningar

Använd parametern max_results från search_runs för att begränsa antalet körningar som returneras. Med order_by parametern kan du lista kolumnerna som ska sorteras efter och kan innehålla ett valfritt DESC värde eller ASC värde. I följande exempel returneras till exempel den senaste körningen av ett experiment.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Jämföra körningar i en Fabric-notebook-fil

Du kan använda MLFlow-redigeringswidgeten i Fabric Notebooks för att spåra MLflow-körningar som genereras i varje notebook-cell. Med widgeten kan du spåra dina körningar, associerade mått, parametrar och egenskaper ända ned till den enskilda cellnivån.

Om du vill få en visuell jämförelse kan du också växla till vyn Kör jämförelse . Den här vyn visar data grafiskt, vilket underlättar snabb identifiering av mönster eller avvikelser mellan olika körningar.

Screenshot showing how to use the MLFlow authoring widget.

Spara kör som en maskininlärningsmodell

När en körning ger önskat resultat kan du spara körningen som en modell för förbättrad modellspårning och för modelldistribution genom att välja Spara som en ML-modell.

Screenshot showing where to select Create a new model.