Condividi tramite


Organizzare le esecuzioni di training con esperimenti MLflow

Gli esperimenti sono unità di organizzazione per le esecuzioni di training del modello. Esistono due tipi di esperimenti: area di lavoro e notebook.

  • È possibile creare un esperimento dell'area di lavoro dall'interfaccia utente di Databricks Mosaic AI o dall'API MLflow. Gli esperimenti dell'area di lavoro non sono associati ad alcun notebook e qualsiasi notebook può registrare un'esecuzione a questi esperimenti usando l'ID esperimento o il nome dell'esperimento.
  • Un esperimento di notebook è associato a un notebook specifico. Azure Databricks crea automaticamente un esperimento di notebook se non è presente alcun esperimento attivo quando si avvia un'esecuzione usando mlflow.start_run().

Per visualizzare tutti gli esperimenti in un'area di lavoro a cui si ha accesso, select> Esperimenti di Machine Learning nella barra laterale.

pagina Esperimenti

Creare esperimento area di lavoro

Questa sezione descrive come creare un esperimento dell'area di lavoro usando l'interfaccia utente di Azure Databricks. È possibile creare un esperimento dell'area di lavoro direttamente dall'area di lavoro o dalla pagina Esperimenti.

È anche possibile usare l'API MLflow o il provider Databricks Terraform con databricks_mlflow_experiment.

Per istruzioni sulla registrazione delle esecuzioni agli esperimenti dell'area di lavoro, vedere la sezione Registrazione delle esecuzioni a un esperimento.

Creare un esperimento dall'area di lavoro

  1. Cliccare Icona Area di lavoroArea di lavoro nella barra laterale.

  2. Passare alla cartella in cui si vuole creare l'esperimento.

  3. Fare clic con il pulsante destro del mouse sulla cartella e selectCrea > esperimento MLflow.

  4. Nella finestra di dialogo Crea esperimento MLflow immettere un nome per l'esperimento e un percorso di artefatto facoltativo. Se non si specifica una posizione dell'artefatto, gli artefatti vengono archiviati nell'archiviazione degli artefatti gestiti da MLflow: dbfs:/databricks/mlflow-tracking/<experiment-id>.

    Azure Databricks supporta Unity Catalogvolumes, archiviazione BLOB di Azure e percorsi degli artefatti di Azure Data Lake Storage.

    In MLflow 2.15.0 e versioni successive è possibile archiviare gli artefatti in un volume Catalog Unity. Quando si crea un esperimento MLflow, specificare un percorso volumes del modulo dbfs:/Volumes/catalog_name/schema_name/volume_name/user/specified/path come percorso dell'artefatto dell'esperimento MLflow, come illustrato nel codice seguente:

    EXP_NAME = "/Users/first.last@databricks.com/my_experiment_name"
    CATALOG = "my_catalog"
    SCHEMA = "my_schema"
    VOLUME = "my_volume"
    ARTIFACT_PATH = f"dbfs:/Volumes/{CATALOG}/{SCHEMA}/{VOLUME}"
    
    mlflow.set_tracking_uri("databricks")
    mlflow.set_registry_uri("databricks-uc")
    
    if mlflow.get_experiment_by_name(EXP_NAME) is None:
        mlflow.create_experiment(name=EXP_NAME, artifact_location=ARTIFACT_PATH)
    mlflow.set_experiment(EXP_NAME)
    

    Per archiviare gli artefatti nell'archiviazione BLOB di Azure, specificare un URI che abbia il formato wasbs://<container>@<storage-account>.blob.core.windows.net/<path>. Gli artefatti archiviati nell'archiviazione BLOB di Azure non vengono visualizzati nell'interfaccia utente di MLflow; è necessario scaricarli usando un client di archiviazione BLOB.

    Nota

    Quando si archivia un elemento in una posizione diversa da DBFS, l'artefatto non viene visualizzato nell'interfaccia utente di MLflow. I modelli archiviati in posizioni diverse da DBFS non possono essere registrati nel Registro modelli.

  5. Cliccare Crea. Viene visualizzata la pagina dei dettagli dell'esperimento per il nuovo esperimento.

  6. Per registrare le esecuzioni a questo esperimento, richiamare mlflow.set_experiment() con il percorso dell'esperimento. Per visualizzare il percorso dell'esperimento, fai clic sull'icona delle informazioni icona delle informazioni a destra del nome dell'esperimento. Vedere le esecuzioni di log al riferimento per i dettagli e un notebook di esempio associati all'esperimento.

Creare un esperimento dalla pagina Esperimenti

Per creare un affinamento del modello di base, AutoML o un esperimento personalizzato, fare clic su Esperimenti o selectNuovo > Esperimento sulla barra laterale sinistra.

