Condividi tramite


Modello di Machine Learning in Microsoft Fabric

Un modello di Machine Learning è un file sottoposto a training per riconoscere determinati tipi di modelli. Si esegue il training di un modello su un set di dati e si fornisce un algoritmo che usa per ragionare e apprendere da tale set di dati. Dopo aver eseguito il training del modello, è possibile usarlo per ragionare sui dati mai visti in precedenza ed eseguire stime su tali dati.

In MLflow un modello di Machine Learning può includere più versioni del modello. In questo caso, ogni versione può rappresentare un'iterazione del modello. Questo articolo illustra come interagire con i modelli di Machine Learning per tenere traccia e confrontare le versioni del modello.

Creare un modello di Machine Learning

In MLflow i modelli di Machine Learning includono un formato di creazione di pacchetti standard. Questo formato consente l'uso di questi modelli in vari strumenti downstream, inclusa l'inferenza batch in Apache Spark. Il formato definisce una convenzione per salvare un modello in diversi "sapori" che possono comprendere diversi strumenti downstream.

È possibile creare direttamente un modello di Machine Learning dall'interfaccia utente di Fabric. L'API MLflow può anche creare direttamente il modello.

Per creare un modello di Machine Learning dall'interfaccia utente, è possibile:

  1. Creare una nuova area di lavoro per l'analisi scientifica dei dati o selezionare un'area di lavoro data science esistente.

  2. Nell'elenco a discesa + Nuovo selezionare Modello per creare un modello vuoto nell'area di lavoro di data science.

    Screenshot showing the New drop-down menu.

  3. Dopo la creazione del modello, è possibile iniziare ad aggiungere versioni del modello per tenere traccia delle metriche e dei parametri di esecuzione. Registrare o salvare le esecuzioni dell'esperimento in un modello esistente.

È anche possibile creare un esperimento di Machine Learning direttamente dall'esperienza di creazione con l'API mlflow.register_model() . Se non esiste un modello di Machine Learning registrato con il nome specificato, l'API la crea automaticamente.

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

Gestire le versioni all'interno di un modello di Machine Learning

Un modello di Machine Learning contiene una raccolta di versioni del modello per il rilevamento e il confronto semplificati. All'interno di un modello, un data scientist può spostarsi tra diverse versioni del modello per esplorare i parametri e le metriche sottostanti. I data scientist possono anche eseguire confronti tra versioni del modello per identificare se i modelli più recenti potrebbero produrre risultati migliori.

Tenere traccia dei modelli di Machine Learning

Una versione del modello di Machine Learning rappresenta un singolo modello registrato per il rilevamento.

Screenshot showing the details screen of a model.

Ogni versione del modello include le informazioni seguenti:

  • Ora creazione: data e ora di creazione del modello.
  • Nome esecuzione: identificatore per le esecuzioni dell'esperimento usato per creare questa versione specifica del modello.
  • Iperparametri: gli iperparametri vengono salvati come coppie chiave-valore. Entrambe le chiavi e i valori sono stringhe.
  • Metriche: eseguire le metriche salvate come coppie chiave-valore. Il valore è numerico.
  • Schema/firma del modello: descrizione degli input e degli output del modello.
  • File registrati: file registrati in qualsiasi formato. Ad esempio, è possibile registrare immagini, ambiente, modelli e file di dati.

Confrontare e filtrare i modelli di Machine Learning

Per confrontare e valutare la qualità delle versioni del modello di Machine Learning, è possibile confrontare i parametri, le metriche e i metadati tra le versioni selezionate.

Confrontare visivamente i modelli di Machine Learning

È possibile confrontare visivamente le esecuzioni all'interno di un modello esistente. Il confronto visivo consente di spostarsi facilmente tra e ordina tra più versioni.

Screenshot showing a list of runs for comparison.

Per confrontare le esecuzioni, è possibile:

  1. Selezionare un modello di Machine Learning esistente che contiene più versioni.
  2. Selezionare la scheda Visualizza e quindi passare alla visualizzazione elenco Modello. È anche possibile selezionare l'opzione Visualizza elenco di modelli direttamente dalla visualizzazione dei dettagli.
  3. È possibile personalizzare le colonne all'interno della tabella. Espandere il riquadro Personalizza colonne . Da qui è possibile selezionare le proprietà, le metriche e gli iperparametri da visualizzare.
  4. Infine, è possibile selezionare più versioni per confrontare i risultati nel riquadro di confronto delle metriche. Da questo riquadro è possibile personalizzare i grafici con le modifiche apportate al titolo del grafico, al tipo di visualizzazione, all'asse X, all'asse Y e altro ancora.

Confrontare i modelli di Machine Learning usando l'API MLflow

I data scientist possono anche usare MLflow per eseguire ricerche tra più modelli salvati nell'area di lavoro. Visitare la documentazione di MLflow per esplorare altre API MLflow per l'interazione con il modello.

from pprint import pprint

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

Applicare modelli di Machine Learning

Dopo aver eseguito il training di un modello in un set di dati, è possibile applicare tale modello ai dati che non ha mai visto generare stime. Questo modello chiama l'assegnazione di punteggi o l'inferenza della tecnica. Per altre informazioni sull'assegnazione dei punteggi dei modelli di Microsoft Fabric, vedere la sezione successiva.