Crea modelli personalizzati con Azure Machine Learning Designer

L'apprendimento automatico è una parte importante dello sviluppo di applicazioni moderne, sostituendo gran parte di ciò che si faceva utilizzando una serie complessa di motori di regole ed espandendo la copertura a una serie molto più ampia di problemi. Servizi come i servizi cognitivi di Azure forniscono modelli precostruiti e addestrati che supportano molti casi d'uso comuni, ma molti altri richiedono lo sviluppo di modelli personalizzati.

Andare su misura con ML

Come realizziamo modelli di machine learning personalizzati? Puoi iniziare da un'estremità utilizzando linguaggi di analisi statistica come R per costruire e convalidare modelli, dove hai già un'idea della struttura sottostante dei tuoi dati, oppure puoi lavorare con le funzionalità di algebra lineare della suite Anaconda di Python. Allo stesso modo, strumenti come PyTorch e TensorFlow possono aiutare a costruire modelli più complessi, sfruttando le reti neurali e l'apprendimento profondo pur integrandosi con linguaggi e piattaforme familiari.

Va tutto bene se hai un team di data scientist e matematici in grado di costruire, testare e (cosa più importante) convalidare i loro modelli. Con competenze di machine learning difficili da trovare, ciò di cui hai bisogno sono strumenti per guidare gli sviluppatori nel processo di creazione dei modelli di cui le aziende hanno bisogno. In pratica, la maggior parte dei modelli di machine learning si divide in due tipi: il primo identifica dati simili, il secondo identifica i dati periferici.

Potremmo utilizzare il primo tipo di app per identificare elementi specifici su un nastro trasportatore o cercare i problemi nei dati di una serie di sensori industriali nel secondo. Scenari come questi non sono particolarmente complessi, ma richiedono comunque la costruzione di un modello convalidato, assicurando che possa identificare ciò che stai cercando e trovare il segnale nei dati, non amplificare le ipotesi o rispondere al rumore.

Presentazione di Azure Machine Learning Designer

Azure fornisce vari strumenti per questo, oltre ai suoi modelli precostruiti, pre-addestrati e personalizzabili. Uno, Azure Machine Learning Designer, ti consente di lavorare con i dati esistenti con un set di strumenti di progettazione visiva e controlli di trascinamento.

Non è necessario scrivere codice per creare il modello, sebbene sia possibile inserire R o Python personalizzati dove necessario. È un sostituto per lo strumento ML Studio originale, aggiungendo una maggiore integrazione negli SDK di machine learning di Azure e con supporto per più di modelli basati su CPU, offrendo machine learning basato su GPU e training e tuning automatizzati dei modelli.

Per iniziare con Azure Machine Learning Designer, aprire il sito di Azure Machine Learning e accedere con un account Azure. Inizia collegandoti a un abbonamento e creando un'area di lavoro per i tuoi modelli. La procedura guidata di configurazione ti chiede di specificare se i modelli risultanti hanno un end point pubblico o privato e se lavorerai con dati sensibili prima di scegliere come gestire le chiavi. I dati sensibili verranno elaborati in quello che Azure definisce "uno spazio di lavoro ad alto impatto aziendale", che riduce la quantità di dati diagnostici raccolti da Microsoft e aggiunge ulteriori livelli di crittografia.

Configurazione di un'area di lavoro di machine learning

Dopo aver eseguito la procedura guidata, Azure controlla le impostazioni prima di creare l'area di lavoro ML. Utilmente ti offre un modello ARM in modo da poter automatizzare il processo di creazione in futuro, fornendo un framework per gli script che gli analisti aziendali possono utilizzare da un portale interno per ridurre il carico sugli amministratori di Azure. La distribuzione delle risorse necessarie per creare un'area di lavoro può richiedere tempo, quindi preparati ad attendere un po 'prima di poter iniziare a creare qualsiasi modello.

Il tuo spazio di lavoro contiene strumenti per lo sviluppo e la gestione di modelli di machine learning, dalla progettazione e formazione alla gestione di elaborazione e archiviazione. Ti aiuta anche a etichettare i dati esistenti, aumentando il valore del tuo set di dati di addestramento. È probabile che tu voglia iniziare con le tre opzioni principali: lavorare con Azure ML Python SDK in un notebook in stile Jupyter, usando gli strumenti di formazione automatizzata di Azure ML o la superficie di progettazione drag-and-drop a basso codice. 

Utilizzo di Azure ML Designer per creare un modello

