Jaa


Koneoppimismalli Microsoft Fabricissa

Koneoppimismalli on tiedosto, joka on harjoitettu tunnistamaan tietyntyyppiset mallit. Harjoitat mallin tietojoukolla ja annat sille algoritmin, joka käyttää järkeillään ja oppiakseen tästä tietojoukosta. Kun olet harjoittanut mallin, voit sen avulla järkeillä tietoja, joita se ei ole ennen nähnyt, ja tehdä ennusteita tiedoista.

MLflowkoneoppimismalli voi sisältää useita malliversioita. Tässä kukin versio voi edustaa mallin iterointia. Tässä artikkelissa kerrotaan, miten voit käsitellä koneoppimismalleja malliversioiden seuraamista ja vertailemista.

Koneoppimismallin luominen

MLflow'ssa koneoppimismallit sisältävät vakiopaketointimuodon. Tämä muoto sallii näiden mallien käytön eri jatkojalostustyökaluissa, mukaan lukien erän asteikkopäätteen Apache Sparkissä. Muoto määrittää käytännön tallentaa mallin eri makuihin, jotka eri jatkotyökalut ymmärtävät.

Voit luoda koneoppimismallin suoraan Fabric-käyttöliittymästä. MLflow-ohjelmointirajapinta voi myös luoda mallin suoraan.

Voit luoda koneoppimismallin käyttöliittymästä seuraavasti:

  1. Luo uusi tietotiedetyötila tai valitse aiemmin luotu tietotieteen työtila.
  2. Luo uusi työtila tai valitse aiemmin luotu työtila.
  3. Voit luoda uuden kohteen työtilan kautta tai käyttämällä luomisen toimintoa.
    1. Työtila:
      1. Valitse työtilasi.
      2. Valitse Uusi kohde -.
      3. Valitse koneoppimismallin kohdasta Analysoi ja harjoita tietoja. Näyttökuva, jossa näkyy, mistä voit valita Kokeile työtilassasi.
    2. Luo-painike:
      1. Valitse Luo, joka löytyy ... pystysuuntaisessa valikossa. Luo-painikkeen näyttökuva.
      2. Valitse ml Model kohdasta Data Science. Näyttökuva, josta voit valita Kokeile, kun olet valinnut Luo.
  4. Mallin luomisen jälkeen voit aloittaa malliversioiden lisäämisen suoritusmittareiden ja parametrien seuraamiseksi. Rekisteröi tai tallenna kokeita -suoritukset olemassa olevaan malliin.

Voit myös luoda koneoppimismallin suoraan luontikokemuksestasi mlflow.register_model()-ohjelmointirajapinnan avulla. Jos rekisteröityä koneoppimismallia, jolla on etunimi, ei ole olemassa, ohjelmointirajapinta luo sen automaattisesti.

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

Koneoppimismallin versioiden hallinta

Koneoppimismalli sisältää kokoelman malliversioita yksinkertaistettua seurantaa ja vertailua varten. Mallissa tietotutkija voi siirtyä eri malliversioiden välillä ja tarkastella pohjana olevia parametreja ja mittareita. Tietotutkijat voivat myös tehdä vertailuja malliversioiden välillä tunnistaakseen, voisivatko uudemmat mallit tuottaa parempia tuloksia.

Koneoppimismallien seuraaminen

Koneoppimismalliversio edustaa yksittäistä mallia, joka on rekisteröity seurantaan.

Näyttökuva, joka näyttää mallin tietonäytön.

Kukin malliversio sisältää seuraavat tiedot:

  • Time Created: Mallin luonnin päivämäärä ja aika.
  • Run Name: Tämän malliversion luomiseen käytetyn kokeilun suoritusten tunnus.
  • Hyperparameters-: Hyperparametrit tallennetaan avain-arvo-pareina. Sekä avaimet että arvot ovat merkkijonoja.
  • Metrics: Suorita avain-arvo-pareina tallennetut mittausarvot. Arvo on numeerinen.
  • Mallin rakenne/Allekirjoitus-: Mallisyötteiden ja tulosteiden kuvaus.
  • Kirjatut tiedostot: Kirjatut tiedostot missä tahansa muodossa. Voit esimerkiksi tallentaa kuvia, ympäristöjä, malleja ja datatiedostoja.
  • tunnisteet: Metatiedot avain-arvo-pareina suoritettavaksi.

