Megosztás a következőn keresztül:


Gépi tanulási kísérletek a Microsoft Fabricben

A gépi tanulási kísérlet az összes kapcsolódó gépi tanulási futtatás szervezésének és vezérlésének elsődleges egysége. A futtatás a modellkód egyetlen végrehajtásának felel meg. Az MLflowa nyomon követés kísérleteken és futtatásokon alapul.

A gépi tanulási kísérletek lehetővé teszik az adattudósoknak, hogy a gépi tanulási kód futtatásakor naplózzanak paramétereket, kódverziókat, metrikákat és kimeneti fájlokat. A kísérletek lehetővé teszik a futtatások vizualizációjának, keresésének és összehasonlításának, valamint a futtatási fájlok és metaadatok letöltését más eszközök elemzéséhez.

Ebben a cikkben többet tudhat meg arról, hogyan használhatják az adattudósok a gépi tanulási kísérleteket a fejlesztési folyamatuk rendszerezésére és több futtatás nyomon követésére.

Előfeltételek

  • Power BI Premium-előfizetés. Ha nincs ilyenje, tekintse meg A Power BI Premiummegvásárlása című témakört.
  • Power BI-munkaterület hozzárendelt prémium szintű kapacitással.

Kísérlet létrehozása

Gépi tanulási kísérletet közvetlenül a háló felhasználói felületéről (UI) vagy az MLflow API-t használó kód megírásával hozhat létre.

Kísérlet létrehozása a felhasználói felületen

Gépi tanulási kísérlet létrehozása a felhasználói felületről:

  1. Hozzon létre egy új munkaterületet, vagy válasszon ki egy meglévőt.
  2. Az új elemet létrehozhatja a munkaterületen vagy a Létrehozás gomb használatával.
    1. Munkaterület:
      1. Válassza ki a munkaterületet.
      2. Válassza Új elem.
      3. Válassza a(z) Kísérlet opciót az Adatok elemzése és betanításamenüben. Képernyőkép arról, hogy hol válassza a Kísérlet lehetőséget a munkaterületen.
    2. Létrehozás gomb:
      1. A függőleges menüben található közül válassza a létrehozása lehetőséget. Létrehozás gomb képernyőképe.
      2. Válassza Kísérlet lehetőséget az Adatelemzésiterületen. Képernyőkép arról, hogy hol válassza a Kísérlet lehetőséget a létrehozás kiválasztása után.
  3. Adja meg a kísérlet nevét, és válassza a Createlehetőséget. Ez a művelet létrehoz egy üres kísérletet a munkaterületen belül.

A kísérlet létrehozása után elkezdhet futtatásokat hozzáadni a futtatási metrikák és paraméterek nyomon követéséhez.

Kísérlet létrehozása az MLflow API használatával

Gépi tanulási kísérletet közvetlenül a szerzői élményből is létrehozhat a mlflow.create_experiment() vagy mlflow.set_experiment() API-k használatával. Az alábbi kódban cserélje le <EXPERIMENT_NAME> a kísérlet nevére.

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

A kísérleten belüli feladatok kezelése

A gépi tanulási kísérlet futtatások gyűjteményét tartalmazza az egyszerűbb nyomon követés és összehasonlítás érdekében. Egy kísérleten belül az adatelemzők különböző futtatások között navigálhatnak, és megismerhetik a mögöttes paramétereket és metrikákat. Az adattudósok a gépi tanulási kísérletben futtatott futtatásokat is összehasonlíthatják annak megállapításához, hogy a paraméterek mely részhalmaza eredményez kívánt modellteljesítményt.

Futtatások nyomon követése

A gépi tanulási futtatások a modellkód egyetlen végrehajtásának felelnek meg.

Képernyőkép a gépi tanulás futtatásának részletes lapjáról.

