Crea con Amazon SageMaker

Amazon SageMaker semplifica la creazione di modelli di machine learning e la relativa preparazione all'addestramento fornendo tutto il necessario per etichettare rapidamente i dati di addestramento e selezionare e ottimizzare l'algoritmo e il framework migliori per ogni applicazione.

Funzionalità

Esperienza collaborativa con il notebook

I notebook Amazon SageMaker, ora disponibili in anteprima, forniscono con un clic Jupyter notebook con capacità di calcolo elastiche che funzionano in pochi secondi. I notebook contengono tutto il necessario per eseguire o ricreare un flusso di lavoro di machine learning e sono integrati in Amazon SageMaker Studio. I notebook sono precaricati con tutti i driver CUDA e cuDNN comuni, i pacchetti Anaconda e le librerie di framework.

L'ambiente del notebook consente di esplorare e visualizzare i dati e documentare i risultati in flussi di lavoro riutilizzabili. È possibile importare i dati già memorizzati in Amazon S3 direttamente dal notebook. È anche possibile utilizzare AWS Glue per trasferire dati da Amazon RDS, Amazon DynamoDB e Amazon Redshift in S3 per consentirne l'analisi.

Senza notebook elastici, per visualizzare, eseguire o condividere un notebook è necessario creare un'istanza di calcolo per utilizzare il notebook. Se hai bisogno di più potenza di calcolo, devi creare una nuova istanza, trasferire il notebook e chiudere la vecchia istanza. Inoltre, poiché il notebook è in genere accoppiato all'istanza di calcolo e si trova in genere sulla workstation di un utente, non esiste un modo semplice per condividerlo e lavorare in modo collaborativo.

I notebook SageMaker superano questi problemi. Non è più necessario perdere tempo chiudendo la vecchia istanza e ricreando il lavoro in una nuova istanza. Questo rende molto più veloce iniziare a costruire un modello.

È possibile scrivere o importare un notebook oppure utilizzare uno dei numerosi notebook predefiniti che sono precaricati in Amazon SageMaker con diversi casi d'uso. Una volta avviato, è possibile aumentare e ridurre le risorse di calcolo (comprese le risorse GPU) senza interruzioni. Inoltre, il tuo stato viene automaticamente salvato, quindi puoi riprendere esattamente da dove eri rimasto quando ritorni sul notebook.

Tutte le dipendenze del codice come pacchetti software, versioni e altro vengono acquisite automaticamente all'interno dell'ambiente notebook, quindi non è necessario tenerne traccia manualmente. Ciò consente di condividere facilmente i notebook con i colleghi in modo che possano visualizzare e riprodurre facilmente i risultati.

Notebook

Crea dataset di addestramento accurati

Amazon SageMaker Ground Truth consente ai clienti di creare dataset di addestramento estremamente accurati utilizzando il machine learning e di ridurre i costi di etichettatura dei dati fino al 70%. I modelli di machine learning validi vengono addestrati utilizzando dati etichettati per istruire il modello a prendere decisioni corrette. Il completamento di questo processo spesso può richiedere mesi e l'impiego di team di grandi dimensioni. SageMaker Ground Truth fornisce una soluzione innovativa per ridurre i costi e la complessità e nel contempo migliora l'accuratezza dell'etichettatura dei dati utilizzando il machine learning insieme a un processo di etichettatura umana denominato apprendimento attivo.

Come funziona

Elaborazione dei dati completamente gestita su vasta scala

Molto spesso, i carichi di lavoro di elaborazione e analisi dei dati per il machine learning vengono eseguiti su un'infrastruttura autogestita che è difficile da allocare e ridimensionare, man mano che i requisiti aziendali cambiano. L'uso di diversi strumenti per raggiungere questo obiettivo diventa difficile da gestire con conseguenti prestazioni non ottimali e maggiori spese capitali e operative. Amazon SageMaker Processing supera questo problema estendendo la facilità, la scalabilità e l'affidabilità di SageMaker a un'esperienza completamente gestita nell'esecuzione di carichi di lavoro di elaborazione dati su larga scala. SageMaker Processing consente di connettersi all'archiviazione esistente o alle origini dati sul file system, aumentare le risorse necessarie per eseguire il lavoro, salvare l'output in un archivio permanente e fornire i log e le metriche. È inoltre possibile utilizzare container con i framework di propria scelta e sfruttare i carichi di lavoro di elaborazione dati e analisi dei dati esistenti.

Algoritmi integrati ad alte prestazioni

