Share via


Gestire il ciclo di vita del modello usando il Registro modelli di area di lavoro (legacy)

Importante

Questa documentazione illustra il Registro modelli di area di lavoro. Se l'area di lavoro è abilitata per Unity Catalog, non usare le procedure in questa pagina. Vedere invece Modelli nel catalogo unity.

Per indicazioni su come eseguire l'aggiornamento dal Registro dei modelli di area di lavoro al catalogo unity, vedere Eseguire la migrazione di flussi di lavoro e modelli a Unity Catalog.

Se il catalogo predefinito dell'area di lavoro si trova in Unity Catalog (anziché hive_metastore) ed è in esecuzione un cluster usando Databricks Runtime 13.3 LTS o versione successiva, i modelli vengono creati automaticamente dal catalogo predefinito dell'area di lavoro, senza alcuna configurazione necessaria. Per usare il Registro modelli di area di lavoro in questo caso, è necessario impostarlo come destinazione in modo esplicito eseguendo import mlflow; mlflow.set_registry_uri("databricks") all'inizio del carico di lavoro. Un numero ridotto di aree di lavoro in cui sia il catalogo predefinito è stato configurato per un catalogo in Unity Catalog prima di gennaio 2024 che il registro dei modelli di area di lavoro è stato usato prima di gennaio 2024 sono esenti da questo comportamento e continuano a usare il Registro modelli di area di lavoro per impostazione predefinita.

Questo articolo descrive come usare il Registro modelli di area di lavoro come parte del flusso di lavoro di Machine Learning per gestire il ciclo di vita completo dei modelli di Machine Learning. Il Registro modelli di area di lavoro è una versione ospitata di Databricks del Registro modelli MLflow.

Il Registro modelli dell'area di lavoro fornisce:

  • Derivazione cronologica del modello (esperimento MLflow ed esecuzione ha prodotto il modello in un determinato momento).
  • Modello di gestione.
  • Controllo delle versioni del modello.
  • Transizioni di fase (ad esempio, dalla gestione temporanea alla produzione o archiviate).
  • I webhook consentono di attivare automaticamente le azioni in base agli eventi del Registro di sistema.
  • Notifiche tramite posta elettronica degli eventi del modello.

È anche possibile creare e visualizzare le descrizioni dei modelli e lasciare commenti.

Questo articolo include istruzioni per l'interfaccia utente del Registro modelli di area di lavoro e l'API del Registro di sistema del modello di area di lavoro.

Per una panoramica dei concetti relativi al Registro di sistema dei modelli di area di lavoro, vedere Gestione del ciclo di vita di Ml con MLflow.

Creare o registrare un modello

È possibile creare o registrare un modello usando l'interfaccia utente oppure registrare un modello usando l'API.

Creare o registrare un modello usando l'interfaccia utente

Esistono due modi per registrare un modello nel Registro modelli di area di lavoro. È possibile registrare un modello esistente che è stato registrato in MLflow oppure è possibile creare e registrare un nuovo modello vuoto e quindi assegnare a tale modello un modello registrato in precedenza.

Registrare un modello registrato esistente da un notebook

  1. Nell'area di lavoro identificare l'esecuzione di MLflow contenente il modello da registrare.

    1. Fare clic sull'icona Icona EsperimentoEsperimento nella barra laterale destra del notebook.

      Barra degli strumenti del notebook

    2. Nella barra laterale Esecuzioni esperimenti fare clic Collegamento esterno sull'icona accanto alla data dell'esecuzione. Viene visualizzata la pagina dell'esecuzione di MLflow. Questa pagina mostra i dettagli dell'esecuzione, come parametri, metriche, tag ed elenco di artefatti.

  2. Nella sezione Artefatti fare clic sulla directory denominata xxx-model.

    Registrazione del modello

  3. Fare clic sul pulsante Registra modello all'estremità destra.

  4. Nella finestra di dialogo fare clic nella casella Modello ed eseguire una delle operazioni seguenti:

    • Selezionare Crea nuovo modello dal menu a discesa. Viene visualizzato il campo Nome modello. Immettere un nome di modello, ad esempio scikit-learn-power-forecasting.
    • Selezionare un modello esistente dal menu a discesa.

    Creare un nuovo modello

  5. Fare clic su Registra.

    • Se è stata selezionata l'opzione Crea nuovo modello, questo registra un modello denominato scikit-learn-power-forecasting, copia il modello in una posizione sicura gestita dal Registro modelli dell'area di lavoro e crea una nuova versione del modello.
    • Se è stato selezionato un modello esistente, viene registrata una nuova versione del modello selezionato.

    Dopo alcuni istanti, il pulsante Registra modello passa a un collegamento alla nuova versione del modello registrata.

    Selezionare il modello appena creato

  6. Fare clic sul collegamento per aprire la nuova versione del modello nell'interfaccia utente del Registro modelli di area di lavoro. È anche possibile trovare il modello nel Registro modelli dell'area di lavoro facendo clic su ModelliModelli nella barra laterale.