Il Designer è il modo più rapido per iniziare con il machine learning personalizzato, in quanto ti dà accesso a un set di moduli predefiniti che possono essere concatenati insieme per creare un'API di machine learning pronta per l'uso nel tuo codice. Inizia creando una tela per la tua pipeline ML, impostando l'obiettivo di calcolo per la tua pipeline. È possibile impostare obiettivi di calcolo per l'intero modello o per singoli moduli all'interno della pipeline, consentendo di ottimizzare le prestazioni in modo appropriato.

È meglio pensare alle risorse di calcolo del modello come a un calcolo serverless, che aumenta e diminuisce secondo necessità. Quando non lo usi, si ridurrà a zero e possono essere necessari fino a cinque minuti per riavviare. Ciò potrebbe influire sulle operazioni dell'applicazione, quindi assicurati che sia disponibile prima di eseguire applicazioni che dipendono da esso. Sarà necessario considerare le risorse necessarie per addestrare un modello quando si sceglie un obiettivo di calcolo. I modelli complessi possono sfruttare il supporto della GPU di Azure, con supporto per la maggior parte delle opzioni di calcolo di Azure (a seconda della quota disponibile).

Dopo aver impostato le risorse di calcolo per l'addestramento, scegli un set di dati di addestramento. Questi possono essere i tuoi dati o uno degli esempi di Microsoft. I set di dati personalizzati possono essere costruiti da file locali, da dati già archiviati in Azure, dal Web o da set di dati aperti registrati (che sono spesso informazioni governative).

Utilizzo dei dati in Azure ML Designer

Gli strumenti nel Designer ti consentono di esplorare i set di dati che stai utilizzando, così puoi essere sicuro di avere la fonte giusta per il modello che stai cercando di costruire. Con un'origine dati nell'area di disegno, puoi iniziare a trascinare i moduli e collegarli per elaborare i dati di addestramento; ad esempio, rimuovere le colonne che non contengono dati sufficienti o eliminare i dati mancanti. Questo processo di trascinamento della connessione è molto simile a lavorare con strumenti a basso codice, come quelli della piattaforma Power. Ciò che differisce qui è che hai la possibilità di utilizzare i tuoi moduli.

Una volta che i dati sono stati elaborati, puoi iniziare a scegliere i moduli su cui vuoi addestrare il tuo modello. Microsoft fornisce una serie di algoritmi comuni, nonché strumenti per la suddivisione di set di dati per addestramento e test. I modelli risultanti possono essere valutati utilizzando un altro modulo dopo averli eseguiti durante la formazione. I punteggi vengono passati a un modulo di valutazione in modo da poter vedere come funziona il tuo algoritmo. È necessaria una certa conoscenza statistica per interpretare i risultati in modo da poter comprendere i tipi di errori generati, sebbene in pratica più piccolo è il valore di errore, meglio è. Non è necessario utilizzare gli algoritmi preparati, poiché puoi inserire il tuo codice Python e R.

Un modello addestrato e testato può essere rapidamente convertito in una pipeline di inferenza, pronto per l'uso nelle applicazioni. Ciò aggiunge gli endpoint dell'API REST di input e output al modello, pronti per l'uso nel codice. Il modello risultante viene quindi distribuito in un cluster di inferenza AKS come contenitore pronto per l'uso.

Lascia che Azure faccia tutto per te: Machine Learning automatizzato

In molti casi non è nemmeno necessario fare così tanto sviluppo. Microsoft ha recentemente rilasciato un'opzione ML automatizzato, basata sul lavoro svolto presso Microsoft Research. Qui si inizia con un set di dati accessibile ad Azure, che deve essere dati tabulari. È inteso per tre tipi di modello: classificazione, regressione e previsioni. Dopo aver fornito i dati e scelto un tipo di modello, lo strumento genererà automaticamente uno schema dai dati che è possibile utilizzare per attivare e disattivare campi di dati specifici, creando un esperimento che viene quindi eseguito per creare e testare un modello.

Il machine learning automatizzato creerà e classificherà diversi modelli, che potrai esaminare per determinare qual è il migliore per il tuo problema. Dopo aver trovato il modello desiderato, è possibile aggiungere rapidamente fasi di input e output e distribuirlo come servizio, pronto per l'uso in strumenti come Power BI.

Con l'apprendimento automatico uno strumento predittivo sempre più importante per molti tipi diversi di problemi aziendali, Azure Machine Learning Designer può portarlo a un pubblico molto più ampio. Se disponi di dati, puoi creare modelli analitici e predittivi, con competenze minime nel campo della scienza dei dati. Con il nuovo servizio ML automatizzato, è facile passare dai dati al servizio all'analisi senza codice.