Esplorazione delle nuove funzionalità di Amazon SageMaker: CloudFormation, Data Wrangler

641

Aggiornato il 14/02/21 alle 21:14 PST

Lo spazio degli strumenti per i dati e delle infrastrutture sta crescendo rapidamente e questa tendenza non mostra segni di rallentamento. La società di archiviazione dati Behemoth Snowflake è stata quotata in borsa alla fine dello scorso anno ed è diventata più preziosa di IBM, e Databricks ha recentemente raccolto una serie G da $ 1 miliardo con una valutazione post-money di $ 28 miliardi, per citare due esempi. La lunga coda dello spazio degli strumenti di dati sta diventando sempre più affollata, come evidenziato dal 2020 Data & AI Landscape di Matt Turck (basta guardare l'immagine sotto).

AWS è uno degli attori più importanti nello spazio e SageMaker è la sua soluzione di punta per il flusso di lavoro di sviluppo del machine learning. Quando AWS annuncia le nuove funzionalità di SageMaker, il settore presta attenzione. Avendo scritto due recensioni dall'inizio di Sagemaker Studio, eravamo interessati a vedere una serie di nuove funzionalità arrivare allo scorso dicembre e al Machine Learning Keynote di Swami Sivasubramanian su re: Invent. Dopo aver trascorso un po 'di tempo con le nuove funzionalità, abbiamo messo insieme un pezzo in due parti sulle nostre impressioni. Questa prima parte copre:

  • Migliore integrazione con AWS CloudFormation, che consente un provisioning più semplice delle risorse
  • Capacità generale di utilizzare Sagemaker e l'usabilità della piattaforma
  • Data Wrangler, uno strumento basato su GUI per la preparazione dei dati e l'ingegneria delle funzionalità

La seconda parte copre

  • Feature Store, uno strumento per l'archiviazione, il recupero, la modifica e la condivisione di funzionalità create appositamente per i flussi di lavoro ML
  • Chiarire, che afferma di "rilevare bias nei modelli ML" e di aiutare nell'interpretabilità del modello
  • Sagemaker Pipelines, che aiutano ad automatizzare e organizzare il flusso delle pipeline ML

Iniziamo!

Contents

Il provisioning con un clic semplifica l'avvio

Nel complesso, abbiamo trovato l'esperienza con SageMaker molto più fluida rispetto all'ultima volta. L'ambiente SageMaker Studio verrebbe effettivamente avviato e fornito (si è rifiutato in modo imbarazzante di avviarsi l'ultima volta durante re: Invent). L'esperienza complessiva è stata molto migliorata e le esercitazioni e la documentazione sono meglio integrate con la piattaforma.

Una delle migliori caratteristiche dell'ambiente è AWS CloudFormation, che esiste dal 2011 ma sembra essere stato integrato meglio in SageMaker. È un punto critico significativo nell'informatica ottenere il provisioning di hardware e infrastruttura in modo sicuro: installare bucket S3, database, istanze EC2 e dialogare tra loro in modo sicuro. Questo spesso significava ore di lavoro con le autorizzazioni IAM solo per far funzionare un server "Hello World". CloudFormation lo semplifica pre-definendo la configurazione dell'infrastruttura "stack" in file YAML (si pensi a Kubernetes Object YAML ma per l'infrastruttura AWS), che possono essere attivati ​​con un clic. Un portavoce di AWS ci ha detto che l'integrazione faceva parte di una mossa "per rendere SageMaker ampiamente accessibile per i più sofisticati ingegneri di ML e data scientist, nonché per coloro che hanno appena iniziato". Ancora meglio, molti dei tutorial AWS ora presentano pulsanti per avviare stack con un solo clic:

(I pulsanti ricordano un pulsante di acquisto One-Click di Amazon.com della fine degli anni '90 e quella somiglianza potrebbe essere un marketing subliminale. Entrambi distillano un'infrastruttura immensamente complessa, sia e-commerce che cloud, in un unico pulsante di facile utilizzo per i consumatori che guida le vendite. )

Sagemaker è migliorato ma l'usabilità è ancora carente, ostacolando l'adozione

