Jaa


Koneoppimiskokeilut Microsoft Fabricissa

Koneoppimisen kokeilu, on kaikkien siihen liittyvien koneoppimissuosikeiden ensisijainen organisaatio- ja hallintayksikkö. suoritus vastaa mallikoodin yksittäistä suoritusta. MLflow -seuranta perustuu kokeisiin ja suorittamiseen.

Koneoppimiskokeilujen avulla tietojenkäsittelyasiantuntijat voivat kirjata lokeihin parametreja, koodiversioita, mittareita ja tulostetiedostoja suoritettaessa koneoppimiskoodiaan. Kokeilujen avulla voit myös visualisoida, hakea ja vertailla suorituksia sekä ladata suoritustiedostoja ja metatietoja analysointia varten muissa työkaluissa.

Tässä artikkelissa kerrotaan lisää siitä, miten tietotutkijat voivat käsitellä koneoppimiskokeiluja ja käyttää niitä kehitysprosessin järjestämiseen ja useiden suoritusten seurantaan.

Edellytykset

  • Power BI Premium -tilaus. Jos sinulla ei ole sellaista, katso Ohjeet Power BI Premium -ostamiseen.
  • Power BI -työtila, jolle on määritetty Premium-kapasiteetti.

Luo kokeilu

Voit luoda koneoppimiskokeiluja suoraan kankaan käyttöliittymästä tai kirjoittamalla koodin, joka käyttää MLflow-ohjelmointirajapintaa.

Kokeilun luominen käyttöliittymän avulla

Koneoppimiskokeilun luominen käyttöliittymästä:

  1. Luo uusi työtila tai valitse aiemmin luotu työtila.
  2. 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 Kokeile 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 Kokeilu kohdasta datatiede. Näyttökuva, josta voit valita Kokeile, kun olet valinnut Luo.
  3. Anna kokeilun nimi ja valitse Luo. Tämä toiminto luo tyhjän kokeilun työtilassasi.

Kokeilun luomisen jälkeen voit aloittaa suoritusten lisäämisen suoritusmittareiden ja parametrien seuraamiseksi.

Luo kokeilu MLflow-ohjelmointirajapinnan avulla

Voit myös luoda koneoppimiskokeiluja suoraan luontikokemuksestasi käyttämällä mlflow.create_experiment()- tai mlflow.set_experiment()-ohjelmointirajapintoja. Korvaa seuraavassa koodissa <EXPERIMENT_NAME> kokeilusi nimellä.

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

Suoritusten hallinta kokeilun sisällä

Koneoppimiskokeilu sisältää suorituskokoelman yksinkertaistettua seurantaa ja vertailua varten. Kokeilun aikana tietotutkija voi siirtyä eri suoritusten välillä ja tutkia pohjana olevia parametreja ja mittareita. Tietotutkijat voivat myös verrata koneoppimiskokeilun suorituksia tunnistaakseen, mikä parametrien alijoukko tuottaa halutun mallin suorituskyvyn.

Radan suoritukset

Koneoppimisen suoritus vastaa mallikoodin yksittäistä suoritusta.

Näyttökuva koneoppimisen suorituksen tietosivusta.

Kukin suoritus sisältää seuraavat tiedot:

  • Source-: Sen muistikirjan nimi, joka loi suorituksen.
  • Rekisteröity versio -: Ilmaisee, tallennettiinko suoritus koneoppimismalliksi.
  • aloituspäivämäärä: suorituksen alkamisaika.
  • Status-: Suorituksen eteneminen.
  • Hyperparameters-: Avain-arvo-pareina tallennetut hyperparametrit. Sekä avaimet että arvot ovat merkkijonoja.
  • Metrics: Suorita avain-arvo-pareina tallennetut mittausarvot. Arvo on numeerinen.
  • Output-tiedostot: Tulosta tiedostoja missä tahansa muodossa. Voit esimerkiksi tallentaa kuvia, ympäristöjä, malleja ja datatiedostoja.
  • tunnisteet: Metatiedot avain-arvo-pareina suoritettavaksi.