Tunnisteiden käyttö koneoppimismalleissa

Malliversioiden MLflow-tunnisteiden avulla käyttäjät voivat liittää mukautettuja metatietoja rekisteröityjen mallien tiettyihin versioihin MLflow-mallirekisterissä. Nämä avain-arvo-pareina tallennetut tunnisteet auttavat organisoimaan, seuraamaan ja erottamaan malliversioita, mikä helpottaa mallin elinkaaren hallintaa. Tunnisteiden avulla voidaan merkitä mallin tarkoitusta, käyttöönottoympäristöä tai mitä tahansa muuta tärkeää tietoa, mikä helpottaa tehokkaampaa mallinhallintaa ja päätöksentekoa tiimeissä.

Tämä koodi esittelee, miten RandomForestRegressor-malli harjoitetaan Scikit-learnin avulla, malli ja parametrit kirjataan MLflow'lla ja sitten rekisteröidä malli MLflow-mallirekisterissä mukautetuilla tunnisteilla. Nämä tunnisteet tarjoavat hyödyllisiä metatietoja, kuten projektin nimen, osaston, tiimin ja projektin vuosineljänneksen, mikä helpottaa malliversion hallintaa ja seurantaa.

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

Kun olet lisännyt tunnisteet käyttöön, voit tarkastella niitä suoraan mallin version tietosivulla. Lisäksi tunnisteita voidaan lisätä, päivittää tai poistaa tältä sivulta milloin tahansa.

Näyttökuva, jossa näkyvät suorituksen tunnisteet tietosivulla.

Koneoppimismallien vertaaminen ja suodattaminen

Jos haluat vertailla ja arvioida koneoppimisen malliversioiden laatua, voit verrata parametreja, mittareita ja metatietoja valittujen versioiden välillä.

Koneoppimismallien visuaalinen vertailu

Voit verrata suoritukset visuaalisesti olemassa olevassa mallissa. Visualisointivertailu mahdollistaa helpon siirtymisen useiden versioiden välillä ja lajittelemisen välillä.

Näyttökuva, joka näyttää luettelon suoritusten luettelosta vertailua varten.

Voit verrata suoria suoritukset:

  1. Valitse aiemmin luotu koneoppimismalli, joka sisältää useita versioita.
  2. Valitse Näytä -välilehti ja siirry sitten Malli-luetteloon näkymä. Voit myös valita vaihtoehdon, Näytä malli -luettelo suoraan tietonäkymästä.
  3. Voit mukauttaa taulukon sarakkeita. Laajenna Mukauta sarakkeita -ruutu. Sieltä voit valita haluamasi ominaisuudet, mittarit, tunnisteet ja hyperparametrit.
  4. Lopuksi voit valita useita versioita niiden tulosten vertailemiseksi mittausten vertailuruudussa. Tässä ruudussa voit mukauttaa kaavioita, joissa on muutoksia kaavion otsikkoon, visualisointityyppiin, X-akseliin, Y-akseliin ja niin edelleen.

Koneoppimismallien vertaaminen MLflow-ohjelmointirajapinnan avulla

Tietotutkijat voivat myös MLflow'n avulla tehdä hakuja useista työtilaan tallennettavista malleista. tutustu MLflow -dokumentaatioon tutustumaan muihin MLflow-ohjelmointirajapintoihin mallin vuorovaikutusta varten.

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Koneoppimismallien käyttäminen

Kun harjoitat mallin tietojoukolla, voit käyttää kyseistä mallia tietoihin, joita se ei ole koskaan nähnyt ennusteiden luomiseksi. Kutsumme tätä mallin käyttötekniikkaa pisteytyksen tai . Lisätietoja Microsoft Fabric -mallin pisteytyksestä on seuraavassa osiossa.