Amazon SageMaker fornisce algoritmi di machine learning scalabili e ad alte prestazioni, ottimizzati per ottenere velocità, scalabilità e precisione, che possono effettuare addestramenti su dataset su scala del petabyte. È possibile scegliere tra algoritmi supervisionati le cui risposte corrette sono note durante l'addestramento e correggere successivamente gli errori. Amazon SageMaker include algoritmi supervisionati quali XGBoost e classificazione o regressione lineare/logistica per risolvere i problemi relativi a previsioni di serie temporali e suggerimenti. Amazon SageMaker include inoltre il supporto per l'apprendimento non supervisionato (ovvero algoritmi che devono trovare la risposta corretta senza un intervento manuale), ad esempio il clustering k-means e l'analisi delle componenti principali (PCA), per risolvere problemi quali l'identificazione di gruppi di clienti in base ai comportamenti di acquisto.

Amazon SageMaker rende automaticamente disponibili gli algoritmi di machine learning più diffusi. Sarà sufficiente specificare l'origine dati per avviare immediatamente cluster k-means per la segmentazione dei dati, macchine di fattorizzazione per le raccomandazioni, previsione di serie temporali, regressione lineare o analisi delle componenti principali o molti altri algoritmi pronti all'uso.

Algoritmo Descrizione
BlazingText Word2Vec Implementazione di BlazingText dell'algoritmo Word2Vec per il dimensionamento e l'accelerazione della generazione di integrazioni testuali da un vasto numero di documenti.
DeepAR Un algoritmo che genera previsioni accurate tramite pattern di apprendimento da dati di serie temporali utilizzando reti neurali ricorrenti.
Macchine di fattorizzazione Un modello che permette di stimare tutte le interazioni tra feature anche con piccoli volumi di dati
Alberi di Gradient Boosting (XGBoost) XGBoost significa "Extreme Gradient Boosting"; è una libreria di potenziamento di gradienti distribuiti ottimizzata.
Classificazione di immagini (ResNet) Una rete neurale molto diffusa per lo sviluppo di sistemi di classificazione di immagini.
IP Insights Un algoritmo per la rilevazione di utenti malintenzionati o per l'apprendimento dei pattern di utilizzo degli indirizzi IP.
Clustering K-Means Uno degli algoritmi di ML più semplici, viene utilizzato per trovare gruppi all'interno di dati senza etichetta.
K-Nearest Neighbor (k-NN) Un algoritmo basato sugli indici per la risoluzione di problemi relativi alla classificazione e alla regressione.
Allocazione latente di Dirichlet (LDA, Latent Dirichlet Allocation) Un modello ideale per il rilevamento automatico degli argomenti principali contenuti in un set di file di testo.
Linear Learner (Classificazione) La classificazione lineare impiega le caratteristiche di un oggetto per identificare a quale gruppo appartiene.
Linear Learner (Regressione) La regressione lineare viene utilizzata per prevedere la relazione lineare tra due variabili.
Modello neurale di argomenti (NTM, Neural Topic Modelling) Un approccio basato su reti neurali per l'apprendimento di argomenti da dataset testuali e di immagini.
Object2Vec Un algoritmo di embedding neurale per il calcolo NN (nearest neighbors) e per la visualizzazione dei cluster naturali.
Rilevamento di oggetti Rileva, classifica e aggiunge una cornice intorno a diversi oggetti in un'immagine.
Analisi delle componenti principali (PCA) Questo algoritmo viene spesso utilizzato in fase di pre-elaborazione dei dati; esamina una tabella o una matrice contenente molte caratteristiche e ne riduce il numero estraendo solo quelle più rappresentative.
Random Cut Forest Algoritmo di apprendimento automatico senza supervisione per il rilevamento di anomalie
Segmentazione semantica Esegue la partizione di un'immagine per l'identificazione di luoghi di interesse assegnando un'etichetta ai singoli pixel dell'immagine.
Sequence2Sequence Un codificatore/decodificatore per uso generale per dati di testo, utilizzato spesso con traduzione automatica, riassunto di testi e funzioni simili.

Ulteriori informazioni »

Puoi anche utilizzare il tuo framework o algoritmo tramite un container Docker o selezionare tra centinaia di algoritmi e modelli pre-addestrati disponibili nel marketplace AWS

Ampio supporto per i framework

Amazon SageMaker supporta molti framework popolari per il deep learning come TensorFlow, Apache MXNet, PyTorch, Chainer e altri. Questi framework vengono automaticamente configurati e ottimizzati per prestazioni elevate. Non è necessario impostare manualmente questi framework e puoi utilizzarli all'interno dei container integrati. Tuttavia, è sempre possibile importare un framework personalizzato in Amazon SageMaker creando un container Docker apposito e memorizzandolo in Amazon EC2 Container Registry.

Ulteriori informazioni »

Prova e creazione di prototipi in locale

