Perché Google ha affidato all’IA la gestione dei suoi data center
A cura di Fabrizio Di Priamo – GDP Analytics
“Machine learning + data centers = awesome?” Questo l’oggetto dell’email inviata nella primavera del 2014 da Jim Gao, ingegnere di Google, a Mustafa Suleyman, responsabile di DeepMind, gruppo di ricerca di Google leader nel campo dell’Intelligenza Artificiale. Risultato? A distanza di 5 anni Google vanta un risparmio del 30% sui consumi elettrici totali per la gestione dei data center, un risparmio del 40% per quanto riguarda il raffreddamento e un consumo di energia elettrica del 50% inferiore alla media del settore.
Ma quali sono gli ingredienti per un tale successo?
Un problema molto complesso
Difficile immaginare che un’ IA possa fare tanto meglio dell’essere umano se il problema ad oggetto è banale. Diverso è se gli input sono in numero elevato e la loro relazione con gli output non è lineare. Immaginiamo di avere 10 input, ognuno dei quali possa assumere 10 valori diversi e che non sia molto chiara la relazione di ciascuno con l’output. Ottimizzare questo tipo di problema richiederebbe testare 10 miliardi di combinazioni diverse di input.
Il problema che si trovavano a fronteggiare Gao e Suleyman aveva 19 variabili (numero di pompe attive, numero di torri di raffreddamento, numero refrigeratori, velocità del vento, ecc…), molte delle quali potevano assumere valori nel continuo e alcune addirittura esogene, come la temperatura esterna o la temperatura percepita, su cui non poter agire in alcun modo. Come affrontare un problema di questo tipo?
Machine Learning e IA
In quel periodo DeepMind stava raccogliendo i primi successi con AlphaGo, un’ IA creata per giocare a Go, un gioco cinese con più di 2500 anni di storia le cui possibili combinazioni superano di gran lunga il numero di atomi nell’universo e che non ha una strategia chiara che conduca alla vittoria. Si decise di adottare lo stesso approccio: reinforcement learning.
Il reinforcement learning prevede che l’algoritmo faccia una serie di prove, per ognuna riceva una risposta ambientale e man mano acquisti “consapevolezza” sul fenomeno ad oggetto. Il problema è che mentre AlphaGo poteva giocare contro sé stesso e aumentare la sua comprensione del gioco, sicuramente Google non poteva lasciare i suoi data center in balia di un algoritmo che avrebbe iniziato a fare test completamente a caso.
La soluzione si trovò grazie ai dati e a un algoritmo previsionale.
Google aveva a disposizione circa due anni di osservazioni raccolte dai molteplici sensori all’interno dei data center, Gao li utilizzò per allenare un insieme di reti neurali in grado di prevedere il PUE (Power Usage Effectiveness), ovvero il valore che si voleva minimizzare. Ogni rete neurale aveva una struttura simile a quella in figura, ma con 19 variabili in ingresso.
Costruire più reti è un metodo molto utilizzato dai data scientist, chiamato ensembling, e viene impiegato quando l’allenamento di un algoritmo contiene una componente randomica. In questo contesto, si preferisce allenare più reti per poi unirne i risultati, favorendo (di norma) l’accuratezza delle previsioni. In figura, il confronto tra i valori di consumo reali e quelli previsti dall’insieme di reti neurali.
A questo punto, il team aveva a disposizione sia un algoritmo in grado di imparare dai propri errori, sia un insieme di reti neurali che gli fornissero il feedback ambientale di cui aveva bisogno, senza effettivamente intervenire sui data center. Tuttavia, citando Joe Kava (Vice Presidente dei data center di Google) il problema è che “se dici a una macchina di minimizzare il consumo di energia, la macchina potrebbe dirti semplicemente di spegnere tutti i server”.
Inserimento dei vincoli
La minimizzazione del consumo energetico ha per sua natura dei limiti. Alcuni parametri, come la temperatura e la pressione all’interno dei data center, devono restare entro determinati range. Quindi, come verificare temperatura e pressione se il feedback delle reti riguardava solamente il consumo di energia?
Semplice: il team decise di allenare altri due insiemi di reti neurali, uno per prevedere la temperatura e l’altro per la pressione.
Così facendo la risposta ambientale era completa. L’algoritmo era in grado non solo di imparare a minimizzare il consumo energetico, ma anche di ricevere un feedback su quali soluzioni scartare perché al di fuori dei range ammissibili.
Test
In figura sono riportati i risultati dei primi test su un data center reale.
Dopo un periodo di prova sotto la supervisione di un agente umano che approvasse i settaggi dell’algoritmo, nell’agosto del 2018 Google ha deciso di affidare completamente la gestione dei data center alla sua IA e ora sta lavorando su progetti simili in cui l’utilizzo dell’ IA possa ridurre l’impatto ambientale delle attività dell’uomo.
Fonti e approfondimenti:
- https://deepmind.com/blog/deepmind-ai-reduces-google-data-centre-cooling-bill-40/
- https://www.datacenterknowledge.com/google-alphabet/google-switching-self-driving-data-center-management-system
- https://static.googleusercontent.com/media/research.google.com/it//pubs/archive/42542.pdf