Creare un nuovo modello registrato e assegnare a tale modello un modello registrato

È possibile usare il pulsante Crea modello nella pagina dei modelli registrati per creare un nuovo modello vuoto e quindi assegnare a tale modello un modello registrato. Seguire questa procedura:

  1. Nella pagina dei modelli registrati fare clic su Crea modello. Immettere un nome per il modello e fare clic su Crea.

  2. Seguire i passaggi da 1 a 3 in Registrare un modello registrato esistente da un notebook.

  3. Nella finestra di dialogo Registra modello selezionare il nome del modello creato nel passaggio 1 e fare clic su Registra. Questo registra un modello con il nome creato, copia il modello in un percorso sicuro gestito dal Registro modelli di area di lavoro e crea una versione del modello: Version 1.

    Dopo qualche momento l'interfaccia utente di MLflow Run (Esecuzione MLflow) sostituisce il pulsante Registra modello con un collegamento alla nuova versione del modello registrato. È ora possibile selezionare il modello dall'elenco a discesa Modello nella finestra di dialogo Registra modello nella pagina Experiment Runs (Esecuzioni esperimento). È anche possibile registrare nuove versioni del modello specificandone il nome nei comandi dell'API, ad esempio Create ModelVersion.

Registrare un modello usando l'API

Esistono tre modi programmatici per registrare un modello nel Registro modelli di area di lavoro. Tutti i metodi copiano il modello in una posizione sicura gestita dal Registro modelli di area di lavoro.

  • Per registrare un modello e registrarlo con il nome specificato durante un esperimento di MLflow, usare il metodo mlflow.<model-flavor>.log_model(...). Se non esiste un modello registrato con il nome specifico, il metodo registrerà un nuovo modello, creerà la versione 1 e restituirà un oggetto ModelVersion di MLflow. Se esiste già un modello registrato con il nome specifico, il metodo creerà una nuova versione del modello e restituirà l'oggetto versione.

    with mlflow.start_run(run_name=<run-name>) as run:
      ...
      mlflow.<model-flavor>.log_model(<model-flavor>=<model>,
        artifact_path="<model-path>",
        registered_model_name="<model-name>"
      )
    
  • Per registrare un modello con il nome specificato dopo il completamento di tutte le esecuzioni dell'esperimento e la selezione del modello più adatto per l'aggiunta al registro, usare il metodo mlflow.register_model(). Per questo metodo è necessario l'ID esecuzione per l'argomento mlruns:URI. Se non esiste un modello registrato con il nome specifico, il metodo registrerà un nuovo modello, creerà la versione 1 e restituirà un oggetto ModelVersion di MLflow. Se esiste già un modello registrato con il nome specifico, il metodo creerà una nuova versione del modello e restituirà l'oggetto versione.

    result=mlflow.register_model("runs:<model-path>", "<model-name>")
    
  • Per creare un nuovo modello registrato con il nome specificato, usare il metodo create_registered_model() dell'API MLflow Client. Se il nome del modello esiste già, il metodo genera un'eccezione MLflowException.

    client = MlflowClient()
    result = client.create_registered_model("<model-name>")
    

È anche possibile registrare un modello con il provider Databricks Terraform e databricks_mlflow_model.

Limiti di quota

A partire da maggio 2024 per tutte le aree di lavoro di Databricks, il Registro modelli di area di lavoro impone limiti di quota per il numero totale di modelli registrati e versioni del modello per area di lavoro. Vedere Limiti delle risorse. Se si superano le quote del Registro di sistema, Databricks consiglia di eliminare modelli registrati e versioni del modello non più necessari. Databricks consiglia anche di modificare la registrazione del modello e la strategia di conservazione per rimanere al di sotto del limite. Se è necessario un aumento dei limiti dell'area di lavoro, contattare il team dell'account Databricks.

Il notebook seguente illustra come eseguire l'inventario ed eliminare le entità del Registro di sistema del modello.

Notebook delle entità del Registro di sistema del modello dell'area di lavoro di inventario

Ottenere il notebook

Visualizzare i modelli nell'interfaccia utente

Pagina Modelli registrati

La pagina dei modelli registrati viene visualizzata quando si fa clic su ModelliModelli nella barra laterale. Questa pagina mostra tutti i modelli nel Registro di sistema.

È possibile creare un nuovo modello da questa pagina.

Anche da questa pagina, gli amministratori dell'area di lavoro possono impostare le autorizzazioni per tutti i modelli nel Registro modelli dell'area di lavoro.