Minden futtatás a következő információkat tartalmazza:

  • Forrás: A futtatást létrehozó jegyzetfüzet neve.
  • Regisztrált verzió: Ez jelzi, hogy a futtatás gépi tanulási modellként volt-e mentve.
  • kezdési dátum: A futtatás kezdési időpontja.
  • Állapot: A futtatás előrehaladása.
  • hiperparaméterek: Kulcs-érték párként mentett hiperparaméterek. A kulcsok és az értékek egyaránt sztringek.
  • Metrikák: Kulcs-érték párként mentett metrikák futtatása. Az érték numerikus.
  • Kimeneti fájlok: Kimeneti fájlok bármilyen formátumban. Rögzíthet például képeket, környezetet, modelleket és adatfájlokat.
  • címkék: A metaadatok kulcs-érték párként futtatandók.

Legutóbbi futtatások megtekintése

A kísérlet legutóbbi futtatásai is megtekinthetők futtatási listakiválasztásával. Ezzel a nézettel nyomon követheti a legutóbbi tevékenységeket, gyorsan ugorhat a kapcsolódó Spark-alkalmazásra, és szűrőket alkalmazhat a futtatási állapot alapján.

Képernyőkép a gépi tanulás legutóbbi futtatásairól.

Futtatások összehasonlítása és szűrése

A gépi tanulási futtatások minőségének összehasonlításához és kiértékeléséhez összehasonlíthatja a paramétereket, metrikákat és metaadatokat a kísérletben kiválasztott futtatások között.

Címkék alkalmazása futtatásokra

A kísérletfuttatások MLflow-címkézésével a felhasználók kulcs-érték párok formájában adhatnak hozzá egyéni metaadatokat a futtatásukhoz. Ezek a címkék segítenek adott attribútumok alapján kategorizálni, szűrni és keresni a futtatásokat, így egyszerűbbé válik a kísérletek kezelése és elemzése az MLflow platformon belül. A felhasználók címkék használatával címkézhetik a futtatásokat olyan információkkal, mint a modelltípusok, paraméterek vagy bármely releváns azonosító, így javítva a kísérletek teljes szervezetét és nyomon követhetőségét.

Ez a kódrészlet elindít egy MLflow-futtatásokat, naplóz néhány paramétert és metrikát, és címkéket ad hozzá a kategorizáláshoz, és további környezetet biztosít a futtatáshoz.

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

A címkék alkalmazása után az eredményeket közvetlenül a beágyazott MLflow widgetből vagy a futtatás részletei oldalról tekintheti meg.

Képernyőkép, amely egy futtatásra alkalmazott címkéket mutat a részletek oldalon.

Figyelmeztetés

figyelmeztetés: Címkék alkalmazásának korlátozásai az MLflow-kísérletfuttatásokra a Fabric

  • Nem üres címkék: A címkenevek és -értékek nem lehetnek üresek. Ha üres névvel vagy értékkel rendelkező címkét próbál alkalmazni, a művelet sikertelen lesz.
  • címkenevek: A címkenevek legfeljebb 250 karakter hosszúságúak lehetnek.
  • Címkeértékek: A címkeértékek legfeljebb 5000 karakter hosszúságúak lehetnek.
  • korlátozott címkenevek: Bizonyos előtagokkal kezdődő címkenevek nem támogatottak. A synapseml, mlflowvagy trident kezdődő címkék nevei korlátozottak, és nem lesznek elfogadva.

Futtatások vizuális összehasonlítása

Egy meglévő kísérleten belül vizuálisan összehasonlíthatja és szűrheti a futtatásokat. A vizuális összehasonlítással egyszerűen navigálhat több futtatás között, és rendezheti őket.

Képernyőkép a futtatások listájáról és a diagramnézetről.

Futtatások összehasonlítása:

  1. Válasszon ki egy meglévő, több futtatásból álló gépi tanulási kísérletet.
  2. Válassza a Nézet lapot, majd lépjen a Futtatási lista nézetéhez. Alternatív megoldásként választhatja a Futtatási lista megtekintése lehetőséget közvetlenül a Futtatás részletei nézetből.
  3. A táblázat oszlopainak testreszabásához bontsa ki a Az oszlopok testreszabása panelt. Itt kiválaszthatja a megtekinteni kívánt tulajdonságokat, metrikákat, címkéket és hiperparamétereket.
  4. Bontsa ki a Szűrő panelt, hogy bizonyos kiválasztott feltételek alapján szűkítse az eredményeket.
  5. Több futtatás kiválasztásával összehasonlíthatja az eredményeket a metrikák összehasonlító paneljén. Ezen az ablaktáblán testre szabhatja a diagramokat a diagram címének, a vizualizáció típusának, az X tengelynek, az Y tengelynek és egyebeknek a módosításával.

