Experimenty strojového učení v Microsoft Fabric

Experiment strojového učení je primární jednotkou organizace a řízením pro všechna související spuštění strojového učení. Spuštění odpovídá jedinému spuštění kódu modelu. V MLflow je sledování založené na experimentech a spuštěních.

Experimenty strojového učení umožňují datovým vědcům protokolovat parametry, verze kódu, metriky a výstupní soubory při spouštění kódu strojového učení. Experimenty také umožňují vizualizovat, vyhledávat a porovnávat spuštění a stahovat soubory a metadata pro analýzu v jiných nástrojích.

V tomto článku se dozvíte více o tom, jak můžou datoví vědci pracovat a používat experimenty strojového učení k uspořádání procesu vývoje a sledování více běhů.

Požadavky

Vytvoření experimentu

Experiment strojového učení můžete vytvořit přímo z domovské stránky datové vědy v uživatelském rozhraní (UI) Power BI nebo napsáním kódu, který používá rozhraní API MLflow.

Vytvoření experimentu pomocí uživatelského rozhraní

Vytvoření experimentu strojového učení z uživatelského rozhraní:

  1. Vytvořte nový pracovní prostor datové vědy nebo vyberte existující pracovní prostor.

  2. V části Nový vyberte Experiment .

  3. Zadejte název experimentu a vyberte Vytvořit. Tato akce vytvoří v pracovním prostoru prázdný experiment.

    Screenshot showing where to select Experiment in the New menu.

Po vytvoření experimentu můžete začít přidávat spuštění, abyste mohli sledovat metriky a parametry spuštění.

Vytvoření experimentu pomocí rozhraní API MLflow

Experiment strojového učení můžete také vytvořit přímo z prostředí pro vytváření pomocí mlflow.create_experiment() rozhraní API nebo mlflow.set_experiment() rozhraní API. V následujícím kódu nahraďte <EXPERIMENT_NAME> názvem 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 spuštění v rámci experimentu

Experiment strojového učení obsahuje kolekci spuštění pro zjednodušené sledování a porovnání. V rámci experimentu může datový vědec procházet různé běhy a zkoumat základní parametry a metriky. Datoví vědci můžou také porovnat spuštění v rámci experimentu strojového učení a určit, která podmnožina parametrů poskytuje požadovaný výkon modelu.

Sledování spuštění

Spuštění strojového učení odpovídá jedinému spuštění kódu modelu.

Screenshot of machine learning run detail page.

Každé spuštění obsahuje následující informace:

  • Zdroj: Název poznámkového bloku, který vytvořil spuštění.
  • Registrovaná verze: Označuje, jestli se spuštění uložilo jako model strojového učení.
  • Počáteční datum: Počáteční čas spuštění.
  • Stav: Průběh spuštění
  • Hyperparametry: Hyperparametry uložené jako páry klíč-hodnota. Klíče i hodnoty jsou řetězce.
  • Metriky: Spusťte metriky uložené jako páry klíč-hodnota. Hodnota je číselná.
  • Výstupní soubory: Výstupní soubory v libovolném formátu. Můžete například zaznamenávat obrázky, prostředí, modely a datové soubory.

Zobrazení nedávných spuštění

Nedávné spuštění experimentu můžete zobrazit také přímo ze zobrazení seznamu pracovních prostorů. Toto zobrazení umožňuje sledovat nedávné aktivity, rychle přejít na související aplikaci Spark a použít filtry na základě stavu spuštění.

Screenshot of machine learning recent runs and Spark application view.

Porovnání a filtrování spuštění

Pokud chcete porovnat a vyhodnotit kvalitu spuštění strojového učení, můžete porovnat parametry, metriky a metadata mezi vybranými spuštěními v rámci experimentu.

Vizuální porovnání spuštění

Můžete vizuálně porovnat a filtrovat spuštění v rámci existujícího experimentu. Vizuální porovnání umožňuje snadno přecházet mezi několika spuštěními a řadit mezi nimi.

Screenshot showing a list of runs and the chart view.

Porovnání spuštění:

  1. Vyberte existující experiment strojového učení, který obsahuje více spuštění.
  2. Vyberte kartu Zobrazení a pak přejděte do zobrazení seznamu Spustit. Případně můžete vybrat možnost Zobrazit seznam spuštění přímo ze zobrazení podrobností o spuštění.
  3. Sloupce v tabulce můžete přizpůsobit rozbalením podokna Přizpůsobit sloupce . Tady můžete vybrat vlastnosti, metriky a hyperparametry, které chcete zobrazit.
  4. Rozbalením podokna Filtr zúžíte výsledky na základě určitých vybraných kritérií.
  5. Pokud chcete porovnat výsledky v podokně porovnání metrik, vyberte více spuštění. V tomto podokně můžete grafy přizpůsobit změnou názvu grafu, typu vizualizace, osy X, osy Y a dalších možností.

Porovnání spuštění pomocí rozhraní API MLflow

Datoví vědci mohou také použít MLflow k dotazování a vyhledávání mezi spuštěními v rámci experimentu. Další rozhraní API MLflow pro vyhledávání, filtrování a porovnávání spuštění můžete prozkoumat v dokumentaci K MLflow.

Získání všech spuštění

Pomocí rozhraní API mlflow.search_runs() pro vyhledávání MLflow můžete získat všechna spuštění v experimentu nahrazením <EXPERIMENT_NAME> názvu experimentu nebo <EXPERIMENT_ID> ID experimentu v následujícím kódu:

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

Pokud chcete prohledat více experimentů, zadejte do parametru seznam ID experimentů experiment_ids . Podobně poskytnutí seznamu názvů experimentů parametru experiment_names umožní MLflow prohledávat více experimentů. To může být užitečné, pokud chcete porovnat běhy v různých experimentech.

Pořadí a omezení spuštění

Pomocí parametru max_results z search_runs omezte počet vrácených spuštění. Parametr order_by umožňuje vypsat sloupce, podle kterých se mají uspořádat, a může obsahovat volitelnou DESC hodnotu nebo ASC hodnotu. Například následující příklad vrátí poslední spuštění experimentu.

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

Porovnání spuštění v poznámkovém bloku Fabric

Pomocí widgetu pro vytváření mlFlow v poznámkových blocích Fabric můžete sledovat spuštění MLflow vygenerovaná v každé buňce poznámkového bloku. Widget umožňuje sledovat spuštění, přidružené metriky, parametry a vlastnosti přímo na úrovni jednotlivých buněk.

Pokud chcete získat vizuální porovnání, můžete také přepnout do zobrazení porovnání spuštění. Toto zobrazení zobrazuje data graficky, což pomáhá rychle identifikovat vzory nebo odchylky napříč různými běhy.

Screenshot showing how to use the MLFlow authoring widget.

Uložení spuštění jako modelu strojového učení

Jakmile spuštění přinese požadovaný výsledek, můžete spuštění uložit jako model pro rozšířené sledování modelů a pro nasazení modelu výběrem možnosti Uložit jako model ML.

Screenshot showing where to select Create a new model.