Zdieľať cez


Experimenty strojového učenia v službe Microsoft Fabric

Experiment strojového učenia je primárnou jednotkou organizácie a kontroly pre všetky súvisiace spustenia strojového učenia. Spustenie zodpovedá jednému vykonaniu kódu modelu. V toku MLflow je sledovanie založené na experimentoch a spusteniach.

Experimenty strojového učenia umožňujú dátovým vedcom zaznamenávať parametre, verzie kódu, metriky a výstupné súbory pri spúšťaní kódu strojového učenia. Experimenty tiež umožňujú vizualizovať, vyhľadávať a porovnávať spustenia, ako aj sťahovať spúšťané súbory a metaúdaje na analýzu v iných nástrojoch.

V tomto článku sa dozviete viac o tom, ako môžu dátoví vedci pracovať a používať experimenty strojového učenia na organizovanie procesu vývoja a sledovanie viacerých spustení.

Predpoklady

  • Predplatné na Power BI Premium. Ak ho nemáte, pozrite si tému Ako kúpiť Power BI Premium.
  • Pracovný priestor Power BI s priradenou kapacitou Premium.

Vytvorenie experimentu

Experiment strojového učenia môžete vytvoriť priamo z domovskej stránky Dátová veda v používateľskom rozhraní Power BI (UI) alebo napísaním kódu, ktorý používa rozhranie API toku údajov.

Vytvorenie experimentu pomocou používateľského rozhrania

Vytvorenie experimentu strojového učenia z používateľského rozhrania:

  1. Vytvorte nový pracovný priestor dátovej vedy alebo vyberte existujúci.

  2. V časti New vyberte položku Experimentovať .

  3. Zadajte názov experimentu a vyberte položku Vytvoriť. Táto akcia vytvorí prázdny experiment v rámci vášho pracovného priestoru.

    Screenshot showing where to select Experiment in the New menu.

Po vytvorení experimentu môžete začať pridávať spustenia na sledovanie metrík spustenia a parametrov.

Vytvorenie experimentu pomocou rozhrania API toku MLflow

Môžete tiež vytvoriť experiment strojového učenia priamo z vašej tvorby pomocou mlflow.create_experiment() rozhraní alebo rozhraní API mlflow.set_experiment() . V nasledujúcom kóde nahraďte <EXPERIMENT_NAME> názov vášho experimentu.

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

Správa spustení v rámci experimentu

Experiment strojového učenia obsahuje kolekciu spustení na zjednodušené sledovanie a porovnanie. V rámci experimentu môže dátový vedec prechádzať rôznymi spusteniami a skúmať základné parametre a metriky. Dátoví vedci tiež môžu porovnať spustenia v rámci experimentu strojového učenia, aby zistili, ktorá podmnožina parametrov prinesie požadovaný výkon modelu.

Spustenia na sledovanie

Spustenie strojového učenia zodpovedá jednému vykonaniu kódu modelu.

Screenshot of machine learning run detail page.

Každé spustenie obsahuje nasledujúce informácie:

  • Zdroj: Názov poznámkového bloku, ktorý vytvoril spustenie.
  • Registrovaná verzia: označuje, či sa spustenie uložilo ako model strojového učenia.
  • Dátum začatia: čas spustenia.
  • Stav: Priebeh spustenia.
  • Hyperparametre: Hyperparametre uložené ako páry kľúč-hodnota. Kľúče aj hodnoty sú reťazce.
  • Metriky: Spustenie metrík uložených ako páry kľúč-hodnota. Hodnota je numerická.
  • Výstupné súbory: Výstupné súbory v ľubovoľnom formáte. Môžete napríklad zaznamenávať obrázky, prostredie, modely a údajové súbory.

Zobrazenie posledných spustení

Môžete tiež zobraziť nedávne spustenia experimentovania priamo v zobrazení zoznamu pracovných priestorov. Toto zobrazenie vám umožňuje mať prehľad o nedávnej aktivite, rýchlo prejsť na súvisiacu aplikáciu Spark a použiť filtre na základe stavu spustenia.

Screenshot of machine learning recent runs and Spark application view.

Porovnanie a spustenia filtra

Ak chcete porovnať a vyhodnotiť kvalitu spustení strojového učenia, môžete porovnať parametre, metriky a metaúdaje medzi vybratými spusteniami v rámci experimentu.

Vizuálne porovnanie spustení

Môžete vizuálne porovnať a filtrovať spustenia v rámci existujúceho experimentu. Porovnávanie vizuálov umožňuje jednoducho prechádzať medzi viacerými spusteniami a zoraďovať medzi nimi.

Screenshot showing a list of runs and the chart view.

Porovnanie spustení:

  1. Vyberte existujúci experiment strojového učenia, ktorý obsahuje viacero spustení.
  2. Vyberte kartu Zobrazenie a potom prejdite na zobrazenie zoznamu Spustiť. Prípadne môžete vybrať možnosť Zobraziť zoznam spustení priamo v zobrazení Spustiť podrobnosti .
  3. Prispôsobte stĺpce v tabuľke rozbalením tably Prispôsobiť stĺpce . Tu môžete vybrať vlastnosti, metriky a hyperparametre, ktoré chcete zobraziť.
  4. Rozbaľte tablu Filter a zúžite výsledky na základe určitých vybratých kritérií.
  5. Vyberte viacero spustení na porovnanie svojich výsledkov na table porovnávania metrík. Na tejto table môžete prispôsobiť grafy zmenou názvu grafu, typu vizualizácie, osi x, osi y a ďalších možností.

Porovnanie spustení pomocou rozhrania API MLflow

Dátoví vedci môžu tiež použiť tok ML na dotazovanie a vyhľadávanie medzi spusteniami v rámci experimentu. Ďalšie rozhrania API toku MLflow môžete preskúmať na vyhľadávanie, filtrovanie a porovnávanie spustení navštívením dokumentácie k toku MLflow.

Získanie všetkých spustení

Rozhranie API mlflow.search_runs() vyhľadávania MLflow môžete použiť na získanie všetkých spustení v experimente, a to nahradením <EXPERIMENT_NAME> názvu experimentu alebo <EXPERIMENT_ID> ID experimentu nasledujúcim kódom:

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

Prepitné

Môžete vyhľadávať v rôznych experimentoch tak, že do parametra zadáte zoznam ID experimentov experiment_ids . Podobne platí, že ak zadáte zoznam názvov experimentov do experiment_names parametra, MLflow umožní vyhľadávanie vo viacerých experimentoch. Môže to byť užitočné, ak chcete porovnať spustenia naprieč rôznymi experimentmi.

Spustenia poradia a obmedzenia

Pomocou parametra max_results z search_runs obmedzíte počet vrátených spustení. Parameter order_by umožňuje uviesť v zozname stĺpce, podľa ktoré sa má zoradiť, a môže obsahovať voliteľnú DESC hodnotu alebo ASC hodnotu. Nasledujúci príklad napríklad vráti posledné spustenie experimentu.

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

Porovnanie spustení v poznámkovom bloku služby Fabric

Miniaplikáciu na vytváranie toku strojového učenia v poznámkových blokoch služby Fabric môžete použiť na sledovanie spustení toku MLflow vygenerovaných v každej bunke poznámkového bloku. Miniaplikácia vám umožňuje sledovať spúšťania, súvisiace metriky, parametre a vlastnosti až na úroveň jednotlivých buniek.

Ak chcete získať porovnanie vizuálu, môžete prejsť aj do zobrazenia Porovnania spustenia. Toto zobrazenie predstavuje údaje graficky pomocou rýchlej identifikácie vzorov alebo odchýlok v rôznych spusteniach.

Screenshot showing how to use the MLFlow authoring widget.

Uloženie spustenia ako modelu strojového učenia

Keď spustenie prinesie požadovaný výsledok, spustenie môžete uložiť ako model na vylepšené sledovanie modelu a na nasadenie modelu výberom položky Uložiť ako model strojového učenia.

Screenshot showing where to select Create a new model.