HPU, unità ibride di calcolo per le nuove reti neurali

HPU4Science è il nome di un nuovo progetto nato per eseguire calcoli scientifici particolarmente complessi. Il cervellone usa i normali componenti per PC disponibili sul mercato per ottenere prestazioni simili ai supercomputer. Il segreto sono le unità di elaborazione ibride, o HPU, e un sistema di algoritmi neurali.

Avatar di Roberto Caccia

a cura di Roberto Caccia

Il Laboratorio de Chimie de la Matière Condensée de Paris (LCMCP) ha realizzato un nuovo sistema in grado di eseguire complessi calcoli scientifici usando un normale hardware per computer. I ricercatori sono partiti da una "folle" idea: realizzare l'equivalente di un "cervellone" da 400.000 dollari usando componenti per PC del valore di soli 40.000 dollari.

HPU4Science, un super "cervellone" realizzato con componenti hardware nati per i videogiochi su PC

Il Cluster di PC, noto come HPU4Science, è perfettamente funzionante e sfrutta un gruppo di sei computer desktop con processori Intel Core i7 e Core 2 Quad, insieme a GPU di differente potenza, da quella della GTX 280 (GT200) a quelle della più recente GTX 590 (GF110). La potenza stimata è di 20 TFLOPS teorici, che si riducono a 12,5 all'atto pratico.

Le difficoltà principali riguardano lo sviluppo di nuovi metodi di calcolo che facciano un uso efficiente delle cosiddette HPU, cioè Hybrid Processing Units o unità di elaborazione ibride. I problemi nascono dalla tipologia di calcoli che deve fare HPU4Science.

Lo scopo del cluster è di analizzare le immagini prodotte da risonanze paramagnetiche elettroniche (EPR), dati particolarmente complessi che solitamente necessitano di pesanti ritocchi manuali, che spesso falsano i risultati rendendoli soggettivi.

Come risolvere questo inconveniente? I ricercatori hanno trovato una soluzione sfruttando le potenzialità del cluster HPU4Science attraverso l'apprendimento di algoritmi neurali di rete, in modo da effettuare una deconvoluzione dei dati più sistematica e meno soggettiva. Un procedimento che però ha qualche lato negativo.

Una semplificazione del processo di deconvoluzione - Clicca per ingrandire

Il problema delle reti neurali è che richiedono un lungo periodo di apprendimento, faticoso a livello di calcolo e difficile da eseguire in parallelo. Inoltre, all'aumentare della complessità del problema aumenta anche il numero di sinapsi artificiali richieste per risolverlo e il numero di operazioni necessarie per allenarle, con la prevedibile conseguenza di dilatare il tempo di "allenamento"del sistema.

Il team responsabile di HPU4Science ha deciso di ovviare a questi problemi con un nuovo approccio, usando tecniche di reservoir computing, swarm computing e algoritmi genetici. In parole povere, un lavoro immane preso in custodia dai calcoli in parallelo eseguiti in autonomia da ogni HPU.

Il vantaggio principale è proprio la suddivisione dei processi su ogni unità per arrivare alla soluzione del problema, senza dover fare affidamento su un solo supercomputer. L'idea parte dalla base che su ogni macchina con un processore i7 e 8 thread si possono avere fino a 8 unità di calcolo, composte da un thread e una GPU ciascuna.

Il bello è che ogni unità può risolvere in autonomia il problema, minimizzando le interazioni fra il sistema al lavoro e il master, l'unità centrale di collegamento che fornisce "l'allenamento" alla rete neurale.

Grazie a questa configurazione, il master può ottenere le soluzioni proposte da ogni unità, e gestire il proprio problema usando le migliori soluzioni provenienti dalle altre "macchine lavoratrici", o worker. In questo modo si rende parallelo il problema e lo si distribuisce sul maggior numero di HPU possibili, in modo da ridurre i tempi di elaborazione.

Lo schema attuale di HPU4Science - Clicca per ingrandire

Sfruttando questa capacità di calcolo è possibile guardare la rete neurale apprendere e risolvere i problemi anche senza capire precisamente come sono stati affrontati, in modo simile al computer Watson di IBM (Elementare Watson! Il PC di IBM trionfa a Jeopardy).

Invece di riempire il computer di regole pre-stabilite si costruisce un algoritmo in grado di configurare le proprie regole processando alcuni esempi noti, il cosiddetto set d'istruzioni. Un paradigma vicino al funzionamento del cervello umano. Per maggiori informazioni potete consultare il sito web del progetto, cliccando su questo indirizzo (in inglese).