Nella parte superiore della pagina select una delle opzioni seguenti per configurare un esperimento:

  • Messa a punto fine del modello fondamentale. Viene visualizzata la finestra di dialogo di ottimizzazione fine del modello di base . Per informazioni dettagliate, vedere Eseguire un ciclo di addestramento usando l'interfaccia utente di affinamento del modello di base.
  • La previsione. Viene visualizzata la finestra di dialogo Configura previsione dell'esperimento . Per informazioni dettagliate, vedere Configurare l'esperimento AutoML.
  • classificazione. Apparirà la finestra di dialogo Configura l'esperimento di classificazione . Per informazioni dettagliate, vedere l'esperimento di classificazione up con l'interfaccia utente.
  • regressione. La finestra di dialogo Configura esperimento di classificazione verrà visualizzata. Per informazioni dettagliate, consultare l’esperimento di regressione con l’interfaccia utente Set.
  • personalizzato. Viene visualizzata la finestra di dialogo Crea esperimento MLflow. Per informazioni dettagliate, consultare il Passaggio 4 in Creare un esperimento dall'area di lavoro.

Creare un esperimento per notebook

Quando si usa il comando mlflow.start_run() in un notebook, l'esecuzione registra le metriche e parameters all'esperimento attivo. Se non è attivo alcun esperimento, Azure Databricks crea un esperimento di notebook. Un esperimento di notebook shares ha lo stesso nome e ID del notebook corrispondente. L'ID del notebook è il numero identifier alla fine dell'URL di un notebook e dell'ID .

In alternativa, è possibile passare un percorso dell'area di lavoro di Azure Databricks a un notebook esistente in mlflow.set_experiment() per creare un esperimento di notebook.

Per istruzioni su come registrare le esecuzioni negli esperimenti del notebook, vedere Registrare le esecuzioni in un esperimento.

Nota

Se si elimina un esperimento di notebook usando l'API (ad esempio, MlflowClient.tracking.delete_experiment() in Python), il notebook stesso viene spostato nella cartella Cestino.

Visualizzare gli esperimenti

Ogni esperimento a cui si ha accesso viene visualizzato nella pagina degli esperimenti. Da questa pagina è possibile visualizzare qualsiasi esperimento. Fare clic sul nome di un esperimento per visualizzare la pagina dei dettagli dell'esperimento.

Altri modi per accedere alla pagina dei dettagli dell'esperimento:

  • È possibile accedere alla pagina dei dettagli dell'esperimento per un esperimento dell'area di lavoro dal menu dell'area di lavoro.
  • È possibile accedere alla pagina dei dettagli dell'esperimento relativo a un esperimento sul notebook dal notebook.

Per cercare esperimenti, digitare il testo nel campo Filtra esperimenti e premere Invio o cliccare l'icona della lente di ingrandimento. L'esperimento list viene modificato per visualizzare solo gli esperimenti che contengono il testo di ricerca nel Nome, Creato da, Luogoo Descrizionecolumn.

Fare clic sul nome di qualsiasi esperimento nel table per visualizzare la relativa pagina dei dettagli dell'esperimento:

Visualizzare l'esperimento

La pagina dei dettagli dell'esperimento elenca tutte le esecuzioni associate all'esperimento. Dalla tableè possibile aprire la pagina di esecuzione per qualsiasi esecuzione associata all'esperimento facendo clic sul relativo Nome esecuzione. L'origine column consente di accedere alla versione del notebook che ha generato l'esecuzione. È anche possibile cercare e filtrare le esecuzioni in base alle metriche o alle impostazioni dei parametri.

Visualizzare l'esperimento dell'area di lavoro

  1. Cliccare Icona Area di lavoroArea di lavoro nella barra laterale.
  2. Passare alla cartella che contiene l'esperimento.
  3. Cliccare il nome dell'esperimento.

Visualizzare l'esperimento del notebook

Nella barra laterale destra del notebook, cliccare l'icona EsperimentoIcona Esperimento.

