Informazioni su Azure Machine Learning
Azure Machine Learning è un servizio cloud per accelerare e gestire il ciclo di vita dei progetti di apprendimento automatico. I professionisti di Machine Learning, i data scientist e i tecnici possono usarli nei flussi di lavoro quotidiani: eseguire il training e la distribuzione di modelli e gestire MLOps.
È possibile creare un modello in Azure Machine Learning o usare un modello creato da una piattaforma open source come Pytorch, TensorFlow o scikit-learn. Gli strumenti MLOps consentono di monitorare, ripetere il training e ridistribuire i modelli.
Suggerimento
Versione di valutazione gratuita. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare. Provare la versione gratuita o a pagamento di Azure Machine Learning. Si ricevono così crediti da spendere in servizi di Azure. Quando i crediti saranno esauriti, sarà possibile mantenere l'account e usare i servizi di Azure gratuiti. Verranno applicati addebiti alla carta di credito solo se l'utente modifica le impostazioni e richiede esplicitamente l'addebito.
Chi è Azure Machine Learning per?
Azure Machine Learning è destinato a singoli utenti e team che implementano MLOps all'interno dell'organizzazione per portare i modelli di Machine Learning nell'ambiente di produzione sicuro e controllabile.
I data scientist e i tecnici di Machine Learning troveranno strumenti per accelerare e automatizzare i flussi di lavoro quotidiani. Gli sviluppatori di applicazioni troveranno strumenti per l'integrazione di modelli in applicazioni o servizi. Gli sviluppatori di piattaforme troveranno un solido set di strumenti, supportato da API di Azure Resource Manager durevoli, per la creazione di strumenti di Machine Learning avanzati.
Le aziende che lavorano nel cloud di Microsoft Azure troveranno familiari funzionalità di sicurezza e controllo degli accessi in base al ruolo per l'infrastruttura. È possibile configurare un progetto per negare l'accesso ai dati protetti e selezionare le operazioni.
Produttività per tutti i membri del team
I progetti di Machine Learning richiedono spesso un team con competenze diverse impostate per la compilazione e la gestione. Azure Machine Learning include strumenti che consentono di:
Collaborare con il team tramite notebook condivisi, risorse di calcolo, calcolo serverless (anteprima), dati e ambienti
Sviluppare modelli per equità e spiegazione, rilevamento e controllo per soddisfare i requisiti di conformità di derivazione e controllo
Distribuire i modelli di Machine Learning in modo rapido e semplice su larga scala e gestirli e gestirli in modo efficiente con MLOps
Eseguire carichi di lavoro di Machine Learning ovunque con governance, sicurezza e conformità predefinite
Strumenti multipiattaforma che soddisfano le proprie esigenze
Chiunque in un team di Machine Learning può usare gli strumenti preferiti per svolgere il lavoro. Sia che si eseguano esperimenti rapidi, ottimizzazione degli iperparametri, compilazione di pipeline o gestione di inferenze, è possibile usare interfacce familiari tra cui:
- Azure Machine Learning Studio
- Python SDK (v2)
- Interfaccia della riga di comando (v2))
- API REST di Azure Resource Manager
Man mano che si affina il modello e si collabora con altri utenti nel resto del ciclo di sviluppo di Machine Learning, è possibile condividere e trovare asset, risorse e metriche per i progetti nell'interfaccia utente di studio di Azure Machine Learning.
Studio
Il studio di Azure Machine Learning offre più esperienze di creazione a seconda del tipo di progetto e del livello dell'esperienza di Machine Learning precedente, senza dover installare nulla.
Notebook: scrivere ed eseguire codice personalizzato in server Jupyter Notebook gestiti integrati direttamente in Studio.
Visualizzare le metriche di esecuzione: analizzare e ottimizzare gli esperimenti con la visualizzazione.
Finestra di progettazione di Azure Machine Learning: usare la finestra di progettazione per eseguire il training e la distribuzione di modelli di Machine Learning senza scrivere codice. Trascinare set di dati e componenti per creare pipeline di Machine Learning.
Interfaccia utente di Machine Learning automatizzata: informazioni su come creare esperimenti di Machine Learning automatizzati con un'interfaccia facile da usare.
Etichettatura dei dati: usare l'etichettatura dei dati di Azure Machine Learning per coordinare in modo efficiente i progetti di etichettatura delle immagini o di etichettatura del testo .
Idoneità aziendale e sicurezza
Azure Machine Learning si integra con la piattaforma cloud di Azure per aggiungere sicurezza ai progetti di Machine Learning.
Le integrazioni di sicurezza includono:
- Reti virtuali di Azure con gruppi di sicurezza di rete
- Azure Key Vault in cui è possibile salvare i segreti di sicurezza, ad esempio le informazioni di accesso per gli account di archiviazione
- Registro Azure Container configurati dietro una rete virtuale
Vedere Esercitazione: Configurare un'area di lavoro sicura.
Integrazioni di Azure per soluzioni complete
Altre integrazioni con i servizi di Azure supportano un progetto di Machine Learning da end-to-end. e comprendono:
- Azure Synapse Analytics per elaborare e trasmettere dati con Spark
- Azure Arc, in cui è possibile eseguire i servizi di Azure in un ambiente Kubernetes
- Opzioni di archiviazione e database, ad esempio database Azure SQL, BLOB di archiviazione di Azure e così via
- Servizio app di Azure consentendo di distribuire e gestire app basate su ML
- Microsoft Purview consente di individuare e catalogare gli asset di dati nell'organizzazione
Importante
Azure Machine Learning non archivia o elabora i dati all'esterno dell'area in cui si distribuisce.
Flusso di lavoro del progetto di Machine Learning
In genere, i modelli vengono sviluppati come parte di un progetto con obiettivi e obiettivi. I progetti spesso coinvolgono più persone. Quando si sperimentano dati, algoritmi e modelli, lo sviluppo è iterativo.
Ciclo di vita dei progetti
Anche se il ciclo di vita del progetto può variare in base al progetto, spesso sarà simile al seguente:
Un'area di lavoro organizza un progetto e consente la collaborazione per molti utenti che lavorano verso un obiettivo comune. Gli utenti di un'area di lavoro possono condividere facilmente i risultati delle esecuzioni dalla sperimentazione nell'interfaccia utente di Studio o usare asset con controllo delle versioni per processi come ambienti e riferimenti all'archiviazione.
Per altre informazioni, vedere Gestire le aree di lavoro di Azure Machine Learning.
Quando un progetto è pronto per l'operazionalizzazione, il lavoro degli utenti può essere automatizzato in una pipeline di Machine Learning e attivato in base a una pianificazione o a una richiesta HTTPS.
I modelli possono essere distribuiti nella soluzione di inferenza gestita, sia per le distribuzioni in tempo reale che per le distribuzioni batch, rimuovendo in genere la gestione dell'infrastruttura necessaria per la distribuzione dei modelli.
Eseguire il training dei modelli
In Azure Machine Learning è possibile eseguire lo script di training nel cloud o creare un modello da zero. I clienti spesso usano modelli creati ed sottoposti a training in framework open source, in modo che possano renderli operativi nel cloud.
Apri e interoperabile
I data scientist possono usare modelli in Azure Machine Learning creati in framework Python comuni, ad esempio:
- PyTorch
- TensorFlow
- scikit-learn
- XGBoost
- LightGBM
Sono supportati anche altri linguaggi e framework, tra cui:
- R
- .NET
Vedere Integrazione open source con Azure Machine Learning.
Selezione automatica delle caratteristiche e degli algoritmi (AutoML)
In un processo ripetitivo e dispendioso in termini di tempo, i data scientist classici di Machine Learning usano esperienza e intuizioni precedenti per selezionare le caratteristiche e l'algoritmo di dati corretti per il training. Machine Learning automatizzato (AutoML) accelera questo processo e può essere usato tramite l'interfaccia utente di Studio o Python SDK.
Vedere Che cos'è l'apprendimento automatico?
Ottimizzazione degli iperparametri
L'ottimizzazione degli iperparametri o l'ottimizzazione degli iperparametri può essere un'attività noiosa. Azure Machine Learning può automatizzare questa attività per comandi con parametri arbitrari con poche modifiche alla definizione del processo. I risultati vengono visualizzati in studio.
Vedere Come ottimizzare gli iperparametri.
Training distribuito multinodo
L'efficienza del training per l'apprendimento avanzato e talvolta i processi di training di Machine Learning classico possono essere notevolmente migliorati tramite il training distribuito multinodo. I cluster di calcolo di Azure Machine Learning e le risorse di calcolo serverless (anteprima) offrono le opzioni gpu più recenti.
Supportato tramite Azure Machine Learning Kubernetes, cluster di calcolo di Azure Machine Learning e calcolo serverless (anteprima):
- PyTorch
- TensorFlow
- MPI
La distribuzione MPI può essere usata per la logica horovod o multinode personalizzata. Apache Spark è inoltre supportato tramite cluster Spark di analisi Azure Synapse (anteprima).
Importante
L'uso di Apache Spark tramite cluster Spark di Azure Synapse Analytics è disponibile in anteprima pubblica. La versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere Condizioni supplementari per l'utilizzo delle anteprime di Microsoft Azure.
Vedere Training distribuito con Azure Machine Learning.
Training parallelo imbarazzante
Il ridimensionamento di un progetto di Machine Learning può richiedere il ridimensionamento imbarazzante del training del modello parallelo. Questo modello è comune per scenari come la previsione della domanda, in cui un modello può essere sottoposto a training per molti archivi.
Distribuire i modelli
Per portare un modello in produzione, viene distribuito. Gli endpoint gestiti di Azure Machine Learning astrazioneno l'infrastruttura necessaria per l'assegnazione dei punteggi di modelli in batch o in tempo reale (inferenza).
Punteggio in tempo reale e batch (inferenza)
L'assegnazione di punteggi batch o l'inferenza batch comporta l'richiamo di un endpoint con un riferimento ai dati. L'endpoint batch esegue processi in modo asincrono per elaborare i dati in parallelo nei cluster di calcolo e archiviare i dati per ulteriori analisi.
Il punteggio in tempo reale o l'inferenza online comporta la chiamata di un endpoint con una o più distribuzioni di modelli e la ricezione di una risposta in tempo quasi in tempo reale tramite HTTP. Il traffico può essere suddiviso in più distribuzioni, consentendo di testare nuove versioni del modello deviando inizialmente una quantità di traffico e aumentando una volta stabilita la fiducia nel nuovo modello.
Vedere:
- Distribuire un modello con un endpoint gestito in tempo reale
- Usare gli endpoint batch per l'assegnazione dei punteggi
MLOps: DevOps per Machine Learning
DevOps per i modelli di Machine Learning, spesso denominati MLOps, è un processo per lo sviluppo di modelli per la produzione. Il ciclo di vita di un modello dal training alla distribuzione deve essere controllabile se non riproducibile.
Ciclo di vita del modello ml
Altre informazioni su MLOps in Azure Machine Learning.
Integrazioni che abilitano MLOPs
Azure Machine Learning viene creato con il ciclo di vita del modello in mente. È possibile controllare il ciclo di vita del modello fino a un commit e un ambiente specifici.
Alcune funzionalità chiave che abilitano MLOps includono:
- Integrazione di
git
- Integrazione di MLflow
- Pianificazione della pipeline di Machine Learning
- Griglia di eventi di Azure integrazione per i trigger personalizzati
- Facile da usare con strumenti CI/CD come GitHub Actions o Azure DevOps
Azure Machine Learning include anche funzionalità per il monitoraggio e il controllo:
- Artefatti del processo, ad esempio snapshot di codice, log e altri output
- Derivazione tra processi e asset, ad esempio contenitori, dati e risorse di calcolo
Passaggi successivi
Iniziare a usare Azure Machine Learning: