Creazione

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 apprendimento profondo comuni, pacchetti Anaconda e librerie per TensorFlow, Apache MXNet, Chainer e PyTorch.

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 all'interno del notebook. È anche possibile utilizzare AWS Glue per trasferire dati da Amazon RDS, Amazon DynamoDB e Amazon Redshift in S3 per consentirne l'analisi. Il notebook può essere importato da quelli già personalizzati o caricato da quelli predefiniti in Amazon SageMaker. I notebook precaricati sono disponibili per tutti gli algoritmi di apprendimento automatico integrati. Inoltre, sono disponibili modelli di notebook per introdurre alle applicazioni di apprendimento automatico più comuni e alle funzionalità più avanzate di Amazon SageMaker.

Modelli per applicazioni di apprendimento automatico comuni

Modelli per funzionalità avanzate di Amazon SageMaker

Previsione di serie temporali

Importazione di container TensorFlow, MXNet e Chainer

Marketing diretto mirato

Algoritmi o modelli scikit o R personali

Previsione dell'abbandono dei clienti

Sharding dei dati in addestramento distribuito

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, classificazione e regressione lineare/logistica per risolvere i problemi relativi a suggerimenti e previsioni di serie temporali. Amazon SageMaker include inoltre il supporto per l'addestramento non supervisionato (ovvero algoritmi che devono scoprire la risposta corretta senza un intervento manuale), ad esempio cluster k-medie e analisi delle componenti principali, per risolvere problemi quali l'identificazione dei 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 con 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.
Clustering k-medie Si tratta di uno degli algoritmi di apprendimento automatico più semplici. Viene utilizzato per individuare gruppi all'interno di dati senza etichette.

Allocazione latente di Dirichlet

Un modello ideale per il rilevamento automatico degli argomenti principali contenuti in un set di file di testo.
Learner lineare (classificazione) La classificazione lineare impiega le caratteristiche di un oggetto per identificare a quale gruppo appartiene.
Learner lineare (regressione) La regressione lineare viene utilizzata per prevedere la relazione lineare tra due variabili.
Topic modeling neurale o NTM (Neural Topic Modeling) Un approccio basato su reti neurali per l'apprendimento di argomenti da set di dati testuali e di immagini.
Analisi delle componenti principali o PCA (Principal Component Analysis) 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
Seqence2Sequence Un codificatore/decodificatore per uso generale per dati di testo, utilizzato spesso con traduzione automatica, riepilogazione di testi e funzioni simili.
k-Nearest-Neighbor (kNN) Un modello non parametri ideale per classificazione e regressione di problemi.
Rilevamento di oggetti
Rileva, classifica e aggiunge una cornice intorno a diversi oggetti in un'immagine.

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 e PyTorch per non doverli configurare manualmente; nei prossimi mesi saranno disponibili altri framework molto diffusi. Tuttavia, è sempre possibile importare un framework in uso in Amazon SageMaker creando un container Docker apposito e memorizzandolo in Amazon EC2 Container Registry.

Prova e creazione di prototipi in locale

I container Docker open source Apache MXNet e TensorFow 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 ad addestramento e hosting in produzione, è sufficiente una piccola modifica a 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, appositamente configurata. È quindi necessario scegliere il tipo di istanza, tra cui è disponibile anche l'istanza GPU P3, ideale per ottenere sessioni di addestramento rapide ed efficienti; Amazon SageMaker creerà il cluster in un gruppo Auto Scaling, collegherà volumi EBS a ciascun nodo, imposterà le pipeline di dati e avvierà l'addestramento con script TensorFlow, MXNet, Chainer o PyTorch, algoritmi proprietari di Amazon o algoritmi personalizzati caricati 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 in ogni nodo del cluster, oppure se sia Amazon SageMaker a gestirne la distribuzione sui nodi in base alle esigenze dell'algoritmo.

Gli elevatissimi livelli di scalabilità, 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à l'apprendimento automatico 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.

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.

 

Ulteriori informazioni sui prezzi di Amazon SageMaker

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