Condividi tramite


Eseguire il training di modelli ML con l'interfaccia utente Azure Databricks AutoML

Questo articolo illustra come eseguire il training di un modello di Machine Learning usando AutoML e l'interfaccia utente di Databricks Mosaic AI. L'interfaccia utente di AutoML consente di eseguire il training di un modello di classificazione, regressione o previsione su un set di dati.

Consulta i Requisiti per gli esperimenti AutoML.

Aprire l'interfaccia utente di AutoML

Per accedere all'interfaccia utente di AutoML:

  1. Nella barra laterale selezionare Nuovo > Esperimento AutoML.

    È anche possibile creare un nuovo esperimento AutoML dalla pagina Esperimenti.

    Viene visualizzata la pagina Configura esperimento AutoML. In questa pagina viene configurato il processo AutoML, specificando il set di dati, il tipo di problema, l'obiettivo o la colonna etichetta per la previsione, la metrica da usare per valutare e assegnare punteggi alle esecuzioni dell'esperimento e arrestare le condizioni.

Configurare un problema di classificazione o regressione

È possibile configurare un problema di classificazione o regressione usando l'interfaccia utente di AutoML con la procedura seguente:

  1. Nel campo Calcolo selezionare un cluster che esegue Databricks Runtime ML.

  2. Dal menu a discesa Tipo di problema ML selezionare Regressione o Classificazione. Se si sta tentando di stimare un valore numerico continuo per ogni osservazione, ad esempio il reddito annuale, selezionare regressione. Se si sta tentando di assegnare ogni osservazione a un set discreto di classi, ad esempio un buon rischio di credito o un rischio di credito non valido, selezionare classificazione.

  3. In Set di dati selezionare Sfoglia.

  4. Passare alla tabella da usare e cliccare Seleziona. Viene visualizzato lo schema della tabella.

    Nota

    Se si specifica un metodo di imputazione non predefinito, AutoML non esegue il rilevamento dei tipi semantici.

  5. Fare clic nel campo Obiettivo di previsione. Viene visualizzato un elenco a discesa che riporta le colonne visualizzate nello schema. Selezionare la colonna per la quale il modello deve eseguire la previsione.

  6. Il campo Nome esperimento mostra il nome predefinito. Per modificarlo, digitare il nuovo nome nel campo.

È anche possibile:

Configurare i problemi di previsione

È possibile configurare un problema di previsione usando l'interfaccia utente di AutoML con la procedura seguente:

  1. Nel campo Calcolo selezionare un cluster che esegue Databricks Runtime 10.0 ML o versione successiva.

  2. Dal menu a discesa Tipo di problema ML, selezionare Previsione.

  3. In Set di dati cliccare Sfoglia. Passare alla tabella da usare e cliccare Seleziona. Viene visualizzato lo schema della tabella.

  4. Fare clic nel campo Obiettivo di previsione. Viene visualizzato un menu a discesa che elenca le colonne visualizzate nello schema. Selezionare la colonna per la quale il modello deve eseguire la previsione.

  5. Fare clic nel campo Colonna ora. Viene visualizzato un elenco a discesa che mostra le colonne dei set di dati di tipo timestamp o date. Selezionare la colonna contenente i periodi di tempo per la serie temporale.

  6. Per le previsioni su più serie, selezionare le colonne che identificano le singole serie temporali nell'elenco a discesa Identificatori serie temporali. AutoML raggruppa i dati in base a queste colonne come serie temporali diverse ed esegue il training di un modello per ogni serie in modo indipendente. Se si lascia vuoto questo campo, AutoML presuppone che il set di dati contenga una singola serie temporale.

  7. Nei campi Orizzonte previsione e frequenza specificare il numero di periodi di tempo nel futuro per cui AutoML deve calcolare i valori previsti. Nella casella a sinistra immettere il numero intero di periodi da prevedere. Nella casella a destra selezionare le unità.

    Nota

    Per usare Auto-ARIMA, la serie temporale deve avere una frequenza regolare dove l'intervallo tra due punti deve essere lo stesso per tutta la serie temporale. La frequenza deve corrispondere all'unità di frequenza specificata nella chiamata API o nell'interfaccia utente di AutoML. AutoML gestisce i passaggi temporali mancanti compilando tali valori con il valore precedente.

  8. In Databricks Runtime 11.3 LTS ML e versioni successive è possibile salvare i risultati della previsione. A tale scopo, specificare un database nel campo Database di output. Cliccare Sfoglia e selezionare un database nella finestra di dialogo. AutoML scrive i risultati della stima in una tabella in questo database.

  9. Il campo Nome esperimento mostra il nome predefinito. Per modificarlo, digitare il nuovo nome nel campo.

È anche possibile:

Usare le tabelle delle funzionalità esistenti da Databricks Feature Store

In Databricks Runtime 11.3 LTS ML e versioni successive, è possibile usare le tabelle delle funzionalità di Databricks Feature Store per espandere il set di dati di training di input per i problemi di classificazione e regressione.

Con Databricks Runtime 12.2 LTS ML e versioni successive, è possibile usare le tabelle delle funzionalità di Databricks Feature Store per espandere il set di dati di training di input per tutti i problemi di AutoML: classificazione, regressione e previsione.

Per creare una tabella delle funzionalità, vedere Creare una tabella delle funzionalità in Unity Catalog o Creare una tabella delle funzionalità in Databricks Feature Store.

Dopo aver configurato l'esperimento AutoML, è possibile selezionare una tabella delle funzionalità seguendo questa procedura:

  1. Cliccare Aggiungi funzionalità (facoltativo).

    Selezionare il pulsante Aggiungi funzionalità

  2. Nella pagina Aggiungi funzionalità aggiuntive selezionare una tabella delle funzionalità nel campo Tabella funzionalità.

  3. Per ogni chiave primaria della tabella delle funzionalità, selezionare la chiave di ricerca corrispondente. La chiave di ricerca deve essere una colonna nel set di dati di training fornito per l'esperimento AutoML.

  4. Per le tabelle delle funzionalità delle serie temporali, selezionare la chiave di ricerca timestamp corrispondente. Analogamente, la chiave di ricerca timestamp deve essere una colonna nel set di dati di training fornito per l'esperimento AutoML.

    Selezionare la chiave primaria e le tabelle di ricerca

  5. Per aggiungere altre tabelle delle funzionalità, cliccare Aggiungi un'altra tabella e ripetere i passaggi precedenti.

Configurazioni avanzate

Aprire la sezione Configurazione avanzata (facoltativa) per accedere a questi parametri.

  • La metrica di valutazione è la metrica primaria usata per assegnare un punteggio alle esecuzioni.
  • In Databricks Runtime 10.4 LTS ML e versioni successive è possibile escludere i framework di training dalla considerazione. Per impostazione predefinita, AutoML esegue il training dei modelli usando i framework elencati in Algoritmi AutoML.
  • È possibile modificare le condizioni di arresto. Le condizioni di arresto predefinite sono:
    • Per gli esperimenti di previsione, eseguire l'aresto dopo 120 minuti.
    • In Databricks Runtime 10.4 LTS ML e versioni successive, per gli esperimenti di classificazione e regressione, eseguire l'arresto dopo 60 minuti o dopo aver completato 200 prove, a seconda di quale situazione si verifica per prima. Per Databricks Runtime 11.0 ML e versioni successive, il numero di prove non viene usato come condizione di arresto.
    • Inoltre, in Databricks Runtime 10.4 ML e versioni successive, gli esperimenti di classificazione e regressione, AutoML incorpora l'arresto anticipato; interromperà il training e l'ottimizzazione dei modelli se la metrica di convalida non sta più migliorando.
  • In Databricks Runtime 10.4 LTS ML e versioni successive è possibile selezionare una colonna temporale per suddividere i dati per il training, la convalida e il test in ordine cronologico (si applica solo alla classificazione e alla regressione).
  • Databricks consiglia di non popolare il campo Directory dati. In questo modo viene attivato il comportamento predefinito dell'archiviazione sicura del set di dati come artefatto MLflow. È possibile specificare un percorso DBFS, ma in questo caso il set di dati non eredita le autorizzazioni di accesso dell'esperimento AutoML.

Eseguire l'esperimento e monitorare i risultati

Per avviare l'esperimento AutoML, cliccare Avvia AutoML. L'esperimento inizia a essere eseguito e viene visualizzata la pagina di training AutoML. Per aggiornare la tabella delle esecuzioni, cliccare Pulsante Aggiorna.

Da questa pagina è possibile:

  • Arrestare l'esperimento in qualsiasi momento.
  • Aprire un notebook di esplorazione dei dati.
  • Monitorare le esecuzioni.
  • Passare alla pagina di esecuzione per qualsiasi esecuzione.

Con Databricks Runtime 10.1 ML e versioni successive, AutoML visualizza avvisi per potenziali problemi con il set di dati, ad esempio tipi di colonna non supportati o colonne a cardinalità elevata.

Nota

Databricks fa del suo meglio per indicare potenziali errori o problemi. Tuttavia, queste segnalazioni potrebbero non essere complete e potrebbero non acquisire i problemi o gli errori che l'utente sta cercando.

Per visualizzare eventuali avvisi per il set di dati, cliccare la scheda Avvisi nella pagina di training o nella pagina dell'esperimento al termine dell'esperimento.

Avvisi autoML

Al termine dell'esperimento, è possibile:

  • Registrare e distribuire uno dei modelli con MLflow.
  • Selezionare Visualizza notebook per il modello migliore per rivedere e modificare il notebook che ha creato il modello migliore.
  • Selezionare Visualizza notebook di esplorazione dati per aprire il notebook di esplorazione dei dati.
  • Cercare, filtrare e ordinare le esecuzioni nella tabella delle esecuzioni.
  • Vedere i dettagli per qualsiasi esecuzione:
    • Il notebook generato contenente il codice sorgente per un'esecuzione di prova è disponibile facendo clic sull'esecuzione di MLflow. Il notebook viene salvato nella sezione Artefatti della pagina di esecuzione. È possibile scaricare questo notebook e importarlo nell’area di lavoro, se il download degli artefatti viene abilitato dagli amministratori dell’area di lavoro.
    • Per visualizzare i risultati dell'esecuzione, cliccare la colonna Modelli o la colonna Ora di inizio. Viene visualizzata la pagina di esecuzione, che mostra informazioni sull'esecuzione della versione di prova (ad es. parametri, metriche e tag) e sugli artefatti creati dall'esecuzione, incluso il modello. Questa pagina include anche frammenti di codice che possono essere utilizzati per eseguire previsioni con il modello.

Per tornare a questo esperimento AutoML in un secondo momento, individuarlo nella tabella della pagina Esperimenti. I risultati di ogni esperimento AutoML, inclusi i notebook di esplorazione e training dei dati, vengono archiviati in una cartella databricks_automl nella home directory dell'utente che ha eseguito l'esperimento.

Registrare e implementare un modello

È possibile registrare e distribuire il modello con l'interfaccia utente di AutoML:

  1. Selezionare il collegamento nella colonna Modelli per il modello da registrare. Al termine di un'esecuzione, la riga superiore è il modello migliore (in base alla metrica primaria).
  2. Selezionare pulsante registra modello per registrare il modello nel Registro modelli.
  3. Selezionare Modelli Modelli nella barra laterale per passare al Registro modelli.
  4. Selezionare il nome del modello nella tabella del modello.
  5. Dalla pagina del modello registrato è possibile gestire il modello con Model Serving.

Nessun modulo denominato pandas.core.indexes.numeric

Quando si gestisce un modello compilato usando AutoML con Model Serving, è possibile che venga visualizzato l'errore: No module named 'pandas.core.indexes.numeric.

Ciò è dovuto a una versione incompatibile pandas tra AutoML e l'ambiente endpoint di gestione del modello. È possibile risolvere questo errore eseguendo lo script add-pandas-dependency.py. Lo script modifica requirements.txt e conda.yaml per il modello registrato in modo da includere la versione di dipendenza pandas appropriata: pandas==1.5.3.

  1. Modificare lo script in modo da includere il run_id dell’esecuzione MLflow in cui è stato registrato il modello.
  2. Ripetere la registrazione del modello nel Registro di sistema del modello MLflow.
  3. Provare a gestire la nuova versione del modello MLflow.