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:
- Luo uusi tietotiedetyötila tai valitse aiemmin luotu tietotieteen työtila.
- Luo uusi työtila tai valitse aiemmin luotu työtila.
- Voit luoda uuden kohteen työtilan kautta tai käyttämällä luomisen toimintoa.
- 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.
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.
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ä.
Voit verrata suoria suoritukset:
- Valitse aiemmin luotu koneoppimismalli, joka sisältää useita versioita.
- 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ä.
- Voit mukauttaa taulukon sarakkeita. Laajenna Mukauta sarakkeita -ruutu. Sieltä voit valita haluamasi ominaisuudet, mittarit, tunnisteet ja hyperparametrit.
- 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.