Dato l'interesse per il deep learning, volevamo provare il deep learning su AWS. Questi modelli sono all'avanguardia dell'apprendimento automatico ma sono notoriamente costosi da addestrare, richiedendo GPU, che possono essere piuttosto costose. Abbiamo deciso di testare queste nuove funzionalità eseguendo esempi dal famoso libro di deep learning di FastAI per vedere quanto sia facile iniziare. Fortunatamente, i modelli Deep Learning sono dotati di comodi pulsanti di avvio, così puoi iniziare a lavorare senza problemi. Le istanze AWS erano molto potenti (per un esempio di NLP abbastanza intensivo dal punto di vista computazionale il loro ml.p3.2xlarge era circa 20 volte più veloce del livello gratuito Quadro P5000 disponibile su Gradient) e per soli 3,825 dollari l'ora.

Tuttavia, gli strumenti non erano privi di singhiozzo. In AWS, la maggior parte delle istanze GPU non è automaticamente disponibile; gli utenti devono invece richiedere un aumento del limite di quota. La richiesta di un aumento del limite sembra richiedere l'approvazione umana e di solito richiede un giorno, uccidendo lo slancio. Inoltre, gli stack di lancio a volte non sono allineati con i tipi di tutorial: ad esempio, il tutorial sulla risoluzione delle entità viene avviato con un tipo di istanza CPU, che ha richiesto 24 ore per l'approvazione. Quando il notebook è in esecuzione, richiedeva un'istanza GPU. Agli utenti non viene assegnata alcuna quota di risorse per impostazione predefinita e devono richiedere un aumento manualmente, aggiungendo un ulteriore ritardo di 24 ore. Ciò presuppone che siano idonei per tali aumenti (uno di noi non lo era e ha trovato una soluzione alternativa solo dopo aver contattato un rappresentante AWS). Alcuni di questi potrebbero essere dovuti al fatto che stavamo utilizzando un account AWS relativamente nuovo. Ma un ottimo software deve funzionare sia per i nuovi utenti che per i veterani se spera di crescere e questo è ciò che abbiamo deciso di testare. Un ottimo software dovrebbe funzionare anche per gli utenti che non possono permettersi il lusso di un contatto in AWS.

La nostra esperienza è ben riassunta da Jesse Anderson, autore di Data Teams. Ci ha detto che "L'intento di AWS è di scaricare le attività di data engineer per renderle più fattibili per i data scientist. Abbassa un po 'l'asticella ma non è un cambiamento enorme. C'è ancora una notevole quantità di ingegneria dei dati necessaria solo per preparare qualcosa per SageMaker. "

Per essere onesti nei confronti di AWS, le quote di servizio sono utili per aiutare a controllare i costi del cloud, in particolare in un ambiente di grandi dimensioni in cui un CIO potrebbe voler abilitare il rank and file per richiedere i servizi di cui ha bisogno senza incorrere in una bolletta enorme. Tuttavia, si potrebbe facilmente immaginare un mondo migliore. Come minimo, i messaggi di errore relativi ad AWS (ad es. Vincoli sui limiti delle risorse) dovrebbero essere accompagnati da collegamenti a dettagli su come risolverli piuttosto che costringere gli utenti a dedicare tempo alla ricerca nelle pagine della console. Ad esempio, GCloud Firebase, che ha quote di servizio simili, lo fa bene.

Ancora meglio, sarebbe bello se ci fossero pulsanti con un solo clic che concedessero immediatamente ai proprietari di account una singola istanza per 24 ore, in modo che gli utenti non debbano aspettare l'approvazione umana. Alla fine, ci aspettavamo un'interfaccia più semplice. Abbiamo visto alcuni enormi miglioramenti nell'ultimo anno, ma AWS sta ancora lasciando molto sul tavolo.

Data Wrangler: problema giusto, approccio sbagliato

C'è un tropo ormai vecchio (immortalato da Big Data Borat) secondo cui i data scientist impiegano l'80% del loro tempo a pulire e preparare i dati:

I leader del settore riconoscono l'importanza di affrontare bene questo problema. Come ci ha spiegato Ozan Unlu, fondatore e CEO della startup di osservabilità automatizzata Edge Delta, "consentire ai data scientist di superare in modo più efficiente le prime fasi del progetto consente loro di dedicare una parte molto più ampia del loro tempo ad attività additive a valore significativamente più alto". In effetti, uno di noi ha scritto in precedenza un articolo intitolato The Unreasonable Importance of Data Preparation, chiarendo la necessità di automatizzare parti del processo di preparazione dei dati. Data Wrangler di SageMaker Studio afferma di "fornire agli sviluppatori il modo più semplice e veloce per preparare i dati per l'apprendimento automatico" ed è dotato di funzionalità interessanti, tra cui: oltre 300 funzioni di trasformazione dei dati (inclusi encoder one-hot, che sono in gioco per l'apprendimento automatico ), la possibilità di codificare manualmente le proprie trasformazioni e le prossime integrazioni con Snowflake, MongoDB e Databricks. Gli utenti sono anche in grado di produrre i propri risultati e flussi di lavoro in una varietà di formati come le pipeline SageMaker (più su questo nella Parte 2), i notebook Jupyter o un Feature Store (ci arriveremo anche nella Parte 2).

Tuttavia, non siamo ancora convinti che la maggior parte degli sviluppatori o dei data scientist lo troverebbero ancora molto utile. Prima di tutto, è basato su GUI e la stragrande maggioranza dei data scientist eviterà le GUI come la peste. Ci sono diverse ragioni per questo, forse la più importante è che le GUI sono antitetiche al lavoro sui dati riproducibili. Hadley Wickham, Chief Scientist presso RStudio e autore dei principi di dati ordinati, ha persino tenuto un discorso dal titolo "Non puoi fare scienza dei dati in una GUI".

