Machine learning “as a Service”, cosa sono e come possono migliorare i processi analitici

Pubblicato il 19 Mar 2020

Giuseppe Storelli

Camera di commercio di Bari

mlaas

Per Machine learning “as a service” (MLaaS) si definiscono l’insieme di piattaforme cloud-based capaci di gestire tutta la “filiera tecnologica” legata all’applicazione di strumenti AI, dal data pre-processing sino alla training e valutazione di un modello di machine learning, fruibile anche via APIs Rest.

Nell’era della servitizzazione anche gli strumenti di intelligenza artificiale destinati al mondo corporate sono fruibili as a service, a consumo, come fossero servizi commerciali per il mercato consumer. In quest’ottica sono tantissime le startup che, verticalizzandosi nei diversi domini di applicazione, hanno deciso di offrire servizi di machine learning e AI in SaaS.

L’infrastruttura computazionale (ma non solo) su cui si basano verte tuttavia su 3-4 monoliti industriali, leader storici del mondo ICT conosciuti dal pubblico generalista più per i propri servizi consumer che per le grandi infrastrutture informatiche che mettono a disposizione.

Di questi colossi, perlopiù riconducibili ad aziende statunitensi, fanno sicuramente parte Google, Amazon, Microsoft e IBM, quest’ultima prima tra tutti ha rappresentato una vera avanguardia del settore lanciando nel lontano 2007 (circa 13 anni fa, un’eternità nel mondo ICT) la sua piattaforma di intelligenza artificiale Watson, dal nome del suo primo Ceo[1].

Grazie a queste imprese e alla loro offerta di servizi cloud in formula as a service (tra cui non solo il machine learning) oggi è infatti possibile, mediante piani di prova gratuita o TIER di uso gratuito (pur sempre limitati), avviare e sperimentare tecniche di artificial intelligence a costo praticamente nullo.

I servizi di machine learning offerti dalle “Big 4”

Amazon Machine Learning services, Microsoft Azure Machine Learning, Google Cloud AI e IBM Watson sono oggi le 4 piattaforme leader di settore.

I servizi di machine learning offerti da queste piattaforme offrono sufficiente libertà sia ai Data Scientist esperti, sia a coloro che hanno solo bisogno di output specifici senza dover scavare più a fondo nella preparazione dei dataset e nella modellazione degli algoritmi. Questo approccio condiviso risulta indubbiamente vincente anche dal punto di vista dei costi, lasciando all’utente la valutazione su altri elementi di differenziazione delle piattaforme senza la necessità di doversi soffermare su valutazioni più tecniche legate ad hardware, piattaforme e problematiche a queste affini.

Machine learning platform a confronto

Nella seguente tabella è possibile analizzare l’offerta di algoritmi di machine learning automatizzati in formula “chiavi in mano” ovvero pronta all’utilizzo.

AmazonMicrosoftGoogleIBM
Amazon MLAzure ML StudioCloud AutoMLIBM Watson ML Model Builder
ClassificazionePresentePresentePresentePresente
RegressionePresentePresentePresentePresente
ClusteringPresentePresenteAssenteAssente
Anomaly DetectionAssentePresenteAssenteAssente
RecommendationAssentePresentePresenteAssente
RankingAssentePresenteAssenteAssente

Predictive analytics con Amazon ML

I servizi di predictive analytics di Amazon Machine Learning sono utilizzabili mediante la piattaforma specializzata che offre soluzioni “automatizzate” per l’analisi dei dati tanto da fornire anche un servizio di “riconoscimento automatico” del tipo di algoritmo di Machine Learning da utilizzare, questo servizio è tuttavia limitato ad algoritmi di binary classification, multiclass classification, e regressione.

Nel caso sia necessario un maggior livello di personalizzazione, direttamente proporzionale alle competenze richieste, Amazon offre la versatilità e la potenza, sempre as a Service, di Sagemaker, un ecosistema completo di framework, strumenti e algoritmi capaci di soddisfare le più esigenti richieste dalla classificazione di immagini basata su ResNet al clustering non supervisionato con K-means lasciando anche spazio all’utilizzo di modelli completamente custom basati su librerie comuni come TensorFlow, Keras, Gluon, Torch, MXNet, etc.

Microsoft Azure Machine Learning Studio

Microsoft con la sua piattaforma Azure è l’unica a offrire un vero strumento di sperimentazione “out-of-the-box” lasciando all’utente anche la possibilità di gestire “visivamente” tutti gli step in una sorta di drag-and-drop del diagramma di flusso dal data cleaning, ingestion, preparation e modelling.

