Build

Crea set di dati di training estremamente accurati

Amazon SageMaker Ground Truth consente ai clienti di creare set di dati di training 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 formati 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. 

Ulteriori informazioni

Notebook gestiti per compilazione di modelli

Amazon SageMaker fornisce istanze completamente gestite su notebook Jupyter per l'addestramento a esplorazione di dati e pre-elaborazione. Su questi notebook sono precaricati driver CUDA e cuDNN per piattaforme di deep learning comuni, pacchetti Anaconda e librerie per TensorFlow, Apache MXNet, PyTorch e Chainer. 

Con un solo comando, è possibile accedere a un ambiente notebook di apprendimento automatico completamente gestito, utilizzando il diffuso formato Jupyter.

Questi spazi di lavoro notebook permettono di esplorare e visualizzare i dati e documentare i risultati delle ricerche in flussi di lavoro riutilizzabili utilizzando praticamente tutte le librerie, i framework e le interfacce più diffusi. È 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. È possibile scrivere o importare un notebook oppure utilizzare uno dei numerosi notebook predefiniti che sono precaricati in Amazon SageMaker. I notebook precaricati sono disponibili per tutti gli algoritmi di apprendimento automatico integrati. Inoltre, sono disponibili modelli di notebook per iniziare a utilizzare le applicazioni ML comuni e le funzionalità più avanzate di Amazon SageMaker. 

Algoritmi integrati ad alte prestazioni

Amazon SageMaker fornisce algoritmi di apprendimento automatico scalabili e ad alte prestazioni, ottimizzati per ottenere velocità, scalabilità e precisione. Questi algoritmi sono in grado di eseguire l'addestramento su set di dati anche di un petabyte, fornendo prestazioni fino a 10 volte migliori rispetto ad altre implementazioni. È possibile scegliere tra algoritmi controllati le cui risposte sono corrette durante l'addestramento e correggere successivamente gli errori. Amazon SageMaker include algoritmi controllati 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 apprendimento automatico più diffusi. Sarà sufficiente specificare l'origine dati per avviare immediatamente cluster k-medie per la segmentazione dei dati, macchine di fattorizzazione per le raccomandazioni, previsione di serie temporali, regressione lineare o analisi delle componenti principali. 

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 caratteristiche 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 modelli di utilizzo degli indirizzi IP.
Clustering K-Means Si tratta di uno degli algoritmi di apprendimento automatico più semplici. Viene utilizzato per individuare gruppi all'interno di dati senza etichette.
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 set di dati testuali e di immagini.
Object2Vec Un algoritmo di incorporamento neurale per il calcolo NN (nearest neighbors, vicino più vicino) 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.
Seqence2Sequence Un codificatore/decodificatore per uso generale per dati di testo, utilizzato spesso con traduzione automatica, riepilogazione di testi e funzioni simili.

Questi algoritmi sono stati ottimizzati per garantire prestazioni fino a 10 volte migliori rispetto a quello che è possibile ottenere con le implementazioni tradizionali. Uno dei metodi utilizzati per ottenere questo risultato è implementare gli algoritmi in modo che non debbano analizzare più di una volta i dati. In genere, gli algoritmi passano in rassegna i dati più di una volta per confrontare quelli già analizzati. Si tratta di una procedura corretta con set di dati di piccole dimensioni; con grandi set di dati le prestazioni di addestramento possono risentirne. Programmando una sola analisi, è possibile procedere all'addestramento in modo efficiente e a costi contenuti utilizzando set di dati che raggiungono i petabyte. 

Ampio supporto per i framework

Amazon SageMaker configura e ottimizza automaticamente TensorFlow, Apache MXNet, Chainer, PyTorch, Scikit-learn e SparkML per iniziare a utilizzare questi framework senza doverli configurare manualmente; nei prossimi mesi saranno disponibili altri framework principali. Tuttavia, è sempre possibile importare un framework in uso in Amazon SageMaker creando un container Docker apposito e memorizzandolo in Amazon EC2 Container Registry.

Supporto al consolidamento dell'apprendimento con Amazon SageMaker RL

Amazon SageMaker supporta il consolidamento dell'apprendimento oltre al tradizionale apprendimento supervisionato e non supervisionato. SageMaker dispone ora di algoritmi di consolidamento dell'apprendimento preimpostati completamente gestiti, compresi quelli più recenti e con le migliori prestazioni secondo la letteratura accademica. SageMaker supporta il consolidamento dell'apprendimento (RL, Reinforced Learning) in più framework, inclusi TensorFlow e MXNet, e nei framework più recenti progettati per il consolidamento dell'apprendimento 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. 

