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 szervezetének és vezérlésének elsődleges egysége. A futtatás a modellkód egyetlen végrehajtásának felel meg. Az MLflow-ban a nyomkö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, olvassa el a Power BI Premium vá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 Power BI felhasználói felületén található Adatelemzés kezdőlapjáról 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 adatelemzési munkaterületet, vagy válasszon ki egy meglévőt.

  2. Válassza a Kísérlet lehetőséget az "Új" szakaszban.

  3. Adjon meg egy kísérletnevet, és válassza a Létrehozás lehetőséget. Ez a művelet létrehoz egy üres kísérletet a munkaterületen belül.

    Screenshot showing where to select Experiment in the New menu.

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 felületről is létrehozhat az mlflow.create_experiment() API-k használatával mlflow.set_experiment() . Az alábbi kódban cserélje le <EXPERIMENT_NAME> a kísérlet nevét.

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

Futtatások kezelése kísérleten belül

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.

Screenshot of machine learning run detail page.

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

  • Forrás: A futtatás létrehozó jegyzetfüzetének neve.
  • Regisztrált verzió: Azt jelzi, hogy a futtatás gépi tanulási modellként lett-e mentve.
  • Kezdési dátum: A futtatás kezdési időpontja.
  • Állapot: A futtatás állapota.
  • 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.

Legutóbbi futtatások megtekintése

A kísérlet legutóbbi futtatásai közvetlenül a munkaterület listanézetéből is megtekinthetők. 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.

Screenshot of machine learning recent runs and Spark application view.

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.

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.

Screenshot showing a list of runs and the chart view.

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ás lista nézetre. Másik lehetőségként választhatja a futtatási lista megtekintésének lehetőségét közvetlenül a Futtatás részletei nézetből.
  3. Az Oszlopok testreszabása panel kibontásával testre szabhatja a táblázat oszlopait . Itt kiválaszthatja a megtekinteni kívánt tulajdonságokat, metrikákat é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. Az MLflow dokumentációjában tová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 keresési API-val mlflow.search_runs() egy kísérlet <EXPERIMENT_NAME> összes futtatását lekérheti a kísérlet nevével vagy <EXPERIMENT_ID> a kísérlet azonosítójával 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>"])

Tipp.

Több kísérletben is kereshet, ha megadja a paraméternek a experiment_ids kísérletazonosítók listáját. Hasonlóképpen, ha a paraméternek megadja a experiment_names kísérletnevek listáját, 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.

Rendezés és korlátfuttatások

Használja a paramétert search_runs a max_results visszaadott futtatások számának korlátozásához. A order_by paraméterrel listázhatja a sorrendbe rendezendő oszlopokat, és tartalmazhat egy választható DESC vagy ASC egy értéket. 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"])

Háló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 vizualizációk összehasonlításához átválthat a Futtatás összehasonlító 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.

Screenshot showing how to use the MLFlow authoring widget.

Futtatás mentése gépi tanulási modellként

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ént lehetőséget választva.

Screenshot showing where to select Create a new model.