I servizi di Azure possono essere suddivisi in due categorie principali: Azure Machine Learning Studio e Bot Service (di cui ci occuperemo più avanti). Quasi tutte le operazioni in Azure ML Studio devono essere completate utilizzando un’interfaccia grafica drag-and-drop. Ciò include l’esplorazione dei dati, la preelaborazione, la scelta dei metodi e la validazione dei risultati della modellazione.

Sperimentare il machine learning su piattaforme Azure prevede una iniziale curva di apprendimento più alta dei competitor ma alla fine porta a una comprensione più profonda di tutte le principali tecniche utilizzabili. L’interfaccia grafica di Azure ML offre una visuale completa di tutti gli step presenti all’interno del flusso di lavoro ed è costantemente aggiornata con i nuovi strumenti. Tra i punti di forza di Azure infatti vi è la varietà di algoritmi disponibili, il Machine Learning Studio supporta infatti circa 100 metodi che vanno dalla classificazione (binaria+multiclasse) al clustering (K-means).

Google Cloud AutoML

I servizi offerti dalle piattaforme Google sono molto simili a quelli di Amazon, Google infatti fornisce i suoi servizi di machine learning e di IA su due livelli: Google Cloud Machine Learning per Data Scientist esperti e la piattaforma Cloud AutoML per chi sta iniziando.

Google Cloud AutoML è una piattaforma cloud-based di machine learning adatta anche a utenti ai primi passi. Gli utenti hanno la possibilità di caricare i propri dataset, “addestrare” modelli personalizzati e distribuirli anche mediante interfacce Rest API.

Ci sono diversi prodotti disponibili con AutoML a cui si può accedere direttamente tramite un’interfaccia grafica, dai servizi di elaborazione di immagini e video, al motore di elaborazione e traduzione in linguaggio naturale.

Google ML Engine invece è l’esatto opposto della prima piattaforma rivolgendosi infatti a utenti più esperti è molto flessibile e suggerisce di utilizzare l’infrastruttura cloud con TensorFlow come driver per il machine learning, lasciando comunque la possibilità di testare altri framework popolari come XGBoost, scikit-learn e Keras

IBM Watson Machine Learning Studio

IBM offre un’unica piattaforma di machine learning sia per i Data scientist esperti che per i newcomer nel settore offrendo solo due diversi tipi di approccio: automatizzato e manuale in base alla necessità di controllo dell’utente.

Simile ad Amazon ML, Watson Studio ha un’AutoAI con un’interfaccia di elaborazione dati e costruzione di modelli completamente automatizzata che sostanzialmente non necessita di alcun tipo di formazione per iniziare a sperimentare.

La parte automatizzata può risolvere tre tipi principali di compiti: classificazione binaria, classificazione multiclasse e regressione.

Oltre all’AutoAI, IBM offre anche SPSS Modeler, un pacchetto software dal gusto un po’ classico utilizzato storicamente per trasformare i dati in informazioni statistiche. Acquisito da IBM nel 2009 e integrato come servizio ML stand-alone è un prodotto senza un’interfaccia utente grafica che permette di caricare i dataset, utilizzare gli statement SQL per manipolare i dati e addestrare i modelli ad operare con le informazioni aziendali.

IBM come Amazon dispone di notebook come Jupiter per programmare manualmente i modelli utilizzando i framework più diffusi come TensorFlow, scikit-learn, PyTorch e altri.

Le API specializzatea confronto

Oltre alle piattaforme complete ma per obiettivi più generalisti trattate in precedenza è possibile utilizzare API di alto livello per fini più specifici. Solitamente questi rappresentano servizi specializzati con modelli di machine learning già addestrati e pronti all’uso. Le API non richiedono alcuna competenza tecnica legata agli algoritmi e possono essere ampiamente suddivise in tre grandi gruppi:

– riconoscimento del testo, traduzione e analisi testuale

– riconoscimento immagine + video e relativa analisi

– altri, che includono servizi specifici non categorizzati

Tabella di comparazione per servizi di riconoscimento del testo, traduzione e analisi testuale

AmazonMicrosoftGoogleIBM
Amazon MLAzure ML StudioCloud AutoMLIBM Watson ML Model Builder
Riconoscimento vocale (Speech2Text)PresentePresentePresentePresente
Conversione di testo in audio (TTS)PresentePresentePresentePresente
Estrazione di concetti (EE)PresentePresentePresentePresente
Estrazione di frasi chiavePresentePresentePresentePresente
Riconoscimento della lingua100+ Lingue120 Lingue120+ Lingue60+ Lingue
Analisi sentimentPresentePresentePresentePresente
Traduzione6 Lingue60+ Lingue100+ Lingue21 Lingue
ChatbotPresentePresentePresentePresente