Il 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.

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 contenitori in un ambiente locale e utilizzare Python SDK di Amazon SageMaker per provare gli script prima di distribuirli agli ambienti di training o hosting di Amazon SageMaker. Nel momento in cui è necessario passare dal testing in locale al training e hosting in produzione, è sufficiente modificare una riga di codice.

Addestramento

Addestramento semplificato

Per iniziare l'addestramento in Amazon SageMaker, è sufficiente specificare il percorso in cui si trovano i dati in Amazon S3 e indicare il tipo e la quantità di istanze per l'apprendimento automatico di Amazon SageMaker necessarie; per iniziare sarà sufficiente un semplice comando nella console. Amazon SageMaker configura un cluster di elaborazione distribuito, effettua l'addestramento, esporta i risultati in Amazon S3 e interrompe il cluster una volta completate le operazioni. 

Addestrare modelli è semplice con Amazon SageMaker: è sufficiente specificare il percorso dei dati in S3 e il servizio eseguirà l'algoritmo selezionato in un cluster di addestramento isolato in una rete definita tramite software configurata in base alle esigenze specifiche. Una volta scelto il tipo di istanza, incluse le istanze GPU P3, ideali per ottenere sessioni di addestramento rapide ed efficienti, Amazon SageMaker creerà il cluster in un gruppo di dimensionamento automatico, collegherà volumi EBS a ciascun nodo, imposterà le pipeline di dati e avvierà l'addestramento con script TensorFlow, MXNet, Chainer o PyTorch, algoritmi di proprietà di Amazon o algoritmi personalizzati forniti tramite container. Una volta completata l'operazione, i risultati saranno caricati in S3 e il cluster terminato.

Per semplificare l'addestramento su vasta scala, le modalità di streaming dei flussi di addestramento da S3 sono state ottimizzate. Tramite l'API, è possibile specificare se si desidera che vengano inviati tutti i dati a ogni nodo del cluster oppure se sia Amazon SageMaker a gestirne la distribuzione sui nodi in base alle esigenze dell'algoritmo.

I livelli di scalabilità di Amazon SageMaker, insieme agli algoritmi integrati, permettono di ridurre in modo significativo il costo e la durata delle sessioni di addestramento. 

Ottimizzazione automatica dei modelli

Amazon SageMaker è in grado di ottimizzare automaticamente i modelli, provando migliaia di combinazioni di parametri dell'algoritmo per ottenere dal modello le previsioni più accurate possibili. 

Quando un modello viene calibrato per migliorarne la precisione, le opzioni su cui intervenire sono due: modificare i dati forniti al modello (ad esempio il logaritmo di un numero) e regolare i parametri dell'algoritmo. Questi ultimi vengono detti iperparametri e trovare quelli ottimali può essere molto difficile. In genere, si inizia adottando valori casuali e se ne sperimentano diversi per vedere in che modo i risultati cambiano. Può essere una procedura lunga, a seconda di quanti iperparametri contiene il modello.

Amazon SageMaker semplifica questo processo offrendo un'opzione di ottimizzazione automatica dei modelli durante l'addestramento. Il servizio utilizzerà il Machine Learning per ottimizzare i modelli. Il servizio apprenderà gli effetti dei diversi tipi di dati contenuti nel modello e applicherà le conoscenze acquisite su diverse copie del modello per trovare in modo rapido il miglior risultato possibile. Per uno sviluppatore o un data scientist, significa ridurre in modo significativo le preoccupazioni, poiché sarà necessario esclusivamente decidere le eventuali modifiche ai dati da fornire al modello.

Al momento dell'avvio dell'ottimizzazione automatica di un modello, è necessario semplicemente specificare il numero di processi di addestramento tramite l'API; il resto sarà a carico di Amazon SageMaker. 

Addestra una volta sola, esegui ovunque

Amazon SageMaker Neo consente di addestrare una sola volta i modelli di Machine Learning e di eseguirli ovunque nel cloud e nell'edge. In genere, l'ottimizzazione dei modelli di Machine Learning da eseguire su più piattaforme è estremamente difficile perché gli sviluppatori devono calibrare manualmente i modelli per la configurazione hardware e software specifica di ciascuna piattaforma. Neo oggi elimina il tempo e gli sforzi necessari per farlo ottimizzando automaticamente i modelli TensorFlow, MXNet, PyTorch, ONNX e XGBoost per la distribuzione su processori ARM, Intel e Nvidia, con il supporto per l'hardware Cadence, Qualcomm e Xilinx disponibile a breve. È possibile accedere a SageMaker Neo dalla console SageMaker e con pochi clic produrre un modello ottimizzato per l'istanza cloud o il dispositivo edge. I modelli ottimizzati funzionano a una velocità doppia e consumano meno di un centesimo dello spazio di storage dei modelli tradizionali. 

