Google Cloud: introduzione alla piattaforma

I Big Data sono una delle evoluzioni più profonde e pervasive del mondo digitale. Un trend destinato a rimanere e a incidere profondamente sulla nostra vita e sul nostro modo di fare business. La loro gestione richiede infrastrutture di calcolo molto potenti. I grandi colossi del Web, tra cui Google, Amazon e Microsoft, forniscono i loro data center e le loro piattaforme per affrontare le sfide offerte dai Big Data. Scopriamo la potenza di calcolo fornita da Google Cloud mediante alcuni casi di studio.

Share

Condividi su facebook
Condividi su linkedin
Condividi su twitter
Condividi su email
Reading time: 6 minutes

I Big Data, ossia grandi collezioni di dati, sono sempre più diffusi e di interesse per le aziende. La loro elaborazione e analisi è di fondamentale importanza. Per questo motivo negli ultimi anni sono nate figure professionali focalizzate su questo argomento.

Perché l’abilità di gestione e analisi dei Big Data è così importante e richiesta a livello professionale? Secondo una ricerca di McKinsey, entro il 2020, avremo 50 miliardi di dispositivi connessi nel settore dell’Internet of Things (IoT). Questi dispositivi faranno raddoppiare la produzione di dati ogni due anni. Sfortunatamente, però, solo circa l’uno per cento dei dati generati oggi viene effettivamente analizzato secondo McKinsey.

Questo aspetto fornisce una grande opportunità perché c’è molta conoscenza e valore nei dati che non sono ancora stati analizzati. Pertanto, la capacità di sviluppare applicazioni che gestiscono e analizzano in modo opportuno ed efficiente i Big Data è un’abilità che aprirà molte opportunità sia a livello aziendale che personale. Già adesso è molto richiesta.

Per questo motivo Google ha ideato diversi corsi di formazione per presentare le sue tecnologie e permettere a diverse figure professionali di aumentare le loro competenze nella gestione del Cloud. Ad esempio, in Italia è stato lanciata l’iniziativa Google Cloud Pro. Questa comprende tre diversi percorsi di formazione gratuiti per professionisti offerti da Google Cloud e TIM in collaborazione con Fast Lane. All’interno di ogni percorso sono disponibili Webinar, sessioni di Q&A, corsi on-demand e tutto quello di cui lo studente ha bisogno per arrivare preparato all’esame di certificazione.

Quali sono le sfide che si devono affrontare quando si interagisce con i Big Data? Una di queste è, ad esempio, la migrazione degli attuali carichi di lavoro in un ambiente in cui è possibile analizzare efficacemente tutti i dati. Anche lo sviluppo di tools che possano offrire un’analisi interattiva di terabyte, o addirittura petabyte, di dati come serie di dati storici rappresenta un problema molto rilevante. Un’altra sfida è la costruzione di pipeline scalabili in grado di gestire i dati in streaming, in modo che si possano prendere decisioni basate sui dati in modo rapido e consapevole. Infine, la sfida forse di più grande interesse è la creazione di modelli di apprendimento automatico in modo da non solo reagire ai dati, ma essere in grado di fare previsioni azioni predittive e lungimiranti utilizzando i dati. 

In questo articolo illustriamo alcuni esempi per comprendere sia la complessità dei problemi dei Big Data sia come Google ha sfruttato le sue tecnologie per migliorare i servizi offerti. Prima di vedere i casi di studio bisogna fare un’introduzione all’infrastruttura di Google Cloud.

Infrastruttura di Google Cloud

L’infrastruttura di Google Cloud può essere raggruppata in 5 macro blocchi.

Lo strato di base che copre tutte le applicazioni di Google e quindi anche Google Cloud, è la sicurezza. Sopra a questo strato, ci sono il Compute Power, lo Storage e il Networking. Questi consentono di elaborare, memorizzare, fornire analisi per il business, pipeline di dati e modelli di apprendimento automatico. Infine, Google ha sviluppato un livello superiore per la gestione dei big data e l’esecuzione di processi di Machine Learning al fine di astrarre la gestione e scalabilità dell’infrastruttura.

L’esecuzione di così tanti sofisticati modelli di Machine Learning su grandi moli di dati strutturati  e non strutturati, ha richiesto un massiccio investimento in potenza di calcolo.

Google ha fatto calcolo distribuito per oltre 10 anni per le proprie applicazioni, e ora, ha reso quella potenza di calcolo disponibile per gli utenti attraverso Google Cloud. Ma semplicemente scalando il numero di server nei datacenter di Google non è sufficiente. Storicamente, i problemi di calcolo potrebbero essere affrontati attraverso la Legge di Moore.

«La complessità di un microcircuito, misurata ad esempio tramite il numero di transistor per chip, raddoppia ogni 18 mesi (e quadruplica quindi ogni 3 anni).»

Essenzialmente ipotizzava il tasso di crescita della potenza di calcolo relativamente all’hardware. Per anni, la potenza di calcolo è cresciuta rispettando questa legge. Pertanto, si ipotizzava che bisognasse semplicemente aspettare affinché raggiungesse le dimensioni per affrontare problemi complessi.

Negli ultimi anni, però, la crescita è rallentata drammaticamente perché i produttori di chip si sono scontrati con limiti fisici fondamentali. Le prestazioni di calcolo hanno raggiunto un plateau.

Una soluzione a questo problema è quella di limitare il consumo di energia di un chip, ed è possibile farlo costruendo Application-Specific Chips o ASIC.