I container Docker open source Apache MXNet e Tensorflow utilizzati in Amazon SageMaker sono disponibili su GitHub. È possibile scaricare i container in un ambiente locale e utilizzare Python SDK di Amazon SageMaker per provare gli script prima di distribuirli agli ambienti di addestramento o hosting di Amazon SageMaker. Nel momento in cui è necessario passare dal testing in locale all'addestramento e hosting in produzione, è sufficiente modificare una riga di codice. 

Apprendimento per rinforzo

Amazon SageMaker supporta il l'apprendimento per rinforzo oltre al tradizionale apprendimento supervisionato e non supervisionato. SageMaker dispone ora di algoritmi di apprendimento per rinforzo preimpostati completamente gestiti, compresi quelli più recenti e con le migliori prestazioni secondo la letteratura accademica. SageMaker supporta l'apprendimento per rinforzo in più framework, inclusi TensorFlow e MXNet, e nei framework più recenti progettati da zero per l'apprendimento per rinforzo come Intel Coach e Ray RL. Sono supportati vari ambienti di simulazione fisica 2D e 3D, inclusi quelli basati sull'interfaccia open source OpenGym. Inoltre, SageMaker RL consentirà la formazione mediante ambienti 3D virtuali integrati in Amazon Sumerian e Amazon RoboMaker. Per iniziare a utilizzarlo, SageMaker fornisce anche una gamma di notebook e tutorial di esempio.

La maggior parte del machine learning rientra principalmente in una categoria denominata apprendimento supervisionato. Questo metodo richiede una grande quantità di dati di training etichettati, ma i modelli creati sono in grado di prendere decisioni sofisticate. Questo è l'approccio comune con i modelli di visione artificiale, sintesi vocale e linguaggi. Un'altra categoria comune ma meno utilizzata di Machine Learning è denominata apprendimento non supervisionato. Qui gli algoritmi cercano di identificare una struttura nascosta nei dati non etichettati. La difficoltà di addestramento di un modello non supervisionato è molto inferiore, ma d'altra parte il modello prende decisioni meno sofisticate. I modelli non supervisionati sono spesso utilizzati per identificare anomalie nei dati, ad esempio oscillazioni anomale della temperatura o segnali di intrusioni di rete.

Il consolidamento dell'apprendimento (RL) ha dato vita a un terzo approccio complementare al Machine Learning. RL fornisce un approccio molto diverso ai modelli di training. Virtualmente non necessita di dati di training etichettati ma può tuttavia raggiungere (e in alcuni casi superare) livelli di sofisticazione umani. L'aspetto più interessante di RL è che può apprendere come modellare una serie complessa di comportamenti per arrivare ai risultati desiderati, invece di prendere semplicemente una singola decisione. Una delle applicazioni più comuni di RL è quella di addestrare le vetture a guida autonoma a raggiungere una destinazione.

Un modo semplice per comprendere il funzionamento di RL è quello di immaginare un videogioco in cui un personaggio deve attraversare un labirinto raccogliendo bandiere ed evitando i nemici. Al posto di un giocatore umano, l'algoritmo controlla il personaggio e gioca milioni di partite. Tutto ciò che deve sapere per iniziare è che il personaggio si può spostare in alto, in basso, a destra e a sinistra e che accumulerà dei punti. L'algoritmo apprenderà quindi come giocare per ottenere il massimo punteggio possibile. Apprenderà comportamenti che miglioreranno il punteggio (come prendere le bandiere o approfittare dei moltiplicatori dei punteggi) e ridurrà al minimo le penalità (come essere colpiti da un nemico). Nel tempo, gli algoritmi RL possono apprendere strategie avanzate per padroneggiare il gioco, ad esempio liberando per prima cosa la parte inferiore del labirinto, come e quando usare i potenziamenti e come sfruttare i comportamenti dei nemici.

RL può essere un moltiplicatore di potenza nelle tecniche di Machine Learning tradizionali. Ad esempio, RL e l'apprendimento supervisionato sono stati combinati per creare trattamenti terapeutici personalizzati nel settore sanitario, ottimizzare le filiere produttive, migliorare le prestazioni delle turbine eoliche, guidare le vetture a guida autonoma, azionare correttamente i robot e persino creare lezioni e piani di studio personalizzati per gli studenti.

Risorse

Una guida passo passo per costruire modelli di machine learning

Scopri come costruire modelli di ML su Amazon SageMaker.

Notebook di esempio in Amazon SageMaker

Accedi a un ricco repository di notebook SageMaker su GitHub.

Costruisci ambienti sicuri di machine learning
 
Esplora le funzionalità di sicurezza di Amazon SageMaker