Näytä viimeaikaiset suoritukset

Voit myös katsoa kokeilun viimeaikaiset suoritukset valitsemalla Suorita-luettelon. Tämän näkymän avulla voit seurata viimeaikaista toimintaa, siirtyä nopeasti liittyvään Spark-sovellukseen ja käyttää suodattimia suoritustilan perusteella.

Näyttökuva viimeaikaisista koneoppimissuosikeista.

Suoritusten vertaaminen ja suodattaminen

Jos haluat vertailla ja arvioida koneoppimissuorituksesi laatua, voit verrata parametreja, mittareita ja metatietoja valittujen suoritusten välillä kokeilussa.

Tunnisteiden käyttö suorittaneissa

MLflow-tunnisteiden avulla kokeilusuoritukset antavat käyttäjille mahdollisuuden lisätä mukautettuja metatietoja avain-arvo-parien muodossa suoriksiinsa. Nämä tunnisteet auttavat luokittelemaan, suodattamaan ja etsimään suorituksia tiettyjen määritteiden perusteella, mikä helpottaa kokeilujen hallintaa ja analysointia MLflow-ympäristössä. Käyttäjät voivat tunnisteiden avulla käyttää tunnisteita otsikoiden suorittamisissa käyttäen tietoja, kuten mallityyppejä, parametreja tai mitä tahansa olennaisia tunnisteita, mikä parantaa kokeilujen yleistä organisaatiota ja jäljitettävyyttä.

Tämä koodikatkelman aloittaa MLflow-suorituksen, kirjaa joitakin parametreja ja mittareita ja lisää tunnisteita luokitteluun ja lisäkontekstin antamiseen suoritusta varten.

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

Kun tunnisteet on otettu käyttöön, voit tarkastella tuloksia suoraan sisäisestä MLflow-pienoissovelluksesta tai suorituksen tietosivulta.

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

Varoitus

varoitus: Rajoitukset tunnisteiden käyttämiselle MLflow-kokeiluissa suoritetaan Fabric

  • tunnisteet, joita ei ole tyhjä: Tunnisteiden nimet tai arvot eivät voi olla tyhjiä. Jos yrität käyttää tunnistetta, jolla on tyhjä nimi tai arvo, toiminto epäonnistuu.
  • tunnisteiden nimet: Tunnisteiden nimien pituus voi olla enintään 250 merkkiä.
  • Tunnistearvot-: Tunnisteiden arvot voivat olla enintään 5 000 merkin pituisia.
  • rajoitettujen tunnisteiden nimien: Tietyillä etuliitteiden alussa olevia tunnisteiden nimiä ei tueta. Tarkemmin sanottuna tunnisteiden nimiä, jotka alkavat synapseml, mlflow, tai trident, rajoitetaan, eikä niitä hyväksytä.

Suoritusten visuaalinen vertaileminen

Voit verrata ja suodattaa suoritusten visuaalisesti olemassa olevassa kokeilussa. Visualisointivertailun avulla voit helposti siirtyä useiden suoritusten välillä ja lajitella ne välillä.

Näyttökuva, joka näyttää suoritusten luettelon ja kaavionäkymän.

Suoritusten vertailu:

  1. Valitse aiemmin luotu koneoppimiskokeilu, joka sisältää useita suoritukset.
  2. Valitse Näytä -välilehti ja siirry sitten Suorita-luetteloon näkymässä. Vaihtoehtoisesti voit valita vaihtoehdon, Näytä suoritus -luettelo suoraan Suorita tiedot -näkymä stä.
  3. Mukauta taulukon sarakkeita laajentamalla Mukauta sarakkeita -ruutu. Täällä voit valita ominaisuudet, mittarit, tunnisteet ja hyperparametrit, jotka haluat nähdä.
  4. Laajenna Suodattimen -ruutua rajataksesi tuloksia tiettyjen valittujen ehtojen perusteella.
  5. Valitse useita suorituksia vertaillaksesi niiden tuloksia mittausten vertailuruudussa. Tässä ruudussa voit mukauttaa kaavioita muuttamalla kaavion otsikkoa, visualisointityyppiä, X-akselia, Y-akselia ja paljon muuta.

