Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Microsoft Fabric tukee MLflow'ta aina versioon 3.1 asti, joka on avoimen lähdekoodin koneoppimisen seuranta-alusta. Tämän tuen avulla voit käyttää seuraavia ominaisuuksia koneoppimisen ja generatiivisen tekoälyn työkuormien seuraamiseen ja tarkastamiseen Fabric:ssa:
- LoggedModel, joka esiteltiin MLflow 3:ssa, on ensiluokkainen entiteetti, joka yhdistää jokaisen mallin sen lähdesuoritukseen, koodiin, konfiguraatioon, parametreihin, mittareihin ja aineistoihin.
- Jäljitykset , jotka tallentavat kehotteet, vastaukset, työkalukutsut, viiveet ja tokenien käytön suurista kielimalleista (LLM) ja generatiivisista tekoälysovelluksista.
Tässä artikkelissa selitetään, mitä muutoksia MLflow 3:ssa tapahtuu, miten Fabric:n uusia ominaisuuksia käytetään ja miten siirtyä MLflow 2.x:stä.
Edellytykset
Hanki Microsoft Fabric -tilaus. Voit myös rekisteröityä microsoft fabric -kokeiluversion maksuttomaan .
Vaihda Fabric-tilaan käyttämällä etusivun vasemmassa alakulmassa olevaa kokemuskytkintä.
Työtila, joka on päivitetty uusimpaan koneoppimisen seurantakokemukseen. Tarkistaaksesi kelpoisuuden ja päivityksen, katso Päivitä koneoppimisen seurantajärjestelmäsi.
mlflowversio 3.0 tai uudempi. Fabric-muistikirjat toimitetaan oletuksena MLflow 2.x:n kanssa, joten sinun täytyy päivittää MLflow 3:een ajamalla seuraava komento muistikirjassasi:%pip install "synapseml-mlflow[online-notebook]>=2.0.3" "mlflow-skinny==3.1.0" "opentelemetry-api<=1.40.0"Sama komento asentaa myös päivitetyn
synapseml-mlflow-paketin työtila- ja ulkopuolisiin Fabric-tilanteisiin.
Mitä muutoksia MLflow 3:ssa tapahtuu
| Alue | MLflow 2.x | MLflow 3 |
|---|---|---|
| Malliloki-API | log_model(model, artifact_path="model") |
log_model(model, name="my_model", params={...}) (perintö artifact_path toimii edelleen) |
| Mallin esitys | Esine, joka on kiinnitetty juoksuun | Ensimmäisen luokan LoggedModel-entiteetti , joka on linkitetty suoritukseen |
| Experiment UI | Yksittäisen kokeen näkymä | Koneoppimiskokeet vs tekoälykokeet, lisäksi Lokimallit -osio ja Jäljet-välilehti |
| Generatiivinen tekoälyn havaittavuus | Ei saatavissa | Jäljet kehotteista, vastauksista, työkalukutsuista, viiveestä ja tokeneista |
MLflow 3 on taaksepäin yhteensopiva MLflow 2.x -työnkulkujen kanssa. Olemassa olevat kokeet, suoritukset ja muistikirjat, jotka käyttävät mlflow>=2 niitä, jatkavat toimintaansa ilman muutoksia.
Valitse kokeen tyyppi
Kun luot kokeen, nauha sisältää kokeen tyyppisen kytkimen:
- ML-kokeilu — klassinen seurantapinta ajoille, parametreille, mittareille ja LoggedModeleille. Käytä tätä tyyppiä perinteisissä koneoppimistyönkulkuissa.
- Tekoälykokeilu — jäljityspainotteinen pinta, joka on viritetty generatiivisille tekoälykuormille. Traces-välilehti on etualalla, ja run-yksityiskohtanäkymä korostaa kehotuksia, työkalukutsuja ja tokenien käyttöä.
Ennen MLflow 3:ta luodut olemassa olevat kokeet käyttävät oletuksena ML-koetyyppiä . Voit vaihtaa tyyppejä nauhasta milloin tahansa.
Aloita muistikirjan mallipohjasta
Kaksi muistikirjapohjaa tulee julkaisun mukana, jotta saat toimimaan yhdellä klikkauksella. Kun avaat kokeen, jossa ei vielä ole suorituksia, tyhjä kokeen sivu paljastaa kaksi aloituskorttia:
-
Uusi mallipohja — kokonaisvaltainen ElasticNet-esimerkki, joka esittelee uuden LoggedModel-rajapinnan, mukaan lukien
params=,get_logged_model(), ja mittarit, jotka liittyvät sekä LoggedModeliin että tietoaineistoon. -
New trace template — kattaa
@mlflow.tracesisustajat, OpenAI:n autologingin Fabric tunnuksilla, LangChain-agentit sekä OpenAI Agents SDK:n.
Valitse kortti avataksesi esikonfiguroidun muistikirjan, jossa on oikeat MLflow-lisäosan versiot ja tunnistautuminen.
Loga malli LoggedModelilla
MLflow 3:ssa jokainen kutsu luo log_model()LoggedModel-yksikön , joka on linkitetty lähdesuoritukseen, sen parametreihin, mittareihin ja tietoaineistoihin, joilla se on koulutettu. Seuraava esimerkki kouluttaa ElasticNet-mallin Iris-aineistolla, kirjaa sen LoggedModelina ja linkittää arviointimittarit takaisin kyseiseen LoggedModeliin ja aineistoon:
import pandas as pd
from sklearn.linear_model import ElasticNet
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import mlflow
import mlflow.sklearn
from mlflow.entities import Dataset
mlflow.set_experiment("mlflow3-logged-model-demo")
def compute_metrics(actual, predicted):
rmse = mean_squared_error(actual, predicted)
mae = mean_absolute_error(actual, predicted)
r2 = r2_score(actual, predicted)
return rmse, mae, r2
iris = load_iris()
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
iris_df["quality"] = (iris.target == 2).astype(int)
train_df, test_df = train_test_split(iris_df, test_size=0.2, random_state=42)
with mlflow.start_run() as training_run:
# Wrap the training data as an MLflow Dataset so metrics can be linked to it.
train_dataset: Dataset = mlflow.data.from_pandas(train_df, name="train")
train_x = train_dataset.df.drop(["quality"], axis=1)
train_y = train_dataset.df[["quality"]]
lr = ElasticNet(alpha=0.5, l1_ratio=0.5, random_state=42)
lr.fit(train_x, train_y)
# Log the model. `params=` attaches hyperparameters directly to the LoggedModel.
model_info = mlflow.sklearn.log_model(
sk_model=lr,
name="elasticnet",
params={"alpha": 0.5, "l1_ratio": 0.5},
input_example=train_x,
)
# Retrieve the LoggedModel to inspect its identifier and parameters.
logged_model = mlflow.get_logged_model(model_info.model_id)
print(logged_model.model_id, logged_model.params)
# Compute metrics and link them to both the LoggedModel and the training dataset.
predictions = lr.predict(train_x)
rmse, mae, r2 = compute_metrics(train_y, predictions)
mlflow.log_metrics(
metrics={"rmse": rmse, "r2": r2, "mae": mae},
model_id=logged_model.model_id,
dataset=train_dataset,
)
Suorituksen päätyttyä malli ilmestyy LoggedModelina kahdessa paikassa:
- Lokimallien osio kokeen sivulla.
- Log-mallit -välilehti juoksun yksityiskohdassa.
Tarkista loggedModel
Valitse listasta LoggedModel avataksesi sen yksityiskohtasivun. Yksityiskohtainen sivu näyttää:
- Mallille tallennetut parametrit ja mittarit .
- Lähde run-linkki , joka ohjaa mallin tuottaneelle ajolle.
- Koulutuksen aikana käytetyt aineistot .
- Ympäristö (Python-versio, riippuvuukset, allekirjoitus).
Vertaa LoggedModelsia
Lokimallit -osiossa valitse useita LoggedModeleja vertaillaksesi niitä sisäänrakennettujen viivakaavioiden, hajontakuvien ja rinnakkaisten koordinaattien avulla. Voit myös hakea, suodattaa, lajitella ja ryhmitellä LoggedModeleja metriikan, parametrin, tagin tai metatietojen mukaan.
Rekisteröi loggedModel
LoggedModelin ylentämiseksi Fabric ML-mallikohteeksi avaa sen yksityiskohtasivu ja valitse Register model. Voit rekisteröidä sen uutena koneoppimismallina tai uutena versiona olemassa olevasta mallista. Rekisteröinnin jälkeen LoggedModelin yksityiskohtasivulla näkyy linkki rekisteröidyn mallin tuotteeseen.
Generatiivisten tekoälyjäljien kaappaaminen
Jäljet tallentavat LLM:n tai generatiivisen tekoälysovelluksen suorituksen hierarkiana. Jokainen jäljennös näyttää syötteet, tulosteet, viiveen, tokenin käytön sekä kaikki työkalu- tai funktiokutsut. Käytä AI-kokeilutyyppiä saadaksesi parhaan traces-first -kokemuksen.
Jäljitä funktio koristelijalla @mlflow.trace
Lisää @mlflow.trace mihin tahansa funktioon, joka tallentaa sen syötteet, tulokset ja keston. Käytä mlflow.update_current_trace() tunnisteiden kiinnittämiseen funktion sisältä:
import mlflow
import time
mlflow.set_experiment("mlflow3-trace-demo")
@mlflow.trace
def process_user(user_id, action):
mlflow.update_current_trace(tags={
"user_id": user_id,
"action": action,
"environment": "production",
})
time.sleep(1)
return f"Processed action {action} for user {user_id}"
with mlflow.start_run(run_name="function_call"):
process_user(user_id=123, action="login")
Kun koristellut funktiot kutsuvat toisiaan, MLflow sisäkkäisee sulatust automaattisesti, jotta voit visualisoida koko kutsupuun jäljityksen yksityiskohtien sivulla.
Autolog OpenAI-chatin täydennykset
Ota käyttöön OpenAI:n autologgaus, jotta jokainen puhelu OpenAI-asiakkaalle jäljitetään automaattisesti ilman koristelijoita. Seuraava esimerkki käyttää AzureOpenAI Fabric-hallituilla tunnuksilla:
import mlflow
from openai import AzureOpenAI
from synapse.ml.fabric.credentials import get_openai_httpx_sync_client
mlflow.openai.autolog()
client = AzureOpenAI(
api_version="2025-04-01-preview",
http_client=get_openai_httpx_sync_client(),
)
with mlflow.start_run(run_name="simple_openai_chat") as run:
response = client.chat.completions.create(
model="gpt-4.1",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What are the main components of MLflow?"},
],
temperature=0.7,
)
print(response.choices[0].message.content)
print(f"Trace ID: {mlflow.get_last_active_trace_id()}")
Agenttikehyksissä MLflow tarjoaa myös autologingin LangChainille (mlflow.langchain.autolog()) ja OpenAI Agents SDK:lle.
Uusi jäljitysmalli sisältää täydellisiä, ajettavia esimerkkejä molemmista, mukaan lukien monivuoroiset työkalukutsukeskustelut.
Näkymäjäljet
Jälkien katsomiseen:
- Avaa koe, joka sisältää generatiivisia tekoälyajoja.
- Valitse Traces-välilehti .
- Valitse jäljitys avataksesi Trace-yksityiskohta-kuvan .
Jäljen yksityiskohtainen näkymä näyttää:
- Span-puu, jossa on pyynnön hierarkkinen erittely.
- Syötteet, ulostulot ja attribuutit jokaiselle särmälle.
- Prompt/vastaus-parit LLM-spaneille (järjestelmä, käyttäjä, avustaja).
- Viive, tokenin käyttö ja mallin metatiedot (nimi, versio, parametrit).
- Työkalu- ja funktiokutsut niiden syötteineen, tulosteineen ja dokumenttitunnisteineen.
- Jäljitykset epäonnistuivat poikkeustyypillä, viestillä ja pinon jäljityksellä.
Jäljityslista näyttää jäljen ID:n, syötteen, ulostulon, keston, aloitusajan ja tilan (Suoritettu, epäonnistunut tai käynnissä). Voit suodattaa jäljityksiä käyttäjän, tilan tai aloitusajan mukaan.
Ajon tuottamat jäljet näkyvät myös juoksun yksityiskohtasivulla Traces-välilehdellä.
Siirry MLflow 2.x:stä
Voit ottaa MLflow 3:n käyttöön asteittain:
-
Olemassa olevat muistikirjat toimivat edelleen muuttumattomina. Legacy-parametri
artifact_pathtoimiilog_model()edelleen ja tuottaa LoggedModelin. -
Uusien muistikirjojen tulisi käyttää
nametätä parametria selkeyden vuoksi. -
Työtilan väliset skenaariot käyttävät päivitettyä
synapseml-mlflowpakettia. Sinun ei enää tarvitse pintoidamlflow-skinnyversioon 2.22.2. Asennusvaiheista löytyy kohdasta Hallinnoi MLflow-malleja eri työtiloilla ja alustoilla.
Mitä ei vielä tueta
Generatiivinen tekoälyn arviointi (mlflow.genai.evaluate()) ei ole vielä käytössä Fabric. Julkaisu on suunniteltu tulevaksi.
Liittyvä sisältö
- Päivitä koneoppimisen seurantajärjestelmäsi
koneoppimiskokeet Microsoft Fabric - koneoppimismallien seuraaminen ja hallinta
Automaattinen kirjautuminen Fabric Data Science - Hallinnoi MLflow-malleja työtiloilla ja alustoilla
- MLflow 3:n migraatioopas (mlflow.org)
- Käsitteiden jäljitys (mlflow.org)