Google ha perseguito questa strada progettando nuovi tipi di hardware appositamente per l’apprendimento automatico. Il Tensor Processing Tensor Processing Unit (TPU) è un ASIC specificamente ottimizzato per il Machine Learning. Ha più memoria e un processore più veloce rispetto alle CPU o GPU tradizionali. Dopo aver lavorato sulla TPU per diversi anni, Google ora lo ha reso disponibile ad altre aziende attraverso Google Cloud.

Google Photos

Google Photos è la piattaforma per raccogliere foto e video degli utenti. Con un semplice account Google è possibile avere uno spazio, fino a qualche tempo fa illimitato, per custodire sul cloud le proprie foto e video in totale sicurezza. Questo strumento, però, non è solo utile per avere un backup dei propri ricordi. Infatti, nel corso degli anni Google ha sviluppato alcune funzionalità che hanno aumentato l’utilità del software. Queste funzionalità si basano sui componenti della piattaforma di Google Cloud.

Tra le funzionalità intelligenti introdotte in Google Photos, vi è la stabilizzazione automatica dei video. Analizziamo questa funzionalità per capire la potenza di calcolo fornita dalla piattaforma e la dimensione del problema.

Fonti di dati

Quali sono le fonti di dati necessarie come input per il modello usato da questa nuove funzione?

Sicuramente sono necessari i dati video stessi, che sono essenzialmente i fotogrammi ordinati in base ai timestamp. Ma sono necessari anche altri dati contestuali oltre al video stesso tra cui le serie temporali sulla posizione e l’orientamento della videocamera forniti dal giroscopio e dal movimento dell’obiettivo della telecamera.

Quanti dati sono necessari per il modello di Machine Learning di Google Photos al fine di calcolare e stabilizzare i video?

Se si considera il numero totale di valori che rappresentano un singolo fotogramma di video ad alta risoluzione, il risultato è il prodotto del numero di strati di canali moltiplicato con l’area di ogni strato, che con le telecamere moderne può facilmente essere nell’ordine dei milioni. Una telecamera a otto megapixel crea immagini di circa otto milioni di pixel ciascuna. Moltiplicato per tre canali, si ottengono oltre 23 milioni di punti di dati per fotogramma. Ogni secondo di video contiene 30 fotogrammi. Si può intuire come un breve video rappresenti oltre un miliardo di punti di dati di input per il modello. Secondo le stime del 2018, circa 1,2 miliardi di foto e video vengono caricati sul servizio Google Photos ogni giorno. Questo è 13 più petabyte di dati fotografici in totale.

Discorso simile per YouTube che ha modelli di apprendimento automatico per la stabilizzazione dei video e altri modelli per trascrivere automaticamente l’audio. Il volume di dati di youtube è di oltre 400 ore di video caricati ogni minuto, ossia 60 petabyte ogni ora. Ma non si tratta solo della dimensione di ogni video in pixel.

Machine learning

Il team di Google Photos aveva bisogno di sviluppare, addestrare e fornire un modello di apprendimento automatico ad alte prestazioni su milioni di video per garantire che il modello sia accurato. Per effettuare l’addestramento del modello, Google ha utilizzato una vasta rete di data center. Infine, versioni piccole del modello ottenuto vengono distribuite all’hardware di ogni singolo smartphone.  

I modelli pre-addestrati vengono forniti da Google tramite la piattaforma Cloud. Pertanto, l’utente di Google Cloud può sfruttare mediante API questi modelli.

Google data center

Gli algoritmi di Machine Learning sviluppati da Google non sono stati applicati solo per servizi rivolti all’utenza, ma anche per migliorare l’efficienza di Google stesso. Si pensi al numero di data center che Google deve mantenere raffreddati e alimentati. Questi vengono monitorati da un numero elevatissimo di sensori che raccolto dati molto diversi.

Gli ingegneri di Alphabet hanno visto questa come un’opportunità per ingerire i dati dei sensori e addestrare un modello di apprendimento automatico per ottimizzare il raffreddamento meglio di quanto potessero fare i sistemi esistenti.

Il modello che hanno implementato ha ridotto l’energia di raffreddamento del 40 per cento e ha aumentato l’efficienza energetica complessiva del 15 per cento. 

Questo esempio è particolarmente interessante, perché si tratta di un modello di apprendimento automatico addestrato su un hardware specializzato nell’apprendimento automatico in un data center. Il risultato è un modello che indica al data center stesso quanta energia deve usare per eseguire l’apprendimento automatico del modello stesso che sta utilizzando.

Casi di studio  

Se siete interessati ad altri esempi vi consiglio di visitare la pagina di Google Cloud dedicata. A seconda dei vostri interessi o del settore in cui lavorate, troverete un’ampi documentazione dei problemi e delle soluzioni che sono state adottate.

Lettura consigliate

More To Explore

Python

Chatterbot: creare un chatbot in python

I chatbot sono una tecnologia che permette di automatizzare l’interazione con gli utenti. Sfruttando le ultime tecnologie di intelligenza artificiale le conversazioni risultano sempre più reali. Esempi di evoluzioni dei chatbots sono gli assistenti virtuali come Alexa, Cortana e Siri. Scopriamo come è possibile sviluppare un semplice chatbot in Python mediante la libreria Chatterbot.

Google Cloud

AutoML Vision: classificazione di immagini

Lo sviluppo di modelli di classificazioni di dati non strutturati, quali immagini o testi, non è un task semplice. In molti casi sono richieste competenze di sviluppo molto specifiche. Scopriamo come è possibile, mediante AutoML Vision di Google Cloud, creare un modello di classificazione di immagini senza scrivere una linea di codice ma solo selezionando le immagini per il nostro modello.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!