Modelli registrati

Pagina Modello registrato

Per visualizzare la pagina del modello registrato per un modello, fare clic sul nome di un modello nella pagina dei modelli registrati. La pagina del modello registrato mostra informazioni sul modello selezionato e una tabella con informazioni su ogni versione del modello. Da questa pagina è anche possibile:

Modello registrato

Pagina della versione del modello

Per visualizzare la pagina della versione del modello, eseguire una delle operazioni seguenti:

  • Fare clic su un nome di versione nella colonna Versione più recente nella pagina modelli registrati.
  • Fare clic su un nome di versione nella colonna Version (Versione ) nella pagina del modello registrato.

Questa pagina visualizza informazioni su una versione specifica di un modello registrato e fornisce anche un collegamento all'esecuzione di origine (la versione del notebook eseguita per creare il modello). Da questa pagina è anche possibile:

Versione del modello

Controllare l'accesso ai modelli

È necessario disporre almeno dell'autorizzazione CAN MANAGE per configurare le autorizzazioni per un modello. Per informazioni sui livelli di autorizzazione del modello, vedere ACL del modello MLFlow. Una versione del modello eredita le autorizzazioni dal modello padre. Non è possibile impostare le autorizzazioni per le versioni del modello.

  1. Nella barra laterale fare clic su ModelliModelli.

  2. Selezionare un nome di modello.

  3. Fare clic su Autorizzazioni. Verrà visualizzata la finestra di dialogo Autorizzazione Impostazioni

    Pulsante Autorizzazioni modello

  4. Nella finestra di dialogo selezionare l'elenco a discesa Seleziona utente, gruppo o entità servizio e selezionare un utente, un gruppo o un'entità servizio.

    Modificare le autorizzazioni del modello MLflow

  5. Selezionare un'autorizzazione dall'elenco a discesa delle autorizzazioni.

  6. Fare clic su Aggiungi e quindi su Salva.

Gli amministratori e gli utenti dell'area di lavoro con autorizzazione CAN MANAGE a livello di Registro di sistema possono impostare i livelli di autorizzazione per tutti i modelli nell'area di lavoro facendo clic su Autorizzazioni nella pagina Modelli.

Transizione di una fase del modello

Una versione del modello ha una delle fasi seguenti: Nessuno, Gestione temporanea, Produzione o Archiviato. La fase Staging è destinata al test e alla convalida dei modelli, mentre la fase Produzione è destinata alle versioni dei modelli che hanno completato i processi di test o di verifica e sono state distribuite nelle applicazioni per l'assegnazione dei punteggi attiva. Si presuppone che una versione di modello Archived (Archiviata) sia inattiva ed è quindi possibile considerarne l'eliminazione. Diverse versioni di un modello possono trovarsi in fasi diverse.

Un utente con autorizzazione appropriata può eseguire la transizione di una versione del modello tra le fasi. Se si è autorizzati a eseguire la transizione di una versione del modello a una fase specifica, sarà possibile eseguire direttamente la transizione. Se non si è autorizzati, è possibile richiedere una transizione di fase e un utente autorizzato a eseguire la transizione di versioni del modello può approvare, rifiutare o annullare la richiesta.

È possibile eseguire la transizione di una fase del modello usando l'interfaccia utente o l'API.

Eseguire la transizione a una fase del modello usando l'interfaccia utente

Seguire queste istruzioni per eseguire la transizione a una fase del modello.

  1. Per visualizzare l'elenco delle fasi del modello disponibili e le opzioni disponibili, in una pagina della versione del modello fare clic sull'elenco a discesa accanto a Fase: e richiedere o selezionare una transizione a un'altra fase.

    Opzioni per la transizione di fase

  2. Immettere un commento facoltativo e fare clic su OK.

Eseguire la transizione di una versione del modello alla fase Produzione

Dopo il test e la convalida è possibile eseguire la transizione o richiedere una transizione alla fase Produzione.

Il Registro modelli dell'area di lavoro consente più di una versione del modello registrato in ogni fase. Se si vuole avere solo una versione in Produzione, è possibile eseguire la transizione di tutte le versioni del modello attualmente presenti in Produzione alla fase Archiviata selezionando Transition existing Production model versions to Archived (Esegui la transizione delle versioni del modello di Produzione ad Archiviata).

Approvare, rifiutare o annullare una richiesta di transizione della fase della versione del modello

Un utente senza autorizzazione per la transizione di fase può richiedere una transizione di fase. La richiesta viene visualizzata nella sezione Richieste in sospeso nella pagina della versione del modello:

Transizione in Produzione

Per approvare, rifiutare o annullare una richiesta di transizione di fase, fare clic sul collegamento Approva, Rifiuta o Annulla.