Futtatások összehasonlítása az MLflow API használatával

Az adattudósok az MLflow használatával is lekérdezhetik és kereshetnek a kísérleten belüli futtatások között. A MLflow dokumentációjábantovábbi MLflow API-kat is megismerhet a futtatások kereséséhez, szűréséhez és összehasonlításához.

Az összes futtatás lekérése

Az MLflow search API mlflow.search_runs() használatával egy kísérlet összes futtatását lekérheti, ha lecseréli <EXPERIMENT_NAME> a kísérlet nevére, vagy <EXPERIMENT_ID> a kísérletazonosítóra a következő kódban:

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

Borravaló

Több kísérletben is kereshet, ha megadja a kísérletazonosítók listáját a experiment_ids paraméternek. Hasonlóképpen, ha a kísérletnevek listáját a experiment_names paraméternek adja meg, az MLflow több kísérletben is kereshet. Ez akkor lehet hasznos, ha különböző kísérleteken belül szeretné összehasonlítani a futtatásokat.

Megrendelések és futási korlátok

A visszaadott futtatások számának korlátozásához használja a search_runsmax_results paraméterét. A order_by paraméterrel listázhatja a sorrendbe rendezendő oszlopokat, és opcionális DESC vagy ASC értéket tartalmazhat. Az alábbi példa például egy kísérlet utolsó futtatását adja vissza.

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

A Fabric jegyzetfüzeten belüli futtatások összehasonlítása

A Fabric-jegyzetfüzetekben található MLFlow-szerkesztő widgettel nyomon követheti az egyes jegyzetfüzetcellákban létrehozott MLflow-futtatásokat. A widget lehetővé teszi a futtatások, a kapcsolódó metrikák, paraméterek és tulajdonságok nyomon követését közvetlenül az egyes cellaszintig.

A vizuális összehasonlításhoz átválthat a Összehasonlító futtatása nézetre is. Ez a nézet grafikusan jeleníti meg az adatokat, segítve a minták vagy eltérések gyors azonosítását a különböző futtatások között.

Képernyőkép az MLFlow szerzői widget használatáról.

Futtatás mentése mint gépi tanulási modell

Ha egy futtatás a kívánt eredményt adja, a futtatást modellként mentheti a továbbfejlesztett modellkövetéshez és a modell üzembe helyezéséhez a Mentés ml-modellkéntlehetőséget választva.

Képernyőkép, amelyen az új modell létrehozása lehetőség van kiválasztva.

Gépi tanulási kísérletek figyelemmel kísérése (előzetes)

Az ML-kísérletek közvetlenül a Monitorba vannak integrálva. Ez a funkció úgy lett kialakítva, hogy több betekintést nyújtson a Spark-alkalmazásokba és az általuk létrehozott ML-kísérletekbe, így könnyebben kezelheti és hibakeresést végezhet ezen folyamatokban.

A futások nyomon követése a monitor segítségével

A felhasználók közvetlenül a monitorról követhetik nyomon a kísérletfuttatásokat, így egységes képet kaphatnak az összes tevékenységükről. Ez az integráció szűrési lehetőségeket is tartalmaz, amelyek lehetővé teszik a felhasználók számára, hogy az elmúlt 30 napban vagy más meghatározott időszakban létrehozott kísérletekre vagy futtatásokra összpontosítsanak.

Képernyőkép arról, hogy a figyelő lapon hol fut a nézet.

Az ML-kísérlet közvetlenül a Monitorba van integrálva, ahol kiválaszthat egy adott Spark-alkalmazást, és hozzáférhet az elem pillanatképeihez. Itt megtalálja az alkalmazás által létrehozott összes kísérlet és futtatás listáját.