Maskinlæringseksperimenter i Microsoft Fabric

Et maskinlæringseksperiment er den primære enheten for organisering og kontroll for alle relaterte maskinlæringskjøringer. En kjøring tilsvarer en enkelt kjøring av modellkode. I MLflow er sporing basert på eksperimenter og kjøringer.

Maskinlæringseksperimenter gjør det mulig for dataforskere å logge parametere, kodeversjoner, måledata og utdatafiler når de kjører maskinlæringskoden. Eksperimenter lar deg også visualisere, søke etter og sammenligne kjøringer, samt laste ned kjøre filer og metadata for analyse i andre verktøy.

I denne artikkelen lærer du mer om hvordan dataforskere kan samhandle med og bruke maskinlæringseksperimenter til å organisere utviklingsprosessen og spore flere kjøringer.

Forutsetning

Opprette et eksperiment

Du kan opprette et maskinlæringseksperiment direkte fra hjemmesiden for datavitenskap i brukergrensesnittet i Power BI eller ved å skrive kode som bruker MLflow-API-en.

Opprette et eksperiment ved hjelp av brukergrensesnittet

Slik oppretter du et maskinlæringseksperiment fra brukergrensesnittet:

  1. Opprett et nytt arbeidsområde for datavitenskap, eller velg et eksisterende arbeidsområde.

  2. Velg Eksperimenter fra «Ny»-delen.

  3. Angi et eksperimentnavn, og velg Opprett. Denne handlingen oppretter et tomt eksperiment i arbeidsområdet.

    Screenshot showing where to select Experiment in the New menu.

Når du har opprettet eksperimentet, kan du begynne å legge til kjøringer for å spore kjøremetrikk og parametere.

Opprette et eksperiment ved hjelp av API-en for MLflow

Du kan også opprette et maskinlæringseksperiment direkte fra redigeringsopplevelsen ved hjelp av mlflow.create_experiment() API-ene eller mlflow.set_experiment() API-ene. Erstatt <EXPERIMENT_NAME> med eksperimentets navn i følgende kode.

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

Administrere kjøringer i et eksperiment

Et maskinlæringseksperiment inneholder en samling kjøringer for forenklet sporing og sammenligning. I et eksperiment kan en dataforsker navigere på tvers av ulike kjøringer og utforske de underliggende parameterne og måledataene. Dataforskere kan også sammenligne kjøringer i et maskinlæringseksperiment for å identifisere hvilket delsett av parametere som gir en ønsket modellytelse.

Spor kjøringer

En maskinlæringskjøring tilsvarer én kjøring av modellkode.

Screenshot of machine learning run detail page.

Hver kjøring inneholder følgende informasjon:

  • Kilde: Navnet på notatblokken som opprettet kjøringen.
  • Registrert versjon: Angir om kjøringen ble lagret som en maskinlæringsmodell.
  • Startdato: Starttidspunkt for kjøringen.
  • Status: Fremdriften for kjøringen.
  • Hyperparametere: Hyperparametere lagret som nøkkelverdipar. Både nøkler og verdier er strenger.
  • Måledata: Kjør måledata som er lagret som nøkkelverdipar. Verdien er numerisk.
  • Utdatafiler: Utdatafiler i alle formater. Du kan for eksempel ta opp bilder, miljø, modeller og datafiler.

Vis nylige kjøringer

Du kan også vise nylige kjøringer for et eksperiment direkte fra listevisningen i arbeidsområdet. Med denne visningen kan du holde oversikt over nylig aktivitet, raskt hoppe til det relaterte Spark-programmet og bruke filtre basert på kjørestatusen.

Screenshot of machine learning recent runs and Spark application view.

Sammenligne og filtrere kjøringer

Hvis du vil sammenligne og evaluere kvaliteten på maskinlæringskjøringene, kan du sammenligne parametere, måledata og metadata mellom valgte kjøringer i et eksperiment.

Sammenligne kjøringer visuelt

Du kan visuelt sammenligne og filtrere kjøringer i et eksisterende eksperiment. Med visualobjektsammenligning kan du enkelt navigere mellom flere kjøringer og sortere på tvers av dem.

Screenshot showing a list of runs and the chart view.

Slik sammenligner du kjøringer:

  1. Velg et eksisterende maskinlæringseksperiment som inneholder flere kjøringer.
  2. Velg Vis-fanen, og gå deretter til Kjør listevisning. Alternativt kan du velge alternativet for å vise kjørelisten direkte fra visningen Kjør detaljer .
  3. Tilpass kolonnene i tabellen ved å utvide ruten Tilpass kolonner . Her kan du velge egenskapene, måledataene og hyperparameterne du vil se.
  4. Utvid filterruten for å begrense resultatene basert på bestemte valgte vilkår.
  5. Velg flere kjøringer for å sammenligne resultatene i sammenligningsruten for måledata. Fra denne ruten kan du tilpasse diagrammene ved å endre diagramtittelen, visualiseringstypen, X-aksen, Y-aksen med mer.

Sammenligne kjøringer ved hjelp av API-en for MLflow

Dataforskere kan også bruke MLflow til å spørre og søke blant kjøringer i et eksperiment. Du kan utforske flere MLflow-API-er for søk, filtrering og sammenligning av kjøringer ved å gå til MLflow-dokumentasjonen.

Få alle kjøringer

Du kan bruke MLflow-søke-API-en mlflow.search_runs() til å få alle kjøringer i et eksperiment ved å <EXPERIMENT_NAME> erstatte med eksperimentnavnet eller <EXPERIMENT_ID> med eksperiment-ID-en 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>"])

Tips

Du kan søke på tvers av flere eksperimenter ved å gi parameteren experiment_ids en liste over eksperiment-ID-er. På samme måte vil det å gi en liste over eksperimentnavn til parameteren experiment_names tillate MLflow å søke på tvers av flere eksperimenter. Dette kan være nyttig hvis du vil sammenligne på tvers av kjøringer i ulike eksperimenter.

Bestillings- og grensekjøringer

Bruk parameteren max_results fra search_runs for å begrense antallet kjøringer som returneres. Parameteren order_by lar deg vise kolonnene du vil bestille etter, og kan inneholde en valgfri DESC verdi eller ASC verdi. Eksemplet nedenfor returnerer for eksempel den siste kjøringen av et eksperiment.

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

Sammenligne kjøringer i en Fabric-notatblokk

Du kan bruke kontrollprogrammet for MLFlow-redigering i Fabric-notatblokker til å spore MLflow-kjøringer som genereres i hver notatblokkcelle. Kontrollprogrammet lar deg spore kjøringer, tilknyttede måledata, parametere og egenskaper helt ned til det individuelle cellenivået.

Hvis du vil få en visuell sammenligning, kan du også bytte til Kjør sammenligningsvisning . Denne visningen presenterer dataene grafisk, noe som bidrar til rask identifisering av mønstre eller avvik på tvers av ulike kjøringer.

Screenshot showing how to use the MLFlow authoring widget.

Lagre kjøring som maskinlæringsmodell

Når en kjøring gir det ønskede resultatet, kan du lagre kjøringen som en modell for forbedret modellsporing og for modelldistribusjon ved å velge Lagre som en ML-modell.

Screenshot showing where to select Create a new model.