L'autore di una richiesta di transizione può anche annullare la richiesta.

Visualizzare le attività della versione del modello

Per visualizzare tutte le transizioni richieste, approvate, in sospeso e applicate a una versione del modello, passare alla sezione Attività. Questo record di attività fornisce una derivazione del ciclo di vita del modello per il controllo o l'indagine.

Eseguire la transizione di una fase del modello usando l'API

Gli utenti con autorizzazioni appropriate possono eseguire la transizione di una versione del modello a una nuova fase.

Per aggiornare la fase di una versione del modello a una nuova fase, usare il metodo transition_model_version_stage() dell'API MLflow Client:

  client = MlflowClient()
  client.transition_model_version_stage(
    name="<model-name>",
    version=<model-version>,
    stage="<stage>",
    description="<description>"
  )

I valori accettati per <stage> sono: "Staging"|"staging", "Archived"|"archived", "Production"|"production", "None"|"none".

Usare il modello per l'inferenza

Importante

Questa funzionalità è disponibile in anteprima pubblica.

Dopo la registrazione di un modello nel Registro modelli di area di lavoro, è possibile generare automaticamente un notebook per l'uso del modello per l'inferenza batch o di streaming. In alternativa, è possibile creare un endpoint per usare il modello per la gestione in tempo reale con Model Serving.

Nell'angolo superiore destro della pagina del modello registrato o nella pagina della versione del modello fare clic suPulsante usa modello . Viene visualizzata la finestra di dialogo Configura inferenza del modello, che consente di configurare l'inferenza batch, streaming o in tempo reale.

Importante

Anaconda Inc. ha aggiornato le condizioni per anaconda.org canali. In base alle nuove condizioni di servizio, potrebbe essere necessaria una licenza commerciale se ci si affida alla distribuzione e alla creazione di pacchetti di Anaconda. Per altre informazioni, vedere Domande frequenti su Anaconda Commercial Edition. L'uso di qualsiasi canale Anaconda è disciplinato dalle condizioni per il servizio.