Suoritusten vertaileminen MLflow-ohjelmointirajapinnan avulla

Tietotutkijat voivat myös MLflow'n avulla tehdä kyselyjä ja tehdä hakuja kokeiden välillä. Voit tutustua muihin MLflow-ohjelmointirajapintoihin suoritusten hakemista, suodatusta ja vertailua varten MLflow-dokumentaatiossa.

Hae kaikki suoritukset

MLflow-haun ohjelmointirajapinnan mlflow.search_runs() avulla voit tehdä kaikki suoritukset kokeilussa korvaamalla <EXPERIMENT_NAME> kokeilunimelläsi tai <EXPERIMENT_ID> kokeilemistunnuksellasi seuraavassa koodissa:

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

Juomaraha

Voit etsiä useita kokeiluja antamalla luettelon experiment_ids-parametrin koetunnuksista. Vastaavasti jos annat experiment_names-parametrille luettelon kokeilunimistä, MLflow voi hakea useista kokeista. Tästä voi olla hyötyä, jos haluat vertailla eri kokeiden suorituksia.

Suoritusten järjestys ja rajoitus

Voit rajoittaa palautettavien suoritusten määrää käyttämällä max_results-parametria kohteesta search_runs. order_by-parametrin avulla voit luetella sarakkeet, joiden mukaan ne ovat järjestyksessä, ja se voi sisältää valinnaisen DESC tai ASC arvon. Esimerkiksi seuraava esimerkki palauttaa kokeen viimeisen suorituksen.

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

Vertaa Fabric-muistikirjassa olevia suoritukset

Voit käyttää MLFlow-luontipienoissovellusta Fabric-muistikirjoissa kuhunkin muistikirjan soluun luotujen MLflow-juoksujen seuraamiseen. Pienoissovelluksen avulla voit seurata suorituksia, liittyviä mittareita, parametreja ja ominaisuuksia suoraan yksittäiselle solutasolle asti.

Jos haluat visuaalisen vertailun, voit myös vaihtaa Suorita vertailu -näkymään. Tämä näkymä esittää tiedot graafisesti ja auttaa tunnistamaan nopeasti mallit tai poikkeamat eri suoritusten välillä.

näyttökuva, joka näyttää, miten MLFlow-luonnin pienoissovellusta käytetään.

Tallenna suorittaminen koneoppimismallina

Kun suoritus tuottaa halutun tuloksen, voit tallentaa suorituksen mallina parannetulle mallin seurannalle ja mallin käyttöönotolle valitsemalla Tallenna koneoppimismallina -.

Näyttökuva, jossa näytetään, mistä voit valita Luo uusi malli.

Koneoppimiskokeilujen seuranta (esikatselu)

Koneoppimiskokeilut integroidaan suoraan Monitoriin. Tämä toiminto tarjoaa enemmän tietoja Spark-sovelluksistasi ja niiden luomista koneoppimiskokeiluista, mikä helpottaa prosessien hallintaa ja virheenkorjausta.

Rata suoritetaan näytöstä

Käyttäjät voivat seurata kokeiluja suoraan seurannasta tarjoten yhtenäisen näkymän kaikista toiminnoistaan. Tämä integrointi sisältää suodatusasetukset, joiden avulla käyttäjät voivat keskittyä viimeisten 30 päivän tai muiden määritettyjen jaksojen aikana luotuihin kokeisiin tai suorituksiin.

Näyttökuva, joka näyttää, missä näkymän suorituksissa näyttövälilehti on.

Koneoppimiskokeilut on integroitu suoraan Monitoriin, jossa voit valita tietyn Spark-sovelluksen ja käyttää kohteen tilannevedoksia. Täältä löydät luettelon kaikista kyseisen sovelluksen luomista kokeista ja suorista.