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
- Předplatné Power BI Premium. Pokud ho nemáte, podívejte se, jak zakoupit Power BI Premium.
- Pracovní prostor Power BI s přiřazenou kapacitou Premium
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í:
Vytvořte nový pracovní prostor datové vědy nebo vyberte existující pracovní prostor.
V části Nový vyberte Experiment .
Zadejte název experimentu a vyberte Vytvořit. Tato akce vytvoří v pracovním prostoru prázdný experiment.
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.
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í.
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.
Porovnání spuštění:
- Vyberte existující experiment strojového učení, který obsahuje více spuštění.
- 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í.
- 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.
- Rozbalením podokna Filtr zúžíte výsledky na základě určitých vybraných kritérií.
- 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.
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.