Eksperimenter med maskinel indlæring i Microsoft Fabric

Et maskinel indlæringseksperiment er den primære enhed for organisation og kontrol for alle relaterede machine learning-kørsler. En kørsel svarer til en enkelt udførelse af modelkoden. I MLflow er sporing baseret på eksperimenter og kørsler.

Eksperimenter med maskinel indlæring gør det muligt for datateknikere at logføre parametre, kodeversioner, målepunkter og outputfiler, når de kører deres kode til maskinel indlæring. Med eksperimenter kan du også visualisere, søge efter og sammenligne kørsler samt downloade kørselsfiler og metadata til analyse i andre værktøjer.

I denne artikel kan du få mere at vide om, hvordan dataspecialister kan interagere med og bruge eksperimenter med maskinel indlæring til at organisere deres udviklingsproces og til at spore flere kørsler.

Forudsætninger

Opret et eksperiment

Du kan oprette et maskinel indlæringseksperiment direkte fra startsiden for datavidenskab i Power BI-brugergrænsefladen eller ved at skrive kode, der bruger MLflow-API'en.

Opret et eksperiment ved hjælp af brugergrænsefladen

Sådan opretter du et maskinel indlæringseksperiment fra brugergrænsefladen:

  1. Opret et nyt datavidenskabsarbejdsområde, eller vælg et eksisterende.

  2. Vælg Eksperimentér i afsnittet "Ny".

  3. Angiv et eksperimentnavn, og vælg Opret. Denne handling opretter et tomt eksperiment i dit arbejdsområde.

    Screenshot showing where to select Experiment in the New menu.

Når du har oprettet eksperimentet, kan du begynde at tilføje kørsler for at spore kørselsdata og -parametre.

Opret et eksperiment ved hjælp af MLflow-API'en

Du kan også oprette et maskinel indlæringseksperiment direkte fra din oprettelsesoplevelse ved hjælp af mlflow.create_experiment() API'erne eller mlflow.set_experiment() . I følgende kode skal du erstatte <EXPERIMENT_NAME> med dit eksperiments navn.

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>")

Administrer kørsler i et eksperiment

Et maskinel indlæringseksperiment indeholder en samling kørsler til forenklet sporing og sammenligning. I et eksperiment kan en dataforsker navigere på tværs af forskellige kørsler og udforske de underliggende parametre og målepunkter. Dataspecialister kan også sammenligne kørsler i et maskinel indlæringseksperiment for at identificere, hvilket undersæt af parametre der giver en ønsket modelydeevne.

Spor kørsler

En maskinel indlæringskørsel svarer til en enkelt udførelse af modelkode.

Screenshot of machine learning run detail page.

Hver kørsel indeholder følgende oplysninger:

  • Kilde: Navnet på den notesbog, der oprettede kørslen.
  • Registreret version: Angiver, om kørslen blev gemt som en model til maskinel indlæring.
  • Startdato: Starttidspunktet for kørslen.
  • Status: Status for kørslen.
  • Hyperparameters: Hyperparameters gemt som nøgleværdipar. Både nøgler og værdier er strenge.
  • Målepunkter: Kør målepunkter, der er gemt som nøgleværdipar. Værdien er numerisk.
  • Outputfiler: Outputfiler i et hvilket som helst format. Du kan f.eks. optage billeder, miljø, modeller og datafiler.

Vis seneste kørsler

Du kan også få vist de seneste kørsler for et eksperiment direkte fra listevisningen for arbejdsområdet. Denne visning giver dig mulighed for at holde styr på de seneste aktiviteter, hurtigt gå til det relaterede Spark-program og anvende filtre baseret på kørselsstatussen.

Screenshot of machine learning recent runs and Spark application view.

Sammenlign og filtrer kørsler

Hvis du vil sammenligne og evaluere kvaliteten af dine kørsler af maskinel indlæring, kan du sammenligne parametre, målepunkter og metadata mellem valgte kørsler i et eksperiment.

Sammenlign kørsler visuelt

Du kan visuelt sammenligne og filtrere kørsler i et eksisterende eksperiment. Visuel sammenligning giver dig mulighed for nemt at navigere mellem flere kørsler og sortere på tværs af dem.

Screenshot showing a list of runs and the chart view.

Sådan sammenligner du kørsler:

  1. Vælg et eksisterende maskinel indlæringseksperiment, der indeholder flere kørsler.
  2. Vælg fanen Vis, og gå derefter til listevisningen Kør. Du kan også vælge muligheden for at få vist kørselslisten direkte fra visningen Kør detaljer .
  3. Tilpas kolonnerne i tabellen ved at udvide ruden Tilpas kolonner . Her kan du vælge de egenskaber, målepunkter og hyperparametre, du vil se.
  4. Udvid filtreringsruden for at indsnævre resultaterne baseret på visse valgte kriterier.
  5. Vælg flere kørsler for at sammenligne deres resultater i ruden til sammenligning af målepunkter. I denne rude kan du tilpasse diagrammerne ved at ændre diagramtitlen, visualiseringstypen, X-aksen, Y-aksen og meget mere.

Sammenlign kørsler ved hjælp af MLflow-API'en

Dataspecialister kan også bruge MLflow til at forespørge på og søge blandt kørsler i et eksperiment. Du kan udforske flere MLflow-API'er til søgning, filtrering og sammenligning af kørsler ved at gå til MLflow-dokumentationen.

Hent alle kørsler

Du kan bruge MLflow-søge-API'en mlflow.search_runs() til at få alle kørsler i et eksperiment ved at erstatte <EXPERIMENT_NAME> med dit eksperimentnavn eller <EXPERIMENT_ID> med dit eksperiment-id i følgende kode:

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>"])

Tip

Du kan søge på tværs af flere eksperimenter ved at angive en liste over eksperiment-id'er til experiment_ids parameteren. På samme måde gør det muligt for MLflow at søge på tværs af flere eksperimenter ved at angive en liste over eksperimentnavne til experiment_names parameteren. Dette kan være nyttigt, hvis du vil sammenligne på tværs af kørsler i forskellige eksperimenter.

Bestil og begræns kørsler

Brug parameteren max_results fra search_runs til at begrænse antallet af returnerede kørsler. Parameteren order_by giver dig mulighed for at angive kolonner, der skal sorteres efter, og kan indeholde en valgfri DESC eller ASC værdi. Følgende eksempel returnerer f.eks. den sidste kørsel af et eksperiment.

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

Sammenlign kørsler i en Fabric-notesbog

Du kan bruge widgetten OPRETTELSE af MLFlow i Fabric-notesbøger til at spore MLflow-kørsler, der er genereret i hver notesbogcelle. Widgetten giver dig mulighed for at spore dine kørsler, tilknyttede målepunkter, parametre og egenskaber helt ned til det individuelle celleniveau.

Hvis du vil have en visuel sammenligning, kan du også skifte til sammenligningsvisningen Kør. Denne visning viser dataene grafisk og hjælper med hurtigt at identificere mønstre eller afvigelser på tværs af forskellige kørsler.

Screenshot showing how to use the MLFlow authoring widget.

Gem kørsel som en model til maskinel indlæring

Når en kørsel giver det ønskede resultat, kan du gemme kørslen som en model til forbedret modelsporing og til modelinstallation ved at vælge Gem som en ML-model.

Screenshot showing where to select Create a new model.