Viene visualizzata la barra laterale Experiment Runs (Esecuzioni di esperimenti) e viene mostrato un riepilogo di ogni esecuzione associata all'esperimento del notebook, incluse l'esecuzione parameters e le metriche. Nella parte superiore della barra laterale è riportato il nome dell'esperimento in cui il notebook ha eseguito l'ultima registrazione (un esperimento del notebook o un esperimento dell'area di lavoro).

Visualizza run parameters e metriche

Dalla barra laterale è possibile passare alla pagina dei dettagli dell'esperimento o direttamente a un'esecuzione dell'esperimento.

  • Per visualizzare l'esperimento, cliccare Collegamento esterno all'estrema destra accanto a Esecuzioni di esperimenti.
  • Per visualizzare un'esecuzione, cliccare il nome dell'esecuzione.

Gestire esperimenti

È possibile rinominare, eliminare o gestire le autorizzazioni per un esperimento di cui si è proprietari dalla pagina degli esperimenti, la pagina dei dettagli dell'esperimento o il menu dell'area di lavoro.

Nota

Non è possibile rinominare, eliminare o gestire direttamente le autorizzazioni per un esperimento MLflow creato da un notebook in una cartella Git di Databricks. È necessario eseguire queste azioni a livello di cartella Git.

Rinominare l'esperimento

È possibile rinominare un esperimento che possiedi dalla pagina esperimenti o dalla pagina dei dettagli dell'esperimento per quell'esperimento.

  • Nella pagina Esperimenti fare clic sul menu kebab menu Kebab nel column più a destra e quindi fare clic su Rinomina.

Rinomina dalla pagina Esperimenti.

  • Nella pagina dei dettagli dell'esperimento fare clic sul menu kebab menu Kebab accanto a Autorizzazioni e quindi fare clic su Rinomina.

Rinomina dalla pagina dei dettagli dell'esperimento.

È possibile rinominare un esperimento dall'interno dell'area di lavoro. Fare clic con il pulsante destro del mouse sul nome dell'esperimento e quindi fare clic su Rinomina.

Get ID dell'esperimento e percorso dell'esperimento

Nella pagina dei dettagli dell'esperimento è possibile get il percorso di un esperimento di notebook facendo clic sull'icona delle informazioni 'icona delle informazioni a destra del nome dell'esperimento. Viene visualizzata una nota popup che mostra il percorso dell'esperimento, l'ID esperimento e la posizione dell'artefatto. È possibile utilizzare l'ID esperimento nel comando MLflow set_experiment per set e rendere attivo l'esperimento MLflow.

icona Nome dell'esperimento

Per copiare il percorso completo dell'esperimento da un notebook, fai clic sull'icona Percorso nella barra laterale dell'esperimento del notebook..

icona del percorso dell'esperimento nella barra laterale del notebook.

Eliminare l'esperimento del notebook

Gli esperimenti del notebook fanno parte del notebook e non possono essere eliminati separatamente. Quando si elimina un notebook, l'esperimento notebook associato viene eliminato. Quando si elimina un esperimento notebook tramite l'interfaccia utente, viene eliminato anche il notebook.

Per eliminare gli esperimenti del notebook mediante API, utilizzare API Area di lavoro per assicurarsi che il notebook e l'esperimento vengano eliminati dall'area di lavoro.

Eliminare un'area di lavoro o un esperimento in un notebook

È possibile eliminare un esperimento di cui sei proprietario dalla pagina esperimenti o dalla pagina dei dettagli dell'esperimento.

Importante

Quando si elimina un esperimento notebook, viene eliminato anche il notebook.

  • Nella pagina esperimenti fare clic sul menu kebab menu Kebab nel più a destra e quindi fare clic su Elimina.

Elimina dalla pagina esperimenti.

  • Nella pagina dei dettagli dell'esperimento, fare clic sul menu Kebab accanto a Autorizzazioni e quindi fare clic su Elimina.

Elimina dalla pagina dei dettagli dell'esperimento.

È possibile eliminare un esperimento dell'area di lavoro dall'area di lavoro. Fare clic con il pulsante destro del mouse sul nome dell'esperimento e quindi scegliere Sposta nel Cestino.

Modificare le autorizzazioni per un esperimento

Per modificare le autorizzazioni di un esperimento dalla pagina dei dettagli dell'esperimento , cliccare su Autorizzazioni.

menu delle autorizzazioni della pagina dei dettagli dell'esperimento

È possibile modificare i permessi per un esperimento di cui si è proprietari dalla pagina esperimenti. Fare clic sul menu kebab menu Kebab nel column più a destra e quindi fare clic su Autorizzazioni.

Modificare le autorizzazioni dalla pagina Esperimenti.

Per informazioni sui livelli di autorizzazione del modello, vedere ACL dell'esperimento MLflow.

Copiare esperimenti tra aree di lavoro

Per eseguire la migrazione di esperimenti MLflow tra aree di lavoro, è possibile usare il progetto open source basato su community MLflow Export-Import.

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, nell'area di lavoro è possibile clonare un esperimento da un altro utente.
  • Copiare gli esperimenti MLflow ed eseguirli dal server di rilevamento locale nell'area di lavoro di Databricks.
  • Eseguire il backup di esperimenti e modelli cruciali in un'altra area di lavoro di Databricks.