Come è possibile notare dalla tabella i principali servizi chiave, offerti nell’ambito degli strumenti di text-recognition, sono universalmente condivisi e supportati da tutte le piattaforme, a dimostrazione della grande richiesta da parte degli utenti di soluzioni di questo tipo.

L’unico elemento di differenziazione è rappresentato dagli idiomi supportati, su questo fronte Google con la sua esperienza ventennale e i cospicui investimenti nel mondo della semantica applicata vince la sfida con un supporto a oltre 120 lingue.

Condividendo i principali elementi chiave è pertanto superfluo analizzare distintamente le 4 piattaforme nell’offerta di servizi legati alla text recognition e ci focalizzeremo su quella a oggi più completa ovvero Amazon Web Services.

Un esempio di piattaforma: le API per l’elaborazione di voce e testo di Amazon

Amazon fornisce molteplici API che mirano a compiti popolari all’interno dell’analisi del testo. Queste sono anche altamente automatizzate in termini di machine learning ma necessitano di un’adeguata integrazione per funzionare.

Amazon Lex. L’API Lex è stata creata per incorporare i chatbot in contesti applicativi aziendali in quanto contiene sia funzionalità di riconoscimento vocale automatico (ASR) che di elaborazione del linguaggio naturale (NLP) basate su modelli di deep learning. L’API è in grado di riconoscere il testo scritto e parlato e l’interfaccia Lex consente di agganciare gli input riconosciuti a varie soluzioni di back-end. Ovviamente, Amazon incoraggia l’uso del suo ambiente serverless Lambda cloud. Oltre alle applicazioni standalone, Lex attualmente supporta l’implementazione di chatbot per Facebook Messenger, Slack e Twilio.

Amazon Transcribe. Mentre Lex è uno strumento complesso orientato ai chatbot, Transcribe è creato esclusivamente per riconoscere il testo parlato. Lo strumento è in grado di riconoscere più interlocutori e funziona anche con audio di bassa qualità, ideale nell’ambito telefonico. Questo rende l’API una soluzione per la catalogazione degli archivi audio o un buon supporto per l’ulteriore analisi del testo dei dati del call center.

Amazon Polly. Il servizio Polly è una sorta di inverso di Transcribe, trasformando il testo in voce, permettendo quindi ai chatbot e servizi testuali di parlare.

Amazon Comprehend. Comprehend rappresenta un vasto insieme di API di Natural Language Processing che, a differenza di Lex e Transcribe, punta a compiti di analisi del testo di tipo prettamente semantico. Tra le principali funzionalità:

  • estrazione di entità (riconoscimento di nomi, date, organizzazioni, ecc.)
  • rilevamento delle frasi chiave
  • riconoscimento della lingua
  • analisi del sentiment (quanto è positivo, neutro o negativo un testo)
  • modellazione dell’argomento (definizione degli argomenti dominanti attraverso l’analisi delle parole chiave)

Questo servizio si rivela fondamentale in applicazioni pratiche tipiche anche della micro, piccola e media impresa come analisi delle risposte degli utenti sui social media o del sentiment degli utenti che utilizzano i servizi di telefonia aziendali.

Conclusioni

In definitiva gli strumenti di machine learning as a Service forniscono, a costi bassissimi, sistemi automatizzati e scalabili in grado di valutare e migliorare i processi analitici con una limitata necessità di intervento umano e quindi di impatto sulle risorse umane.

Il tutto senza la necessità di investire in infrastrutture complesse.

Utilizzando i servizi di machine learning in cloud anche un piccolo team può sperimentare queste tecnologie progettando una prima strategia su cui poi costruire i primi modelli di apprendimento per la realizzazione di previsioni capaci da subito di dare anche piccoli risultati.

Con queste risorse minime (che variano a seconda delle soluzioni offerte da ciascun fornitore), l’utilizzo del MLaaS ha un grande potenziale per le imprese anche di piccole dimensioni, eliminando anche la necessità di continuo aggiornamento sia di modelli che di infrastrutture tecnologiche, guadagnando così tempo e riducendo i costi.

Grazie a una migliore conoscenza del mercato e degli stakeholder mediante applicativi di predictive analytics è possibile anche per la microimpresa attrarre potenziali acquirenti o utenti, così come trovare nuovi canali di guadagno, offrendo consistenti risparmi sui costi.

La sfida tuttavia richiede dedizione e sforzi, più che di business o economici, di tipo culturale, eliminate infatti le barriere in termini di costi e competenze resta solo lo sforzo forse più grande, quello della consapevolezza e della cultura digitale.

Giuseppe Storelli

  1. IBM Watson https://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=6177717

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2