Gli ingegneri offrono idee intelligenti e tempestive per i colli di bottiglia dell’IA

I ricercatori della Rice University hanno dimostrato metodi sia per la progettazione di hardware informatico innovativo incentrato sui dati sia per la co-progettazione di hardware con algoritmi di apprendimento automatico che insieme possono migliorare l’efficienza energetica fino a due ordini di grandezza.
I progressi nell’apprendimento automatico, la forma di intelligenza artificiale dietro le auto a guida autonoma e molte altre applicazioni high-tech, hanno inaugurato una nuova era dell’informatica – l’era data-centric – e stanno costringendo gli ingegneri a ripensare gli aspetti dell’architettura di calcolo che hanno andato per lo più incontrastato per 75 anni.
“Il problema è che per le reti neurali profonde su larga scala, che sono oggi lo stato dell’arte per l’apprendimento automatico, oltre il 90% dell’elettricità necessaria per far funzionare l’intero sistema viene consumata per spostare i dati tra la memoria e il processore “, ha affermato Yingyan Lin, assistente professore di ingegneria elettrica e informatica.
Lin e collaboratori hanno proposto due metodi complementari per ottimizzare l’elaborazione incentrata sui dati, entrambi presentati il 3 giugno all’International Symposium on Computer Architecture (ISCA), una delle principali conferenze per nuove idee e ricerca nell’architettura dei computer.
La spinta all’architettura data-centric è legata a un problema chiamato collo di bottiglia di von Neumann, un’inefficienza che deriva dalla separazione tra memoria ed elaborazione nell’architettura informatica che ha regnato sovrano da quando il matematico John von Neumann l’ha inventata nel 1945. Separando la memoria da programmi e dati, l’architettura von Neumann consente a un singolo computer di essere incredibilmente versatile; a seconda di quale programma memorizzato viene caricato dalla sua memoria, un computer può essere utilizzato per effettuare una videochiamata, preparare un foglio di calcolo o simulare il tempo su Marte.
Ma separare la memoria dall’elaborazione significa anche che anche operazioni semplici, come l’aggiunta di 2 più 2, richiedono che il processore del computer acceda alla memoria più volte. Questo collo di bottiglia della memoria è aggravato da operazioni massicce in reti neurali profonde, sistemi che imparano a prendere decisioni simili a quelle umane “studiando” un gran numero di esempi precedenti. Più grande è la rete, più difficile è l’attività che può padroneggiare e più esempi vengono mostrati sulla rete, migliori saranno le sue prestazioni. L’addestramento della rete neurale profonda può richiedere banche di processori specializzati che funzionano 24 ore su 24 per più di una settimana. L’esecuzione di attività basate sul processo appreso delle reti noto come inferenza, uno smartphone può scaricare la batteria in meno di un’ora.
“È stato comunemente riconosciuto che per gli algoritmi incentrati sui dati dell’era dell’apprendimento automatico, abbiamo bisogno di un’architettura hardware incentrata sui dati innovativa”, ha affermato Lin, direttore dell’Efficient and Intelligent Computing Lab (EIC) di Rice. “Ma qual è l’architettura hardware ottimale per l’apprendimento automatico?
“Non ci sono risposte univoche, poiché applicazioni diverse richiedono algoritmi di apprendimento automatico che potrebbero differire molto in termini di struttura e complessità dell’algoritmo, pur avendo una diversa accuratezza delle attività e consumo di risorse, come il costo energetico, la latenza e il throughput. requisiti”, ha detto. “Molti ricercatori stanno lavorando su questo e le grandi aziende come Intel, IBM e Google hanno tutte i propri progetti”.
Una delle presentazioni del gruppo di Lin all’ISCA 2020 ha offerto risultati su TIMELY, un’architettura innovativa che lei e i suoi studenti hanno sviluppato per “processing in-memory” (PIM), un approccio non von Neumann che porta l’elaborazione negli array di memoria. Una piattaforma PIM promettente è la “memoria ad accesso casuale resistivo” (ReRAM), una memoria non volatile simile alla flash. Sebbene siano state proposte altre architetture di acceleratore PIM ReRAM, Lin ha affermato che gli esperimenti eseguiti su più di 10 modelli di reti neurali profonde hanno rilevato che TIMELY era 18 volte più efficiente dal punto di vista energetico e forniva oltre 30 volte la densità computazionale del più competitivo stato dell’arte. Acceleratore PIM ReRAM.
TIMELY, che sta per “Time-domain, In-Memory Execution, LocalitY”, raggiunge le sue prestazioni eliminando i principali fattori di inefficienza derivanti sia dal frequente accesso alla memoria principale per la gestione di input e output intermedi sia dall’interfaccia tra locale e principale ricordi.
Nella memoria principale, i dati vengono archiviati digitalmente, ma devono essere convertiti in analogico quando vengono portati nella memoria locale per l’elaborazione in memoria. Nei precedenti acceleratori PIM ReRAM, i valori risultanti vengono convertiti da analogico a digitale e rimandati alla memoria principale. Se vengono chiamati dalla memoria principale alla ReRAM locale per le operazioni successive, vengono nuovamente convertiti in analogico e così via.
TIMELY evita di pagare spese generali sia per gli accessi non necessari alla memoria principale sia per l’interfacciamento delle conversioni dei dati utilizzando buffer di formato analogico all’interno della memoria locale. In questo modo, TIMELY mantiene per lo più i dati richiesti all’interno di array di memoria locale, migliorando notevolmente l’efficienza.
La seconda proposta del gruppo a ISCA 2020 è stata per SmartExchange, un progetto che unisce innovazioni algoritmiche e hardware di accelerazione per risparmiare energia.
“Può costare circa 200 volte più energia per accedere alla memoria principale (la DRAM) piuttosto che per eseguire un calcolo, quindi l’idea chiave per SmartExchange è rafforzare le strutture all’interno dell’algoritmo che ci consentono di scambiare memoria a costi più elevati con una memoria molto più bassa. calcolo dei costi”, ha detto Lin.
“Ad esempio, supponiamo che il nostro algoritmo abbia 1.000 parametri”, ha aggiunto. “Con un approccio convenzionale, memorizzeremo tutti i 1.000 nella DRAM e accederemo secondo necessità per il calcolo. Con SmartExchange, cerchiamo di trovare una struttura all’interno di questi 1.000. Abbiamo quindi bisogno di archiviare solo 10, perché se conosciamo la relazione tra questi 10 e i restanti 990, possiamo calcolare uno qualsiasi dei 990 anziché richiamarli dalla DRAM.
“Chiamiamo questi 10 sottoinsiemi ‘di base’ e l’idea è di archiviarli localmente, vicino al processore per evitare o ridurre in modo aggressivo il dover pagare i costi per l’accesso alla DRAM”, ha affermato.
I ricercatori hanno utilizzato l’algoritmo SmartExchange e il loro acceleratore hardware personalizzato per sperimentare sette modelli di reti neurali profonde di riferimento e tre set di dati di riferimento. Hanno scoperto che la combinazione ha ridotto la latenza fino a 19 volte rispetto agli acceleratori di rete neurale profonda all’avanguardia.