Quasi il cervello umano con SyNAPSE
10 Agosto 2013I ricercatori di IBM stanno da tempo lavorando ad un progetto chiamato SyNAPSE: un calcolatore che riproduce la struttura e l’architettura del cervello umano, per emularne l’efficienza, la compattezza e l’economicità nell’uso delle risorse.
SyNAPSE (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) è un progetto avviato già dal 2008 da IBM, in collaborazione con la DARPA (l’ente di ricerca del Ministero della Difesa statunitense), con l’obiettivo di creare un sistema di calcolo cognitivo in grado di avvicinarsi sempre di più alle funzionalità del cervello umano.
Nel corso degli anni sono stati aggiunti molti tasselli all’architettura di questo sistema, (alcuni già trattati in questo blog) fino ad arrivare oggi allo sviluppo di un sistema software basato su un modello di programmazione completamente diverso da quello utilizzato dai tradizionali computer.
Il primo risultato positivo è stato ottenuto nel 2009, quando gli scienziati sono riusciti a simulare il funzionamento del cervello di un gatto contenente un miliardo di neuroni e 10 trilioni di sinapsi (un trilione equivale ad un miliardo per un miliardo cioè 1018). Circa due anni dopo, nel 2011, IBM ha realizzato una nuova generazione di chip in silicio formati da una rete configurabile di core neurosinaptici che elaborano le informazioni utilizzando memoria (neuroni), processori (sinapsi) e collegamenti (assoni).
In verità, tutti i processori di oggi sono ancora basati sull’architettura di Von Neumann, inventata nel 1940. Una architettura che è stata la base per la realizzazione dell’ENIAC (il primo computer elettronico mai realizzato) e che è rimasta sostanzialmente la stessa per quasi un secolo.
L’architettura di von Neumann è una tipologia di architettura hardware per computer digitali programmabili “a programma memorizzato” la quale condivide i dati e le istruzioni del programma nello stesso spazio di memoria. Questa architettura si contrappone a quella di Harvard nella quale i dati del programma e le istruzioni del programma sono memorizzati in spazi di memoria differenziati e distinti.
Ma quello che accomuna questi metodi arcaici di gestire delle CPU dalle potenzialità ormai molto elevate è che questi ultimi, pur usando linguaggi di programmazione diversi e più o meno avanzati, devono per forza eseguire i calcoli in modo sequenziale.
La nuova architettura TrueNorth di IBM, invece, elabora i dati in maniera parallela, distribuita ed asincrona. Per questo motivo è stato creato un ecosistema software in grado di sfruttare i chip neurosinaptici comprensivi di un completo ciclo di sviluppo che va dalla progettazione fino al deployment, passando per il debugging.
Il componente principale dell’ecosistema è il simulatore che è un enorme network costituito da 2 miliardi di core neurosinaptici (le unità di calcolo) e ben 100 trilioni di sinapsi. Ogni core contiene 256 neuroni digitali (che simulano i neuroni biologici), che elaborano le informazioni in maniera deterministica e stocastica e forniscono risposte anche sulla base degli input dei neuroni vicini.
I “programmi” sono ottenuti componendo un numero variabile e riutilizzabile di mattoni base, denominati corelet (TrueNorth possiede una libreria di 150 corelet, ognuno dei quali esegue un determinato task).
L’obiettivo a lungo termine di IBM è quello progettare un chip con 10 miliardi di neuroni e 100 trilioni di sinapsi, dal consumo elettrico di un solo kW di potenza e di dimensioni inferiori a due litri di volume.
Un sistema costituito da questi chip sarebbe in grado di registrare ed elaborare una grande quantità di dati in tempo reale, senza utilizzare algoritmi predeterminati, esattamente come fà il cervello umano.
I sistemi odierni abbiamo detto che procedono in modo sequenziale affrontando calcoli anche complessi eseguendo solo un piccolo passo alla volta. Questo metodo, benché abbia portato ai successi che noi tutti conosciamo nei computer moderni, sta raggiungendo i suoi limiti. Oggi aumentare la potenza di calcolo di questi sistemi sta diventando sempre più difficile e costoso, e richiede un consumo di energia sempre più elevato; in ogni caso proprio per il difetto di una architettura a calcolo sequenziale, non è quasi mai sufficiente per gestire grandi quantità di dati in tempo reale.
Il nostro cervello invece, benché sia molto più lento ed impreciso, è molto più efficiente di un computer moderno, esso lavora rigorosamente in tempo reale e consuma solo 20 Watt (l’equivalente di una lampadina da lettura).
Scusate se è poco!
Un saluto.
Altri articoli attinenti o correlati da questo blog:
Dio creò l’uomo e IBM crea Watson
IBM sviluppa uno switch ottico per microprocessori
Le CPU Intel sono bucate da anni, ma nessuno fa nulla
La storia dei Sistemi Operativi
In futuro CPU a superconduttori