I modelli MLflow registrati prima della versione 1.18 (Databricks Runtime 8.3 ML o versioni precedenti) sono stati registrati per impostazione predefinita con il canale conda defaults (https://repo.anaconda.com/pkgs/) come dipendenza. A causa di questa modifica della licenza, Databricks ha interrotto l'uso del canale per i defaults modelli registrati usando MLflow v1.18 e versioni successive. Il canale predefinito registrato è ora conda-forge, che punta alla community gestita https://conda-forge.org/.

Se è stato registrato un modello prima di MLflow v1.18 senza escludere il defaults canale dall'ambiente conda per il modello, tale modello potrebbe avere una dipendenza dal defaults canale che potrebbe non essere previsto. Per verificare manualmente se un modello ha questa dipendenza, è possibile esaminare channel il conda.yaml valore nel file incluso nel pacchetto con il modello registrato. Ad esempio, un conda.yaml modello con una defaults dipendenza del canale può essere simile al seguente:

channels:
- defaults
dependencies:
- python=3.8.8
- pip
- pip:
    - mlflow
    - scikit-learn==0.23.2
    - cloudpickle==1.6.0
      name: mlflow-env

Poiché Databricks non è in grado di determinare se l'uso del repository Anaconda per interagire con i modelli è consentito nella relazione con Anaconda, Databricks non impone ai clienti di apportare modifiche. Se l'uso del repository Anaconda.com tramite l'uso di Databricks è consentito in base ai termini di Anaconda, non è necessario eseguire alcuna azione.

Se si vuole modificare il canale usato nell'ambiente di un modello, è possibile registrare nuovamente il modello nel Registro di sistema del modello dell'area di lavoro con un nuovo conda.yamloggetto . A tale scopo, è possibile specificare il canale nel conda_env parametro di log_model().

Per altre informazioni sull'API log_model() , vedere la documentazione di MLflow relativa al modello con cui si sta lavorando, ad esempio log_model per scikit-learn.

Per altre informazioni sui conda.yaml file, vedere la documentazione di MLflow.

Finestra di dialogo Configura inferenza del modello

Configurare l'inferenza batch

Quando si seguono questi passaggi per creare un notebook di inferenza batch, il notebook viene salvato nella cartella Batch-Inference utente nella cartella in una cartella con il nome del modello. È possibile modificare il notebook in base alle esigenze.

  1. Fare clic sulla scheda Inferenza batch.

  2. Nell'elenco a discesa Versione modello selezionare la versione del modello da usare. I primi due elementi nell'elenco a discesa sono la versione di produzione e gestione temporanea corrente del modello (se presenti). Quando si seleziona una di queste opzioni, il notebook usa automaticamente la versione di produzione o gestione temporanea al momento dell'esecuzione. Non è necessario aggiornare il notebook man mano che si continua a sviluppare il modello.

  3. Fare clic sul pulsante Sfoglia accanto a Tabella di input. Verrà visualizzata la finestra di dialogo Seleziona dati di input. Se necessario, è possibile modificare il cluster nell'elenco a discesa Calcolo .

    Nota

    Per le aree di lavoro abilitate per Unity Catalog, la finestra di dialogo Seleziona dati di input consente di selezionare da tre livelli, <catalog-name>.<database-name>.<table-name>.

  4. Selezionare la tabella contenente i dati di input per il modello e fare clic su Seleziona. Il notebook generato importa automaticamente questi dati e li invia al modello. È possibile modificare il notebook generato se i dati richiedono trasformazioni prima di essere inseriti nel modello.

  5. Le stime vengono salvate in una cartella nella directory dbfs:/FileStore/batch-inference. Per impostazione predefinita, le stime vengono salvate in una cartella con lo stesso nome del modello. Ogni esecuzione del notebook generato scrive un nuovo file in questa directory con il timestamp aggiunto al nome. È anche possibile scegliere di non includere il timestamp e di sovrascrivere il file con le esecuzioni successive del notebook; le istruzioni vengono fornite nel notebook generato.

    È possibile modificare la cartella in cui vengono salvate le stime digitando un nuovo nome di cartella nel campo Percorso tabella di output oppure facendo clic sull'icona della cartella per esplorare la directory e selezionare una cartella diversa.

    Per salvare le stime in una posizione nel catalogo unity, è necessario modificare il notebook. Per un notebook di esempio che illustra come eseguire il training di un modello di Machine Learning che usa i dati in Unity Catalog e scrivere i risultati in Unity Catalog, vedere Esercitazione su Machine Learning.

Configurare l'inferenza di streaming usando le tabelle Live Delta

Quando si seguono questi passaggi per creare un notebook di inferenza di streaming, il notebook viene salvato nella cartella DLT-Inference utente nella cartella in una cartella con il nome del modello. È possibile modificare il notebook in base alle esigenze.

  1. Fare clic sulla scheda Streaming (tabelle live Delta).

  2. Nell'elenco a discesa Versione modello selezionare la versione del modello da usare. I primi due elementi nell'elenco a discesa sono la versione di produzione e gestione temporanea corrente del modello (se presenti). Quando si seleziona una di queste opzioni, il notebook usa automaticamente la versione di produzione o gestione temporanea al momento dell'esecuzione. Non è necessario aggiornare il notebook man mano che si continua a sviluppare il modello.

  3. Fare clic sul pulsante Sfoglia accanto a Tabella di input. Verrà visualizzata la finestra di dialogo Seleziona dati di input. Se necessario, è possibile modificare il cluster nell'elenco a discesa Calcolo .

    Nota

    Per le aree di lavoro abilitate per Unity Catalog, la finestra di dialogo Seleziona dati di input consente di selezionare da tre livelli, <catalog-name>.<database-name>.<table-name>.

  4. Selezionare la tabella contenente i dati di input per il modello e fare clic su Seleziona. Il notebook generato crea una trasformazione dati che usa la tabella di input come origine e integra la funzione definita dall'utente di inferenza PySpark di MLflow per eseguire stime del modello. È possibile modificare il notebook generato se i dati richiedono trasformazioni aggiuntive prima o dopo l'applicazione del modello.

  5. Specificare il nome della tabella live delta di output. Il notebook crea una tabella dinamica con il nome specificato e la usa per archiviare le stime del modello. È possibile modificare il notebook generato per personalizzare il set di dati di destinazione in base alle esigenze, ad esempio definire una tabella live di streaming come output, aggiungere informazioni sullo schema o vincoli di qualità dei dati.

  6. È quindi possibile creare una nuova pipeline delta live tables con questo notebook o aggiungerla a una pipeline esistente come libreria di notebook aggiuntiva.

Configurare l'inferenza in tempo reale

Model Serving espone i modelli di Machine Learning di MLflow come endpoint dell'API REST scalabili. Per creare un endpoint model serving, vedere Creare endpoint personalizzati per la gestione di modelli.

Inviare commenti

Questa funzionalità è disponibile in anteprima ed è consigliabile ricevere commenti e suggerimenti. Per fornire commenti e suggerimenti, fare clic Provide Feedback nella finestra di dialogo Configura inferenza del modello.

Confrontare le versioni del modello

È possibile confrontare le versioni del modello nel Registro dei modelli dell'area di lavoro.

  1. Nella pagina del modello registrato selezionare due o più versioni del modello facendo clic sulla casella di controllo a sinistra della versione del modello.
  2. Fare clic su Confronta.
  3. Viene visualizzata la schermata Confronto <N> versioni, che mostra una tabella che confronta i parametri, lo schema e le metriche delle versioni del modello selezionate. Nella parte inferiore della schermata è possibile selezionare il tipo di tracciato (coordinate a dispersione, contorno o parallele) e i parametri o le metriche da tracciare.

Controllare le preferenze di notifica

È possibile configurare il Registro modelli di area di lavoro per inviare una notifica tramite posta elettronica sull'attività sui modelli registrati e sulle versioni del modello specificate.

Nella pagina del modello registrato, il menu Notifica informazioni mostra tre opzioni:

Menu Notifiche tramite posta elettronica

  • Tutte le nuove attività: inviare notifiche tramite posta elettronica su tutte le attività in tutte le versioni del modello di questo modello. Se è stato creato il modello registrato, questa impostazione è l'impostazione predefinita.
  • Attività nelle versioni seguenti: Inviare notifiche tramite posta elettronica solo sulle versioni del modello seguite. Con questa selezione, si ricevono notifiche per tutte le versioni del modello seguite; non è possibile disattivare le notifiche per una versione specifica del modello.
  • Notifiche disattivate: non inviare notifiche tramite posta elettronica sull'attività in questo modello registrato.

Gli eventi seguenti attivano una notifica tramite posta elettronica:

  • Creazione di una nuova versione del modello
  • Richiedere una transizione di fase
  • Transizione di fase
  • Nuovi commenti

Le notifiche del modello vengono automaticamente sottoscritte quando si esegue una delle operazioni seguenti:

  • Commento sulla versione del modello
  • Eseguire la transizione della fase di una versione del modello
  • Effettuare una richiesta di transizione per la fase del modello

Per verificare se si segue una versione del modello, esaminare il campo Segui stato nella pagina della versione del modello o nella tabella delle versioni del modello nella pagina del modello registrato.

Disattiva tutte le notifiche tramite posta elettronica

È possibile disattivare le notifiche tramite posta elettronica nella scheda Registro Impostazioni modello di area di lavoro del menu User Impostazioni:

  1. Fare clic sul nome utente nell'angolo superiore destro dell'area di lavoro di Azure Databricks e selezionare Impostazioni dal menu a discesa.
  2. Nella barra laterale Impostazioni selezionare Notifiche.
  3. Disattivare le notifiche di posta elettronica del Registro di sistema del modello.

Un amministratore dell'account può disattivare le notifiche tramite posta elettronica per l'intera organizzazione nella pagina delle impostazioni di amministrazione.

Numero massimo di messaggi di posta elettronica inviati

Il Registro modelli di area di lavoro limita il numero di messaggi di posta elettronica inviati a ogni utente al giorno per ogni attività. Ad esempio, se si ricevono 20 messaggi di posta elettronica in un giorno sulle nuove versioni del modello create per un modello registrato, Registro modelli di area di lavoro invia un messaggio di posta elettronica che indica che è stato raggiunto il limite giornaliero e non vengono inviati messaggi di posta elettronica aggiuntivi su tale evento fino al giorno successivo.

Per aumentare il limite del numero di messaggi di posta elettronica consentiti, contattare il team dell'account Azure Databricks.

Webhooks

Importante

Questa funzionalità è disponibile in anteprima pubblica.

I webhook consentono di restare in ascolto degli eventi del Registro dei modelli di area di lavoro in modo che le integrazioni possano attivare automaticamente le azioni. È possibile usare webhook per automatizzare e integrare la pipeline di Machine Learning con gli strumenti e i flussi di lavoro CI/CD esistenti. Ad esempio, è possibile attivare compilazioni CI quando viene creata una nuova versione del modello o inviare una notifica ai membri del team tramite Slack ogni volta che viene richiesta una transizione del modello alla produzione.

Annotare un modello o una versione del modello

È possibile fornire informazioni su un modello o una versione del modello mediante le annotazioni. È ad esempio possibile che si voglia includere una panoramica del problema o informazioni sulla metodologia e sull'algoritmo usato.

Annotare un modello o una versione del modello usando l'interfaccia utente

L'interfaccia utente di Azure Databricks offre diversi modi per annotare modelli e versioni del modello. È possibile aggiungere informazioni di testo usando una descrizione o commenti ed è possibile aggiungere tag chiave-valore ricercabili. Le descrizioni e i tag sono disponibili per modelli e versioni del modello; i commenti sono disponibili solo per le versioni del modello.

  • Le descrizioni sono destinate a fornire informazioni sul modello.
  • I commenti consentono di gestire una discussione continua sulle attività in una versione del modello.
  • I tag consentono di personalizzare i metadati del modello per semplificare la ricerca di modelli specifici.

Aggiungere o aggiornare la descrizione per un modello o una versione del modello

  1. Nella pagina modello registrato o versione del modello fare clic su Modifica accanto a Descrizione. Viene visualizzata una finestra di modifica.

  2. Immettere o modificare la descrizione nella finestra di modifica.

  3. Fare clic su Salva per salvare le modifiche o su Annulla per chiudere la finestra.

    Se è stata immessa una descrizione di una versione del modello, la descrizione verrà visualizzata nella colonna Descrizione nella tabella della pagina del modello registrato. La colonna mostra al massimo 32 caratteri o una riga di testo, a seconda del valore più breve.

Aggiungere commenti per una versione del modello

  1. Scorrere verso il basso la pagina della versione del modello e fare clic sulla freccia giù accanto ad Attività.
  2. Digitare il commento nella finestra di modifica e fare clic su Aggiungi commento.

Aggiungere tag per un modello o una versione del modello

  1. Nella pagina modello registrato o versione del modello fare clic su Icona tag se non è già aperto. Viene visualizzata la tabella dei tag.

    tabella tag

  2. Fare clic nei campi Nome e Valore e digitare la chiave e il valore per il tag.

  3. Fare clic su Aggiungi.

    aggiungi tag

Modificare o eliminare tag per un modello o una versione del modello

Per modificare o eliminare un tag esistente, usare le icone nella colonna Azioni .

azioni tag

Annotare una versione del modello usando l'API

Per aggiornare la descrizione di una versione del modello, usare il metodo update_model_version() dell'API MLflow Client:

client = MlflowClient()
client.update_model_version(
  name="<model-name>",
  version=<model-version>,
  description="<description>"
)

Per impostare o aggiornare un tag per un modello o una versione del modello registrata, usare l'API set_registered_model_tag()client MLflow ) o set_model_version_tag() il metodo :

client = MlflowClient()
client.set_registered_model_tag()(
  name="<model-name>",
  key="<key-value>",
  tag="<tag-value>"
)
client = MlflowClient()
client.set_model_version_tag()(
  name="<model-name>",
  version=<model-version>,
  key="<key-value>",
  tag="<tag-value>"
)

Rinominare un modello (solo API)

Per rinominare un modello registrato, usare il metodo rename_registered_model() dell'API MLflow Client:

client=MlflowClient()
client.rename_registered_model("<model-name>", "<new-model-name>")

Nota

È possibile rinominare un modello registrato solo se non ha versioni o se tutte le versioni si trovano nella fase Nessuna o Archived (Archiviata).

Cercare un modello

È possibile cercare modelli nel Registro dei modelli dell'area di lavoro usando l'interfaccia utente o l'API.

Nota

Quando si cerca un modello, vengono restituiti solo i modelli per i quali si dispone almeno delle autorizzazioni CAN READ.

Cercare un modello usando l'interfaccia utente

Per visualizzare i modelli registrati, fare clic su ModelliModelli nella barra laterale.

Per cercare un modello specifico, immettere testo nella casella di ricerca. È possibile immettere il nome di un modello o qualsiasi parte del nome:

Ricerca di modelli registrati

È anche possibile eseguire ricerche sui tag. Immettere i tag in questo formato: tags.<key>=<value>. Per cercare più tag, usare l'operatore AND .

Ricerca basata su tag

È possibile cercare sia il nome del modello che i tag usando la sintassi di ricerca MLflow. Ad esempio:

Ricerca basata su tag e nome

Cercare un modello usando l'API

È possibile cercare modelli registrati nel Registro dei modelli di area di lavoro con il metodo API client MLflow search_registered_models()

Se sono stati impostati tag nei modelli, è anche possibile eseguire ricerche in base a tali tag con search_registered_models().

print(f"Find registered models with a specific tag value")
for m in client.search_registered_models(f"tags.`<key-value>`='<tag-value>'"):
  pprint(dict(m), indent=4)

È anche possibile cercare un nome di modello specifico ed elencare i dettagli della rispettiva versione usando il metodo search_model_versions() dell'API MLflow Client:

from pprint import pprint

client=MlflowClient()
[pprint(mv) for mv in client.search_model_versions("name='<model-name>'")]

Verrà restituito questo output:

{   'creation_timestamp': 1582671933246,
    'current_stage': 'Production',
    'description': 'A random forest model containing 100 decision trees '
                   'trained in scikit-learn',
    'last_updated_timestamp': 1582671960712,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'ae2cc01346de45f79a44a320aab1797b',
    'source': './mlruns/0/ae2cc01346de45f79a44a320aab1797b/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 1 }

{   'creation_timestamp': 1582671960628,
    'current_stage': 'None',
    'description': None,
    'last_updated_timestamp': 1582671960628,
    'name': 'sk-learn-random-forest-reg-model',
    'run_id': 'd994f18d09c64c148e62a785052e6723',
    'source': './mlruns/0/d994f18d09c64c148e62a785052e6723/artifacts/sklearn-model',
    'status': 'READY',
    'status_message': None,
    'user_id': None,
    'version': 2 }

Eliminare un modello o una versione del modello

È possibile eliminare un modello usando l'interfaccia utente o l'API.

Eliminare una versione del modello o un modello usando l'interfaccia utente

Avviso

Non è possibile annullare questa azione. È possibile eseguire la transizione di una versione del modello alla fase Archived (Archiviata) invece di eliminarla dal registro. Quando si elimina un modello, tutti gli artefatti del modello archiviati dal Registro modelli dell'area di lavoro e tutti i metadati associati al modello registrato vengono eliminati.

Nota

È possibile eliminare modelli e versioni del modello solo nella fase Nessuna o Archived (Archiviata). Se un modello registrato ha versioni nella fase Staging o Produzione, è necessario eseguirne la transizione alla fase Nessuna o Archived (Archiviata) prima di eliminare il modello.

Per eliminare una versione del modello:

  1. Fare clic su ModelliModelli nella barra laterale.
  2. Fare clic sul nome di un modello.
  3. Fare clic su una versione del modello.
  4. Fare clic Eliminare la versione del modello nell'angolo in alto a destra della schermata e selezionare Elimina dal menu a discesa.

Per eliminare un modello:

  1. Fare clic su ModelliModelli nella barra laterale.
  2. Fare clic sul nome di un modello.
  3. Fare clic Eliminare un modello nell'angolo in alto a destra della schermata e selezionare Elimina dal menu a discesa.

Eliminare una versione del modello o un modello usando l'API

Avviso

Non è possibile annullare questa azione. È possibile eseguire la transizione di una versione del modello alla fase Archived (Archiviata) invece di eliminarla dal registro. Quando si elimina un modello, tutti gli artefatti del modello archiviati dal Registro modelli dell'area di lavoro e tutti i metadati associati al modello registrato vengono eliminati.

Nota

È possibile eliminare modelli e versioni del modello solo nella fase Nessuna o Archived (Archiviata). Se un modello registrato ha versioni nella fase Staging o Produzione, è necessario eseguirne la transizione alla fase Nessuna o Archived (Archiviata) prima di eliminare il modello.

Eliminare una versione del modello

Per eliminare una versione del modello, usare il metodo delete_model_version() dell'API MLflow Client:

# Delete versions 1,2, and 3 of the model
client = MlflowClient()
versions=[1, 2, 3]
for version in versions:
  client.delete_model_version(name="<model-name>", version=version)

Elimina un modello

Per eliminare un modello, usare il metodo delete_registered_model() dell'API MLflow Client:

client = MlflowClient()
client.delete_registered_model(name="<model-name>")

Condividere modelli tra le aree di lavoro

Databricks consiglia di usare i modelli in Unity Catalog per condividere i modelli tra aree di lavoro. Il catalogo unity offre supporto predefinito per l'accesso, la governance e la registrazione di controllo tra modelli di area di lavoro.

Tuttavia, se si usa il registro dei modelli dell'area di lavoro, è anche possibile condividere modelli tra più aree di lavoro con alcune impostazioni. Ad esempio, è possibile sviluppare e registrare un modello nella propria area di lavoro e accedervi da un'altra area di lavoro usando un registro dei modelli di area di lavoro remoto. Questo approccio è utile quando più team condividono l'accesso ai modelli. È possibile creare più aree di lavoro e usare e gestire modelli in questi ambienti.

Copiare oggetti MLflow tra aree di lavoro

Per importare o esportare oggetti MLflow nell'area di lavoro di Azure Databricks, è possibile usare il progetto open source basato sulla community MLflow Export-Import per eseguire la migrazione di esperimenti, modelli e esecuzioni di MLflow tra aree di lavoro.

Con questi strumenti è possibile:

  • Condividere e collaborare con altri data scientist nello stesso server di rilevamento o in un altro server di rilevamento. Ad esempio, è possibile clonare un esperimento da un altro utente nell'area di lavoro.
  • Copiare un modello da un'area di lavoro a un'altra, ad esempio da uno sviluppo a un'area di lavoro di produzione.
  • Copiare gli esperimenti MLflow ed eseguirli dal server di rilevamento locale all'area di lavoro di Databricks.
  • Eseguire il backup di esperimenti e modelli cruciali in un'altra area di lavoro di Databricks.

Esempio

Questo esempio illustra come usare il Registro modelli di area di lavoro per creare un'applicazione di Machine Learning.

Esempio di Registro modelli dell'area di lavoro