Intelligenza Artificiale per progettare i chip per algoritmi di Intelligenza Artificiale

E’ ormai noto come il Machine Learning, il vero motore della svolta verso l’attuale Intelligenza Artificiale, sia particolarmente esigente dal punto di vista computazionale.
I chip (CPU) tradizionali non sono particolarmente efficienti nello svolgere questo tipo di calcoli, e consumano troppa energia. Per questo, al momento, vengono utilizzati prevalentemente i chip per i calcoli grafici (Graphical Processing Unit o GPU).

Questa esigenza ha portato aziende come NVIDIA a far parte dei leader in questo settore, con spinte molto grandi alla loro capitalizzazione ed ai loro risultati.
NVIDIA per questo, negli anni ha fatto virare completamente la sua GPU Conference verso l’AI, condividendo risultati, scenari di utilizzo e dei video di apertura meravigliosi! Fantastica la loro colonna sonora prodotta da AIVA Technologies e suonata da un’orchestra umana, davvero molto emozionanti (QUI trovate il video della GTC del 2019).

Il punto è che, comunque, l’addestramento delle architetture di ML sempre più sofisticate che si stanno realizzando, senza considerare utilizzi anche più stimolanti come le Generative Adversarial Network o GAN o il Deep Reinforcement Learning, richiede quantità di energia elettrica notevoli anche con le GPU.
Per questo uno dei temi sui quali si sta lavorando è la creazione di architetture specifiche per l’addestramento e di chip specifici per task di AI (Huawei ad esempio ha nella sua offerta di AI una piattaforma end-to-end dai chip ai framework per la scrittura degli algoritmi).

In questo scenario Google ha realizzato la piattaforma open source per il machine learning più diffusa al mondo al momento: Tensorflow.
Questa piattaforma sta cominciando a comprendere modalità di utilizzo che si mappano specificamente sull’hardware sottostante, con una predilezione per due tipologie di chip ASIC e FPGA.
Queste due famiglie di chip comprendono tutti i chip che, programmabili (FPGA) o specifici (ASIC), sono stati pensati per applicazioni specifiche come ad esempio il Machine Learning.

Ora, progettare un chip è un’operazione lunga e laboriosa, paragonabile ad un tetris multidimensionale, dove è necessario pianificare con attenzione il posizionamento di migliaia di componenti, su più strati, in un’area confinata e con risorse limitate.
Bisogna quindi analizzare ogni pianificazione effettuata per ottimizzare il numero di connessioni e massimizzare quindi l’efficienza (e quindi i consumi) del piano appena realizzato.
I software di electronic design automation (EDA) che analizzano le pianificazioni e simulano le performance, possono richiedere poi anche 30 ore per ogni strato per produrre i report di efficienza delle pianificazioni realizzate.

Questo approccio costoso e lungo fa si che ogni progetto di chip duri diversi anni, prima che vengano testati nuovi approcci e nuove pianificazioni, questo fino quantomeno ad oggi.

Due ricercatrici di Google: Anna Goldie ed Azalia Mirhoseini, hanno pubblicato un paper intitolato: Placement Optimization with Deep Reinforcement Learning che promette un futuro molto diverso e per certi versi intrigante.
Il paper può essere scarivato QUI da arxiv.

Nel paper analizzano come, utilizzando apprendimento per rinforzo (Reinforcement learning), riescano a simulare diverse centinaia di pianificazioni differenti ed a scegliere, in maniera gradualmente sempre più rapida, quelle più efficienti.

La validazione effettuata con i software, al termine del processo ha portato a rilevare pianificazioni più efficienti di quelle realizzate dagli ingegneri umani, ed anche a conoscenze e scoperte per l’uomo, un po’ come appreso nel percorso reso famoso da AlphaGO.

Siamo ovviamente molto lontani da macchine che progettano macchine più efficienti, ma è un primo passo, molto interessante, dove peraltro si utilizza una tecnologia promettente come il Reinforcement Learning che non richiede alcun tipo di dato storico di qualità esistente, e che, anzi, genera conoscenza dall’esperienza, conoscenza che può essere messa a disposizione di tutti.

Stay tuned!

Unknown's avatar

About Andrea Pescino

I'm a digital technology expert, passionate about the impact technology and data could bring to the world. Now contributing actively to tackling biggest challenges of our times with the usage of data, digital techologies and expertise.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a comment