Ulteriori informazioni

Ricerca del processo di training

Amazon SageMaker Search consente di trovare e valutare rapidamente i training dei modelli più rilevanti tra centinaia e migliaia di processi di training dei modelli di Amazon SageMaker. SageMaker Search è attualmente disponibile in versione beta mediante la Console di gestione AWS e le API SDK AWS per Amazon SageMaker.

Lo sviluppo di un modello di Machine Learning richiede una sperimentazione continua provando nuovi algoritmi di apprendimento e ottimizzando i parametri hyper, osservando nel contempo l'impatto sulle prestazioni e l'accuratezza del modello. Questo esercizio iterativo spesso porta alla creazione di centinaia di esperimenti di training e di versioni dei modelli rallentando l'individuazione del modello vincente. Inoltre, la quantità eccessiva di informazioni rende molto difficile tracciare la provenienza di una versione del modello, ovvero la combinazione unica di set di dati, algoritmi e parametri che hanno generato per la prima volta quel modello.

Con Amazon SageMaker Search è possibile trovare rapidamente e organizzare, tracciare e valutare facilmente i processi di training dei modelli di Amazon SageMaker. È possibile ricercare tutti gli attributi di definizione dall'algoritmo di apprendimento utilizzato, le impostazioni dei parametri hyper, i set di dati di training utilizzati e anche i tag aggiunti ai processi di training del modello. È inoltre possibile confrontare e classificare rapidamente le sessioni di training in base a parametri delle prestazioni quali la perdita di training e l'accuratezza della convalida, creando così delle classifiche per la selezione di modelli "vincenti" per la distribuzione in ambienti di produzione. Infine, con Amazon SageMaker Search, è possibile risalire rapidamente alla provenienza di un modello distribuito in ambienti reali fino al set di dati utilizzato durante l'addestramento o la convalida del modello.

Distribuzione

Distribuzione semplificata

Il modello può essere distribuito con un semplice comando su istanze di Amazon ML con Auto Scaling su diverse zone di disponibilità per ottenere ridondanza elevata. È necessario semplicemente specificare il tipo e il numero massimo e minimo di istanze; il resto sarà a carico di Amazon SageMaker. Il servizio avvierà le istanze, distribuirà il modello e configurerà l'endpoint HTTPS protetto per l'applicazione. L'applicazione dovrà semplicemente includere una chiamata API all'endpoint per ottenere inferenze a bassa latenza e throughput elevato. Questa architettura permette di integrare nell'applicazione nuovi modelli in pochi minuti, perché a una modifica a un modello non corrisponderà più una modifica al codice dell'applicazione. 

Test comparativi automatici

Amazon SageMaker permette anche di gestire modelli di test comparitivi. È possibile configurare l'endpoint in modo che distribuisca il traffico su fino a cinque modelli differenti, impostando la percentuale di chiamate di inferenza desiderata per ciascuno di essi. Tutte queste impostazioni possono essere modificate all'istante, perciò sarà possibile fare esperimenti e valutare quale modello produce i risultati più accurati in uno scenario reale. 

Hosting completamente gestito con Auto Scaling

Amazon SageMaker gestisce automaticamente l'infrastruttura di elaborazione in produzione per effettuare controlli di stato, applicare patch di sicurezza ed eseguire la manutenzione di routine, grazie a monitoraggio e registrazione di log integrati con Amazon CloudWatch. 

Trasformazione in batch

La trasformazione in batch permette di eseguire analisi predittive su batch di dati di piccole e grandi dimensioni. Non è necessario porzionare il set di dati o gestire gli endpoint in tempo reale. È possibile richiedere analisi predittive con una semplice API per un numero elevato di record di dati, eseguendone la trasformazione in modo rapido e semplice. 

 

Pipeline di inferenza

Amazon SageMaker consente di distribuire le pipeline di inferenza per poter inviare dati di input non elaborati ed eseguire la pre-elaborazione, le previsioni e la post-elaborazione su richieste di inferenza in batch e in tempo reale. Le pipeline di inferenza possono essere formate da qualsiasi framework di Machine Learning, algoritmi integrati o container personalizzati utilizzabili in Amazon SageMaker. È possibile creare pipeline di elaborazione dati e di progettazione con una serie di trasformatori delle caratteristiche disponibili nei container dei framework SparkML e Scikit-learn in Amazon SageMaker e distribuirle come parte delle pipeline di inferenza per riutilizzare il codice di elaborazione dati e per una gestione semplificata dei processi di Machine Learning.

 

Ulteriori informazioni sui prezzi di Amazon SageMaker

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati
Hai altre domande?
Contattaci