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
- En Power BI Premium-prenumeration. Om du inte har någon läser du Så här köper du Power BI Premium.
- En Power BI-arbetsyta med tilldelad premiumkapacitet.
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:
Skapa en ny datavetenskapsarbetsyta eller välj en befintlig.
Välj Experiment i avsnittet "Nytt".
Ange ett experimentnamn och välj Skapa. Den här åtgärden skapar ett tomt experiment på din arbetsyta.
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.
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.
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.
Så här jämför du körningar:
- Välj ett befintligt maskininlärningsexperiment som innehåller flera körningar.
- 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 .
- 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.
- Expandera fönstret Filter för att begränsa dina resultat baserat på vissa valda villkor.
- 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.
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.