Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Experiment strojového učení je primární jednotkou organizace a řízení pro veškerá související spuštění strojového učení. Jeden běh odpovídá jedinému spuštění kódu modelu. V MLflowje 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, co je 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 uživatelského rozhraní infrastruktury 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 nebo vyberte existující pracovní prostor.
V levém horním rohu pracovního prostoru vyberte Nová položka. V části Analyzovat a trénovat data vyberte Experiment .
Vyberte Vytvořit, které lze najít ve ... v vertikální nabídce.
V části Datové vědy 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 průběhy, abyste mohli sledovat jejich metriky a parametry.
Vytvoření experimentu pomocí rozhraní API MLflow
Můžete také vytvořit experiment strojového učení přímo ze svého prostředí pro vytváření s použitím rozhraní API mlflow.create_experiment() nebo mlflow.set_experiment(). 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 běhů 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.
Pokud chcete zobrazit spuštění pro experiment, vyberte v zobrazení experimentu seznam Spustit .
V seznamu spuštění můžete přejít na podrobnosti konkrétního spuštění tak, že vyberete název spuštění.
Sledování podrobností o spuštění
Spuštění strojového učení odpovídá jedinému spuštění kódu modelu. Pro každé spuštění můžete sledovat následující informace:
Každé spuštění obsahuje následující informace:
- Zdroj: Název poznámkového bloku, který vytvořil proces.
- 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.
- Značky: Metadata ve formě párů klíč-hodnota pro běhy.
Zobrazení seznamu spuštění
Všechna spuštění můžete zobrazit v experimentu v zobrazení seznamu spuštění . 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í.
Zobrazení seznamu spuštění
Všechna spuštění můžete zobrazit v experimentu v zobrazení seznamu spuštění . 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í.
Porovnejte a filtrujte běhy
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.
Použití značek pro spuštění
Označování MLflow pro spouštění experimentů umožňuje uživatelům přidávat ke svým běhům vlastní metadata ve formě párů klíč-hodnota. Tyto značky pomáhají kategorizovat, filtrovat a vyhledávat spuštění na základě konkrétních atributů, což usnadňuje správu a analýzu experimentů v rámci platformy MLflow. Uživatelé můžou používat značky k označení spuštění s informacemi, jako jsou typy modelů, parametry nebo jakékoli relevantní identifikátory, což zvyšuje celkovou organizaci a sledovatelnost experimentů.
Tento fragment kódu spustí spuštění MLflow, zaznamená některé parametry a metriky a přidá značky pro kategorizaci a poskytne další kontext pro spuštění.
import mlflow
import mlflow.sklearn
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.datasets import fetch_california_housing
# Autologging
mlflow.autolog()
# Load the California housing dataset
data = fetch_california_housing(as_frame=True)
X = data.data
y = data.target
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Start an MLflow run
with mlflow.start_run() as run:
# Train the model
model = LinearRegression()
model.fit(X_train, y_train)
# Predict and evaluate
y_pred = model.predict(X_test)
# Add tags
mlflow.set_tag("model_type", "Linear Regression")
mlflow.set_tag("dataset", "California Housing")
mlflow.set_tag("developer", "Bob")
Po použití značek můžete výsledky zobrazit přímo z integrovaného widgetu MLflow nebo ze stránky s podrobnostmi o spuštění.
Výstraha
Upozornění: Omezení používání značek na běhy experimentů MLflow ve Fabric
- Neprázdné značky: Názvy značek nebo hodnoty nesmí být prázdné. Pokud se pokusíte použít značku s prázdným názvem nebo hodnotou, operace selže.
- Názvy značek: Názvy značek mohou mít délku až 250 znaků.
- Hodnoty značek: Hodnoty značek můžou mít délku až 5 000 znaků.
-
Názvy značek s omezeným přístupem: Názvy značek začínající určitými předponami nejsou podporovány. Konkrétně názvy značek začínající na
synapseml,mlflownebotridentjsou omezeny a nebudou přijaty.
Vizuální porovnání běhů
Můžete vizuálně porovnat a filtrovat běhy 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.
Pro porovnání běhů:
- Vyberte existující experiment strojového učení, který obsahuje více spuštění.
- Vyberte kartu Zobrazení a poté přejděte do zobrazení Seznam spuštění. 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, značky a hyperparametry, které chcete zobrazit.
- Rozbalením podokna Filtr zúžíte výsledky na základě určitých vybraných kritérií.
- Pro porovnání výsledků v podokně porovnání metrik vyberte více běhů. 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 MLflow.
Získat všechny výsledky
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>"])
Návod
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ů. Může být užitečné, pokud chcete porovnat výsledky běhů v různých experimentech.
Příkazy 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"])
Porovnejte 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í Spustit porovnání. Toto zobrazení zobrazuje data graficky, což pomáhá rychle identifikovat vzory nebo odchylky napříč různými běhy.
Uložit spuštění jako model 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.
Monitorování experimentů strojového učení (náhled)
Experimenty ML jsou integrovány přímo do Monitoru. Tato funkce je navržená tak, aby poskytovala lepší přehled o vašich aplikacích Spark a experimentech ML, které generují, což usnadňuje správu a ladění těchto procesů.
Sledovat běhy z monitoru
Uživatelé můžou sledovat spuštění experimentu přímo z monitorování a poskytovat jednotné zobrazení všech svých aktivit. Tato integrace zahrnuje možnosti filtrování, které uživatelům umožňují zaměřit se na experimenty nebo spuštění vytvořené během posledních 30 dnů nebo jiných zadaných období.
Sledujte související běhy experimentů ML z aplikace Spark.
Experiment ML je integrovaný přímo do monitoru, kde můžete vybrat konkrétní aplikaci Spark a získat přístup ke snímkům položek. Tady najdete seznam všech experimentů a spuštění generovaných danou aplikací.