Il chip dell'array di memristor si collega al chip del computer personalizzato, formando il primo computer a memristore programmabile. Il team ha dimostrato di poter eseguire tre tipi standard di algoritmi di apprendimento automatico. Credito:Robert Coelius, Ingegneria del Michigan
Il primo computer memristor programmabile, non solo un array di memristor gestito tramite un computer esterno, è stato sviluppato presso l'Università del Michigan.
Potrebbe portare all'elaborazione dell'intelligenza artificiale direttamente su piccoli, dispositivi a basso consumo energetico come smartphone e sensori. Un processore AI per smartphone significherebbe che i comandi vocali non dovrebbero più essere inviati al cloud per l'interpretazione, velocizzare i tempi di risposta.
"Tutti vogliono mettere un processore AI sugli smartphone, ma non vuoi che la batteria del tuo cellulare si scarichi molto velocemente, " ha detto Wei Lu, Professore UM di ingegneria elettrica e informatica e autore senior dello studio in Elettronica della natura .
Nei dispositivi medici, la capacità di eseguire algoritmi di intelligenza artificiale senza il cloud consentirebbe una migliore sicurezza e privacy.
Perché i memristori sono utili per l'apprendimento automatico
La chiave per renderlo possibile potrebbe essere un componente del computer avanzato chiamato memristor. Questo elemento del circuito, una resistenza elettrica con una memoria, ha una resistenza variabile che può servire come una forma di memorizzazione delle informazioni. Poiché i memristor archiviano ed elaborano le informazioni nella stessa posizione, possono aggirare il più grande collo di bottiglia per la velocità e la potenza di elaborazione:la connessione tra memoria e processore.
Ciò è particolarmente importante per gli algoritmi di apprendimento automatico che gestiscono molti dati per fare cose come identificare oggetti in foto e video o prevedere quali pazienti ospedalieri sono a maggior rischio di infezione. Già, i programmatori preferiscono eseguire questi algoritmi su unità di elaborazione grafica piuttosto che sul processore principale di un computer, l'unità centrale di elaborazione.
"GPU e circuiti digitali molto personalizzati e ottimizzati sono considerati circa 10-100 volte migliori delle CPU in termini di potenza e throughput". ha detto Lu. "I processori Memristor AI potrebbero essere altre 10-100 volte migliori."
Le GPU hanno prestazioni migliori nelle attività di apprendimento automatico perché dispongono di migliaia di piccoli core per eseguire calcoli contemporaneamente, al contrario della serie di calcoli che aspettano il loro turno su uno dei pochi potenti core in una CPU.
Un array di memristor va ancora oltre. Ogni memristore è in grado di fare il proprio calcolo, consentendo di eseguire contemporaneamente migliaia di operazioni all'interno di un core. In questo computer su scala sperimentale, erano più di 5, 800 memristori. Un design commerciale potrebbe includerne milioni.
Wei Lu sta con il primo autore Seung Hwan Lee, uno studente di dottorato in ingegneria elettrica, che detiene l'array di memristori. Credito:Robert Coelius, Ingegneria del Michigan
Gli array di memristor sono particolarmente adatti ai problemi di apprendimento automatico. La ragione di ciò è il modo in cui gli algoritmi di apprendimento automatico trasformano i dati in vettori, essenzialmente, elenchi di punti dati. Nel prevedere il rischio di infezione di un paziente in ospedale, ad esempio, questo vettore potrebbe elencare rappresentazioni numeriche dei fattori di rischio di un paziente.
Quindi, gli algoritmi di apprendimento automatico confrontano questi vettori di "input" con i vettori di "caratteristica" archiviati in memoria. Questi vettori di caratteristiche rappresentano alcuni tratti dei dati (come la presenza di una malattia sottostante). Se abbinato, il sistema sa che i dati di input hanno quel tratto. I vettori sono memorizzati in matrici, che sono come i fogli di calcolo della matematica, e queste matrici possono essere mappate direttamente sugli array di memristor.
Cosa c'è di più, man mano che i dati vengono alimentati attraverso l'array, la maggior parte dell'elaborazione matematica avviene attraverso le resistenze naturali nei memristori, eliminando la necessità di spostare i vettori delle caratteristiche dentro e fuori dalla memoria per eseguire i calcoli. Ciò rende gli array altamente efficienti nei calcoli matriciali complicati. Studi precedenti hanno dimostrato il potenziale degli array di memristor per accelerare l'apprendimento automatico, ma avevano bisogno di elementi informatici esterni per funzionare.
Costruire un computer a memristore programmabile
Per costruire il primo computer a memristore programmabile, Il team di Lu ha lavorato con il professore associato Zhengya Zhang e il professor Michael Flynn, sia di ingegneria elettrica che informatica presso U-M, progettare un chip in grado di integrare l'array di memristor con tutti gli altri elementi necessari per programmarlo ed eseguirlo. Tali componenti includevano un processore digitale convenzionale e canali di comunicazione, così come convertitori digitale/analogico per fungere da interpreti tra l'array di memristor analogico e il resto del computer.
Il team di Lu ha quindi integrato l'array di memristor direttamente sul chip presso la Lurie Nanofabrication Facility di UM. Hanno anche sviluppato un software per mappare gli algoritmi di apprendimento automatico sulla struttura a matrice dell'array di memristor.
Il team ha dimostrato il dispositivo con tre algoritmi di apprendimento automatico:
Ci sono sfide nell'espansione per uso commerciale:i memristori non possono ancora essere resi identici come dovrebbero essere e le informazioni memorizzate nell'array non sono del tutto affidabili perché funzionano sul continuum analogico piuttosto che sul digitale. Queste sono le direzioni future del gruppo di Lu.
Lu prevede di commercializzare questa tecnologia. Lo studio è intitolato, "Un sistema memristor-CMOS riprogrammabile completamente integrato per operazioni di moltiplicazione e accumulo efficienti."