Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A gépi tanulási modell egy bizonyos típusú minták felismerésére betanított fájl. Betaníthat egy modellt egy adatkészleten, és egy olyan algoritmust biztosít neki, amely az adott adatkészletből való érvelésre és tanulásra használja. A modell betanítása után felhasználhatja azokat az adatokat, amelyeket korábban még nem látott, és előrejelzéseket készíthet az adatokról.
Az MLflow-ban a gépi tanulási modellek több modellverziót is tartalmazhatnak. Itt minden verzió modell iterációt jelölhet. Ebből a cikkből megtudhatja, hogyan használhatja az ML-modelleket a modell iterációinak nyomon követéséhez és összehasonlításához.
Ebből a cikkből megtudhatja, hogyan:
- Gépi tanulási modellek létrehozása a Microsoft Fabric
- Modellverziók kezelése és nyomon követése
- Modell teljesítményének összehasonlítása verziók között
- Modellek alkalmazása pontozáshoz és következtetéshez
Gépi tanulási modell létrehozása
Létrehozhat egy gépi tanulási modellt a Fabric felhasználói felületéről, vagy programozott módon az MLflow API-val. Az MLflow-ban a modellek szabványos csomagolási formátumot használnak, amely különböző alárendelt eszközökkel működik, beleértve a kötegelt következtetést az Apache Sparkon. A formátum különböző "ízekbe" menti a modellt, amelyeket a különböző alsóbb rétegbeli eszközök képesek megérteni.
Gépi tanulási modell létrehozása a felhasználói felületről:
- Válasszon ki egy meglévő adatelemzési munkaterületet, vagy hozzon létre egy új munkaterületet.
- Hozzon létre egy új elemet a munkaterületen vagy a Létrehozás gomb megnyomásával.
- A modell létrehozása után megkezdheti a modellverziók hozzáadását a futtatási metrikák és paraméterek nyomon követéséhez. A kísérlet egy meglévő modellbe való regisztrálása vagy mentése.
Gépi tanulási modellt is létrehozhat közvetlenül az API szerzői felületéről mlflow.register_model() . Ha a megadott névvel rendelkező regisztrált gépi tanulási modell nem létezik, az API automatikusan létrehozza azt.
import mlflow
model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")
print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))
Gépi tanulási modell verzióinak kezelése
A gépi tanulási modellek modellverziók gyűjteményét tartalmazzák az egyszerűsített nyomon követés és összehasonlítás érdekében. A modellen belül az adatelemzők különböző modellverziókban navigálhatnak a mögöttes paraméterek és metrikák megismeréséhez. Az adattudósok összehasonlítást is végezhetnek a modellverziók között annak megállapításához, hogy az újabb modellek jobb eredményeket hozhatnak-e.
Note
A Fabric MLflow 3 támogatásával a mlflow.<flavor>.log_model(model, name="...") naplózott összes modell létrehoz egy LoggedModel entitást, amely a forrásfuttatáshoz, paraméterekhez, metrikákhoz, adatkészletekhez és környezethez kapcsolódik. Megnyithat egy LoggedModel-et a kísérletoldalon, és regisztrálhatja azt új ML-modellként vagy egy meglévő modell új verziójáként. További információ: MLflow 3 a Fabric Data Science.
Gépi tanulási modellek nyomon követése
A gépi tanulási modell verziója egy nyomon követésre regisztrált egyedi modellt jelöl.
Minden modellverzió a következő információkat tartalmazza:
| Ingatlan | Description |
|---|---|
| Létrehozás időpontja | A modell létrehozásának dátuma és időpontja. |
| Futtatás neve | Az adott modellverzió létrehozásához használt kísérletfuttatás azonosítója. |
| Hiperparaméterek | Kulcs-érték párként mentve. A kulcsok és az értékek egyaránt sztringek. |
| Metrics | Kulcs-érték párként mentett metrikák futtatása. Az érték numerikus. |
| Modellséma/aláírás | A modell bemeneteinek és kimeneteinek leírása. |
| Naplózott fájlok | Naplózott fájlok bármilyen formátumban. Rögzíthet például képeket, környezetet, modelleket és adatfájlokat. |
| Címkék | Az egyéni metaadatok kulcs-érték párként vannak csatolva a futtatásokhoz. Ismerje meg, hogyan alkalmazhat címkéket. |
Címkék alkalmazása gépi tanulási modellekre
A modellverziók MLflow-címkézése lehetővé teszi, hogy a felhasználók egyéni metaadatokat csatoljanak egy regisztrált modell adott verzióihoz az MLflow modellregisztrációs adatbázisában. Ezek a kulcs-érték párokként tárolt címkék segítenek a modellverziók rendszerezésében, nyomon követésében és megkülönböztetésében, így könnyebben kezelhetők a modell életciklusai. A címkék a modell céljának, üzembehelyezési környezetének vagy bármely más releváns információnak a megjelölésére használhatók, így hatékonyabb modellkezelést és döntéshozatalt tesz lehetővé a csapatokon belül.
Ez a kód bemutatja, hogyan taníthat be Egy RandomForestRegressor-modellt a Scikit-learn használatával, hogyan naplózza a modellt és a paramétereket az MLflow használatával, majd hogyan regisztrálhatja a modellt az MLflow modellregisztrációs adatbázisában egyéni címkékkel. Ezek a címkék hasznos metaadatokat tartalmaznak, például a projekt nevét, részlegét, csapatát és projekt negyedévét, így könnyebben kezelhetők és nyomon követhetők a modellverziók.
import mlflow.sklearn
from mlflow.models import infer_signature
from sklearn.datasets import make_regression
from sklearn.ensemble import RandomForestRegressor
# Generate synthetic regression data
X, y = make_regression(n_features=4, n_informative=2, random_state=0, shuffle=False)
# Model parameters
params = {"n_estimators": 3, "random_state": 42}
# Model tags for MLflow
model_tags = {
"project_name": "grocery-forecasting",
"store_dept": "produce",
"team": "stores-ml",
"project_quarter": "Q3-2023"
}
# Log MLflow entities
with mlflow.start_run() as run:
# Train the model
model = RandomForestRegressor(**params).fit(X, y)
# Infer the model signature
signature = infer_signature(X, model.predict(X))
# Log parameters and the model
mlflow.log_params(params)
mlflow.sklearn.log_model(model, artifact_path="sklearn-model", signature=signature)
# Register the model with tags
model_uri = f"runs:/{run.info.run_id}/sklearn-model"
model_version = mlflow.register_model(model_uri, "RandomForestRegressionModel", tags=model_tags)
# Output model registration details
print(f"Model Name: {model_version.name}")
print(f"Model Version: {model_version.version}")
A címkék alkalmazása után közvetlenül a modellverzió részletei lapon tekintheti meg őket. Emellett a címkék bármikor hozzáadhatók, frissíthetők vagy eltávolíthatók erről a lapról.
Gépi tanulási modellek összehasonlítása és szűrése
A gépi tanulási modellverziók minőségének összehasonlításához és kiértékeléséhez összehasonlíthatja a paramétereket, a metrikákat és a metaadatokat a kiválasztott verziók között.
Gépi tanulási modellek vizuális összehasonlítása
A futtatások vizuálisan összehasonlíthatók egy meglévő modellben. A vizuális összehasonlítás lehetővé teszi a több verzió közötti egyszerű navigálást és rendezést.
A futtatások összehasonlításához például a következőt teheti:
- Válasszon ki egy meglévő, több verziót tartalmazó gépi tanulási modellt.
- Válassza a Nézet lapot, majd lépjen a Modell lista nézetre. A modelllista megtekintésének lehetőségét közvetlenül a részletek nézetből is kiválaszthatja.
- Testre szabhatja a táblázat oszlopait. Bontsa ki az Oszlopok testreszabása panelt. Itt kiválaszthatja a megtekinteni kívánt tulajdonságokat, metrikákat, címkéket és hiperparamétereket.
- Végül több verziót is kiválaszthat az eredmények összehasonlításához 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.
Gépi tanulási modellek összehasonlítása az MLflow API használatával
Az adattudósok az MLflow használatával is kereshetnek a munkaterületen mentett modellek között. Az MLflow dokumentációjában további MLflow API-kat is megismerhet a modell interakciójához.
from pprint import pprint
from mlflow import MlflowClient
client = MlflowClient()
for rm in client.search_registered_models():
pprint(dict(rm), indent=4)
Gépi tanulási modellek alkalmazása
Miután betanított egy modellt egy adatkészleten, alkalmazhatja ezt a modellt azokra az adatokra, amelyeket soha nem látott előrejelzések létrehozásához. Ezt a modellt pontozási vagy következtetési technikának hívjuk.
Fabric több módszert is támogat a betanított modellek alkalmazásához:
- Kötegelt értékelés – A modell alkalmazása nagy méretű adathalmazokra az Apache Spark használatával. Ez ideális az előzményadatokra vagy ütemezett adatokra vonatkozó előrejelzések létrehozásához.
- Valós idejű pontozás : A modell üzembe helyezése egy végponton igény szerinti előrejelzésekhez, amelyek azonnali eredményeket igénylő alkalmazások esetén hasznosak.
A modellek alkalmazásának megkezdéséhez válassza ki a forgatókönyvnek megfelelő megközelítést: