Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A:
Estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)
SDK Python azure-ai-ml v2 (corrente)
Questo articolo descrive le funzionalità di MLflow, un framework open source che gestisce il ciclo di vita completo di Machine Learning. MLflow usa un set coerente di strumenti per eseguire il training e gestire modelli su piattaforme diverse. Usare MLflow se gli esperimenti vengono eseguiti in locale, in una destinazione di calcolo remota, in una macchina virtuale o in un'istanza di calcolo di Azure Machine Learning.
Le aree di lavoro di Azure Machine Learning sono compatibili con MLflow, quindi si usa un'area di lavoro di Azure Machine Learning allo stesso modo in cui si usa un server MLflow. Questa compatibilità offre questi vantaggi:
- Azure Machine Learning non ospita istanze del server MLflow, ma usa direttamente le API MLflow.
- Usare un'area di lavoro di Azure Machine Learning come server di rilevamento per qualsiasi codice MLflow, indipendentemente dal fatto che venga eseguito in Azure Machine Learning. È sufficiente configurare MLflow in modo che punti all'area di lavoro in cui si verifica il rilevamento.
- Eseguire qualsiasi routine di training che usa MLflow in Azure Machine Learning senza apportare modifiche.
Suggerimento
A differenza di Azure Machine Learning SDK v1, Azure Machine Learning v2 SDK non include funzionalità di registrazione. Usare la registrazione MLflow per mantenere le routine di training indipendenti dal cloud, portabili e indipendenti da Azure Machine Learning.
Che cos'è il rilevamento
Quando si lavora con i processi, Azure Machine Learning tiene automaticamente traccia delle informazioni sugli esperimenti, ad esempio codice, ambiente e dati di input e output. Tuttavia, i modelli, i parametri e le metriche sono specifici di ogni scenario, quindi i generatori di modelli devono configurare il rilevamento.
I metadati di rilevamento salvati variano in base all'esperimento e possono includere:
- Codice
- Dettagli dell'ambiente, ad esempio la versione del sistema operativo e i pacchetti Python
- Dati di input
- Configurazioni dei parametri
- Modelli
- Metriche di valutazione
- Visualizzazioni di valutazione come matrici di confusione e grafici di importanza
- Risultati della valutazione, incluse alcune stime di valutazione
Vantaggi del rilevamento di esperimenti
Che il training dei modelli venga eseguito con processi in Azure Machine Learning o in modo interattivo nei notebook, il rilevamento degli esperimenti consente di:
- Organizzare tutti gli esperimenti di Machine Learning in un'unica posizione. Quindi cercare e filtrare gli esperimenti ed eseguire il drill-down per visualizzare i dettagli sugli esperimenti precedenti.
- Confrontare esperimenti, analizzare i risultati ed eseguire il debug del training del modello.
- Riprodurre o rieseguire esperimenti per convalidare i risultati.
- Collaborare più facilmente, perché vengono visualizzate le operazioni eseguite da altri colleghi, condividere i risultati dell'esperimento e accedere ai dati dell'esperimento a livello di codice.
Rilevamento con MLflow
Le aree di lavoro di Azure Machine Learning sono compatibili con MLflow. Questa compatibilità consente di usare MLflow per tenere traccia di esecuzioni, metriche, parametri e artefatti nelle aree di lavoro senza modificare le routine di training o aggiungere una sintassi specifica del cloud. Per informazioni su come usare MLflow per tenere traccia di esperimenti ed esecuzioni nelle aree di lavoro di Azure Machine Learning, vedere Tenere traccia di esperimenti e modelli con MLflow.
Azure Machine Learning usa il rilevamento MLflow per registrare le metriche e archiviare gli artefatti per gli esperimenti. Quando si è connessi ad Azure Machine Learning, tutto il rilevamento MLflow viene visualizzato nell'area di lavoro usata.
Per informazioni su come abilitare la registrazione per monitorare le metriche di esecuzione in tempo reale con MLflow, vedere Registrare metriche, parametri e file con MLflow. È anche possibile eseguire query e confrontare esperimenti ed esecuzioni con MLflow.
MLflow in Azure Machine Learning consente di centralizzare il rilevamento. Connettere MLflow alle aree di lavoro di Azure Machine Learning anche quando si lavora in locale o in un cloud diverso. L'area di lavoro di Azure Machine Learning offre una posizione centralizzata, sicura e scalabile per archiviare le metriche e i modelli di training.
MLflow in Azure Machine Learning consente di:
- Tenere traccia di esperimenti e modelli di Machine Learning in esecuzione in locale o nel cloud.
- Tenere traccia degli esperimenti di Machine Learning di Azure Databricks.
- Tenere traccia degli esperimenti di Machine Learning di Azure Synapse Analytics.
Rilevamento con MLflow in R
Il supporto di MLflow in R presenta queste limitazioni:
- Il rilevamento MLflow è limitato al rilevamento di metriche, parametri e modelli dell'esperimento nei processi di Azure Machine Learning.
- Il training interattivo in RStudio, Posit (in precedenza RStudio Workbench) o nei notebook di Jupyter con kernel R non è supportato.
- La gestione e la registrazione dei modelli non sono supportate. Usare l'interfaccia della riga di comando di Azure Machine Learning o dello studio di Azure Machine Learning per la registrazione e la gestione dei modelli.
Per esempi dell'uso del client di rilevamento di MLflow con modelli R in Azure Machine Learning, vedere Eseguire il training dei modelli R usando l'interfaccia della riga di comando di Azure Machine Learning (v2).
Rilevamento con MLflow in Java
Il supporto di MLflow in Java presenta queste limitazioni:
- Il rilevamento MLflow è limitato al rilevamento di metriche e parametri dell'esperimento nei processi di Azure Machine Learning.
- Non è possibile tenere traccia degli artefatti e dei modelli. Usare invece il metodo
mlflow.save_modelcon la cartellaoutputsnei processi per salvare modelli o artefatti da acquisire.
Per un esempio Java che usa il client di rilevamento di MLflow con il server di rilevamento di Azure Machine Learning, vedere azuremlflow-java.
Notebook di esempio per il rilevamento di MLflow
- Il training e il rilevamento di un classificatore XGBoost con MLflow illustra come usare MLflow per tenere traccia di esperimenti, modelli di log e combinare più versioni in pipeline.
- L'addestramento e il monitoraggio di un classificatore XGBoost con MLflow tramite l'autenticazione del principale del servizio illustra come usare MLflow per tenere traccia degli esperimenti da un ambiente di calcolo in esecuzione all'esterno di Azure Machine Learning. L'esempio illustra come eseguire l'autenticazione nei servizi di Azure Machine Learning usando un'entità servizio.
- L'ottimizzazione degli iperparametri tramite HyperOpt e le esecuzioni annidate in MLflow illustra come usare le esecuzioni figlio per eseguire l'ottimizzazione degli iperparametri per i modelli usando la popolare libreria HyperOpt. L'esempio mostra come trasferire metriche, parametri e artefatti da esecuzioni figlio a esecuzioni padre.
- La registrazione di modelli con MLflow illustra come usare il concetto di modelli anziché gli artefatti con MLflow. L'esempio mostra anche come costruire modelli personalizzati.
- Gestire esecuzioni ed esperimenti con MLflow illustra come usare MLflow per eseguire query su esperimenti, esecuzioni, metriche, parametri e artefatti di Azure Machine Learning.
Registrazione dei modelli con MLflow
Azure Machine Learning supporta MLflow per la gestione dei modelli. Se si ha familiarità con il client MLflow, è possibile usarlo per gestire l'intero ciclo di vita del modello. Per altre informazioni sulla gestione dei modelli con l'API MLflow in Azure Machine Learning, vedere Gestire i registri modelli in Azure Machine Learning con MLflow.
Notebook di esempio per la registrazione dei modelli di MLflow
La gestione dei modelli con MLflow illustra come gestire i modelli nei registri.
Distribuzione del modello con MLflow
Distribuire modelli MLflow in Azure Machine Learning per ottenere un'esperienza migliorata. Azure Machine Learning supporta la distribuzione di modelli MLflow in endpoint batch e in tempo reale senza specificare un ambiente o uno script di assegnazione dei punteggi.
MLflow SDK, l'interfaccia della riga di comando di Azure Machine Learning, Azure Machine Learning SDK per Python e lo studio di Azure Machine Learning supportano la distribuzione modello di MLflow. Per altre informazioni sulla distribuzione di modelli MLflow in Azure Machine Learning per inferenza in tempo reale e batch, vedere Linee guida per la distribuzione di modelli MLflow.
Notebook di esempio per la distribuzione modello di MLflow
- Distribuire MLflow negli endpoint online illustra come distribuire modelli MLflow in endpoint online usando MLflow SDK.
- L'implementazione progressiva delle distribuzioni MLflow mostra come distribuire modelli MLflow in endpoint online usando MLflow SDK con implementazione progressiva del modello. L'esempio mostra anche come distribuire più versioni di un modello nello stesso endpoint.
- Distribuire modelli MLflow nei servizi Web legacy illustra come distribuire modelli MLflow nei servizi Web legacy (Istanze di Azure Container o servizio Azure Kubernetes v1) usando MLflow SDK.
- Eseguire il training di modelli in Azure Databricks e distribuirli in Azure Machine Learning illustra come eseguire il training dei modelli in Azure Databricks e distribuirli in Azure Machine Learning. L'esempio illustra anche gli esperimenti di rilevamento con l'istanza di MLflow in Azure Databricks.
Training con progetti di MLflow (anteprima)
Avviso
Il supporto per i file di MLproject (MLflow Projects) in Azure Machine Learning verrà ritirato completamente a settembre 2026.
MLflow è ancora completamente supportato ed è comunque il modo consigliato per tenere traccia dei carichi di lavoro di Machine Learning in Azure Machine Learning.
Man mano che si continua a usare MLflow, è consigliabile passare da file di MLproject a Processi Azure Machine Learning, usando l'interfaccia della riga di comando di Azure o Azure Machine Learning SDK per Python (v2). Per altre informazioni sui processi di Azure Machine Learning, vedere Tenere traccia degli esperimenti e dei modelli di Machine Learning con MLflow.
Importante
Questa funzionalità è attualmente disponibile in anteprima pubblica. Questa versione di anteprima viene fornita senza Contratto di servizio. Pertanto se ne sconsiglia l'uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero offrire funzionalità limitate.
Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.
Inviare job di training ad Azure Machine Learning usando MLflow Projects. Inviare processi in locale con il rilevamento di Azure Machine Learning o eseguire la migrazione dei processi nel cloud usando l’ambiente di calcolo di Azure Machine Learning.
Scopri come inviare processi di addestramento che usano progetti MLflow alle aree di lavoro di Azure Machine Learning per il tracciamento in Esegui il training con progetti MLflow in Azure Machine Learning (anteprima).
Notebook di esempio per i progetti MLflow
- Addestrare con progetti MLflow su un calcolatore locale
- Addestra con i progetti MLflow sulla computazione di Azure Machine Learning
Funzionalità degli strumenti client di MLflow e Azure Machine Learning
La tabella seguente illustra le operazioni del ciclo di vita di Machine Learning che è possibile eseguire con MLflow SDK e gli strumenti client di Azure Machine Learning.
| Funzionalità | MLflow SDK | Interfaccia della riga di comando di Azure Machine Learning e SDK v2 | Azure Machine Learning Studio |
|---|---|---|---|
| Tenere traccia e registrare metriche, parametri e modelli | ✓ | ||
| Recuperare metriche, parametri e modelli | ✓ | È possibile scaricare solo artefatti e modelli. | ✓ |
| Inviare processi di training | È possibile usare progetti MLflow (anteprima). | ✓ | ✓ |
| Inviare processi di training con asset di dati di Azure Machine Learning | ✓ | ✓ | |
| Inviare processi di training con pipeline di Machine Learning | ✓ | ✓ | |
| Gestire esperimenti ed esecuzioni | ✓ | ✓ | ✓ |
| Gestire i modelli MLflow | Alcune operazioni non sono supportate. 1 | ✓ | ✓ |
| Gestire modelli non MLflow | ✓ | ✓ | |
| Distribuire modelli di MLflow in Azure Machine Learning (online e batch) | Non è possibile distribuire modelli MLflow per l'inferenza batch in questo momento. 2 | ✓ | ✓ |
| Distribuire modelli non MLflow in Azure Machine Learning | ✓ | ✓ |
1 Per altre informazioni, vedere Gestire i registri di modelli in Azure Machine Learning con MLflow.
2 Per un'alternativa, vedere Distribuire ed eseguire modelli di MLflow nei processi Spark.