Per essere onesti con SageMaker, puoi esportare il tuo flusso di lavoro come codice Python, che aiuterà ad alleviare la riproducibilità in una certa misura. Questo approccio segue le orme di prodotti come Looker (acquisito l'anno scorso da Google per $ 2,6 miliardi!), Che genera codice SQL basato sulle interazioni dell'utente con un'interfaccia drag and drop. Ma probabilmente non piacerà agli sviluppatori o ai data scientist (se puoi già esprimere le tue idee nel codice, perché imparare a usare la GUI di qualcun altro?).

Potrebbe essere utile consentire agli esperti del settore non tecnico (che sono presumibilmente risorse di talento meno costose) di trasformare i dati ed esportare il processo in codice. Tuttavia, il codice generato dalla registrazione di una sessione GUI esplorativa iterativa potrebbe non essere molto pulito e potrebbe richiedere un intervento significativo di ingegneria o data scientist. Gran parte del futuro del lavoro sui dati si verificherà nelle GUI e nelle interfacce drag-and-drop, ma questa sarà la coda lunga del lavoro sui dati e non quella degli sviluppatori e dei data scientist.

Sono preoccupanti anche l'astrazione di Data Wrangler dal codice e l'astrazione su molte altre parti del flusso di lavoro di preparazione dei dati. Prendi la funzione "modello rapido" che, secondo AWS Evangelist Julien Simon, "addestra immediatamente un modello sui dati preelaborati", mostra "l'impatto delle fasi di preparazione dei dati" e fornisce informazioni sull'importanza della funzionalità. Quando si costruisce questo modello veloce, non è chiaro nel prodotto quale tipo di modello sia effettivamente addestrato, quindi non è ovvio come si possa sviluppare qualsiasi insight qui o se le "caratteristiche importanti" siano affatto importanti.

La cosa più preoccupante è l'affermazione di Data Wrangler di fornire informazioni dettagliate sui tuoi dati e sul tuo modello, quando puoi utilizzarli senza alcuna forma di competenza di dominio. Ciò è in netto contrasto con strumenti come Snorkel, un progetto che mira a "iniettare informazioni sul dominio [or heuristics] nei modelli di machine learning in modi di livello superiore e con una larghezza di banda più elevata. " Questa mancanza di input è particolarmente preoccupante in un'era piena di problemi di pregiudizio dell'IA. Un aspetto chiave del futuro degli strumenti per i dati è formare il tessuto connettivo tra i flussi di lavoro della scienza dei dati e gli esperti di dominio, ma le astrazioni presentate da Data Wrangler sembrano spostarci nella direzione opposta. Ci arriveremo più in dettaglio quando discuteremo di Clarify, lo strumento di SageMaker Studio che "rileva i pregiudizi nei modelli ML".

Finora, abbiamo visto alcune vittorie e alcuni fallimenti per AWS. L'apparente migliore integrazione con CloudFormation è una vera vittoria per l'usabilità. Spero che ne vedremo di più da AWS. D'altra parte, la ripida curva di apprendimento e le carenze della UX sono ancora ostacoli per i data scientist che cercano di utilizzare l'ambiente. Ciò emerge dai numeri di utilizzo: un sondaggio Kaggle del 2020 indica l'utilizzo di SageMaker tra i data scientist al 16,5%, anche se l'utilizzo complessivo di AWS è del 48,2% (principalmente attraverso l'accesso diretto a EC2). Per riferimento, l'utilizzo di JupyterLab è al 74,1% e Scikit-learn all'82,8%. Sorprendentemente, questa potrebbe essere un'area di forza per GCloud. Sebbene il servizio cloud di Google detenga un imbarazzante terzo posto nella classifica generale (dietro Microsoft Azure e AWS), detiene un ottimo secondo posto per i data scientist secondo il sondaggio Kaggle. Prodotti come Google Colab, che offrono solo una parte delle funzionalità di AWS SageMaker, sono molto bravi in ​​quello che fanno e hanno attirato alcuni fan devoti nella comunità di data science. Forse la famigerata cultura ingegneristica di Google si è tradotta in un'esperienza più user-friendly nella cloud rispetto al suo rivale con sede a Seattle. Abbiamo sicuramente notato che la documentazione è mantenuta un po 'meglio sincronizzata e che l'esperienza degli sviluppatori è un po' più nitida.

Come accennato lo scorso anno, il design incentrato sull'utente sarà la chiave per vincere la corsa al cloud e, sebbene Sagemaker abbia fatto passi da gigante in quella direzione, ha ancora molta strada da fare.

Unisciti a noi nella parte 2, dove parliamo di Pipeline, Feature Store, Clarify e delle parti più oscure del settore ML.

Tianhui Michael Li è presidente del Pragmatic Institute e fondatore e presidente di The Data Incubator, una società di formazione e collocamento nel campo della scienza dei dati. In precedenza, ha diretto la scienza dei dati sulla monetizzazione presso Foursquare e ha lavorato per Google, Andreessen Horowitz, J.P. Morgan e D.E. Shaw.

Hugo Bowne-Anderson è Head of Data Science Evangelism e VP of Marketing presso Coiled. In precedenza, è stato uno scienziato dei dati presso DataCamp e ha insegnato argomenti di scienza dei dati alla Yale University e al Cold Spring Harbor Laboratory, a conferenze come SciPy, PyCon e ODSC e con organizzazioni come Data Carpentry. [Full Disclosure: As part of its services, Coiled provisions and manages cloud resources to scale Python code for data scientists, and so does offer something that SageMaker also does as part of its services. But it’s also true that all-one-platforms such as SageMaker and products such as Coiled can be seen as complementary: Coiled has several customers who use SageMaker Studio alongside Coiled.]

VentureBeat

La missione di VentureBeat è quella di essere una piazza della città digitale per i responsabili delle decisioni tecniche per acquisire conoscenze sulla tecnologia trasformativa e sulle transazioni.

Il nostro sito fornisce informazioni essenziali sulle tecnologie e strategie dei dati per guidarti mentre guidi le tue organizzazioni. Ti invitiamo a diventare un membro della nostra community, per accedere a:

  • informazioni aggiornate sugli argomenti di tuo interesse
  • le nostre newsletter
  • contenuti gated leader di pensiero e accesso scontato ai nostri eventi preziosi, come Transform
  • funzionalità di rete e altro ancora

Diventare socio