Spazio e Scienze

Microsoft dona l’intelligenza artificiale al Raspberry Pi 3

Ofer Dekel, boss del gruppo Machine Learning and Optimization dei Microsoft Research Lab di Redmond, aveva un problema: gli scoiattoli. I simpatici animaletti divoravano i bulbi dei fiori e i semi che lasciava agli uccelli, privando lui e la sua famiglia sia delle bellissime fioriture che delle frequenti visite dei volatili.

Fortunatamente è un genio, e come tale non ha imbracciato barbaramente un fucile, ma ha deciso di affidarsi alla tecnologia per battere gli intelligenti animali. Per risolvere il problema ha allenato un modello di computer vision per rilevare gli scoiattoli e ha riversato il codice sul Raspberry Pi 3. Avete presente quella board per hobbisti che si compra per meno di 40 euro?

microsoft ai raspberry 01
Microsoft sta lavorando su sistemi che possono far girare gli algoritmi di machine learning su microcontroller piccoli come quello nelle mani di Ofer Dekel.

Ebbene, Dekel ha trasformato quel dispositivo poco costoso e potente nel peggior nemico degli scoiattoli. Il Raspberry Pi 3 tiene d'occhio il suo cortile e avvia il sistema di irrigazione ogni volta che appare il buffo animaletto. "Ogni hobbista che possiede un Raspberry Pi dovrebbe essere in grado di farlo", ha dichiarato Dekel. "Oggi, pochissimi di loro possono".

Da oggi però la situazione cambia. Dekel ha guidato un gruppo di 30 informatici, ingegneri software e ricercatori di laboratori di Redmond (USA) e Bangalore (India), per creare una nuova classe di strumenti e software di machine learning che permettano di integrare l'intelligenza artificiale anche nei computer meno dotati. L'anteprima di questo lavoro è stata pubblicata su GitHub.

Il progetto fa parte del cambio di paradigma dell'industria tecnologica che il CEO di Microsoft Satya Nadella ha descritto durante il suo discorso alla conferenza Build 2017 di Seattle. "Stiamo passando da un mondo mobile first, cloud first a un nuovo mondo che è fatto di cloud e interfacce intelligenti".

Il mondo del futuro d'altronde sarà fatto di piccoli dispositivi intelligenti integrati nei vestiti, sparsi per la casa e gli uffici e in grado di fare un po' di tutto. Oggi questi tipi di dispositivi lavorano maggiormente come sensori che raccolgono e inviano dati a modelli di machine learning che "girano nel cloud". Il tutto richiede infatti moltissima potenza di calcolo. Dekel e i suoi colleghi puntano a fare "l'impossibile. Ridurre e rendere il machine learning così tanto più efficiente da farlo girare davvero su questi dispositivi".

microsoft ai raspberry 02

Fondamentalmente i dispositivi intelligenti fanno parte del cosiddetto "Internet of Things", o "IoT", tranne che l'obiettivo di Microsoft è far sì che conservino l'intelligenza anche senza connessione a Internet. "Il pensiero dominante è che questi dispositivi siano stupidi", ha dichiarato Manik Varma, ricercatore senior di Microsoft Research India e co-leader del progetto. "Percepiscono l'ambiente e trasmettono le loro letture sensoriali al cloud dove avviene tutto il machine learning. Purtroppo, questo paradigma non affronta un certo numero di scenari critici che pensiamo possano trasformare il mondo".

Infondere il machine learning su questi dispositivi riduce i limiti di bandwidth ed elimina le preoccupazioni sulla latenza della rete, ossia il tempo in cui il dato passi al cloud per il calcolo e torni al dispositivo. Il machine learning sul dispositivo limita anche l'uso di energia della batteria dovuto alla costante comunicazione con il cloud e protegge la privacy mantenendo in locale informazioni personali e sensibili.

I ricercatori immaginano che con questo metodo potrebbero essere sviluppati sensori intelligenti di umidità del suolo impiegati per l'irrigazione di fattorie, ma anche impianti cerebrali che avvertono le persone in caso di convulsioni imminenti. "Se stai guidando su una strada e non c'è connettività, non vuoi che l'impianto smetta di funzionare", ha detto Varma.

raspberrypi3

Per fare la magia si è lavorato su algoritmi che comprimono i modelli di machine learning allenati per il cloud affinché lavorino in modo efficiente sui dispositivi come il Raspberry Pi 3 e il Raspberry Pi Zero.

Molti dei modelli attuali sono reti neurali profonde. Dekel e i ricercatori Microsoft usano diverse tecniche per comprimere le reti neurali profonde per questi piccoli dispositivi. Una tecnica chiamata weight quantization, ad esempio, rappresenta ogni parametro della rete neurale con solo pochi bit, a volte un singolo bit, anziché i 32 richiesti di solito. La tecnica si è dimostrata efficace, permettendo di ottenere prestazioni 20 volte maggiori.

Il team sta anche lavorando su strumenti che permetteranno a hobbisti, maker e persone che di machine learning sanno poco o nulla di arrivare a poter collezionare i dati, allenare i modelli e implementarli sui dispositivi.

L'obiettivo di Microsoft è democratizzare l'intelligenza artificiale, tanto che ha lavorando anche sul cosiddetto "pruning" (o "sparsification") delle reti neurali, che rimuove le ridondanze e comprime i modelli da 10 a 100 volte. "Per installare il machine learning su un Cortex M0, il più piccolo dei processori ARM, i modelli devono essere resi dalle 1000 alle 10.000 volte più piccoli". Per arrivare questo traguardo Microsoft dovrà però adottare un approccio totalmente nuovo.


Tom's Consiglia

Se il Raspberry Pi 3 è troppo caro, risparmia con il Raspberry Pi Zero, lo starter kit costa meno di 30 euro!