Precision-Aware Variable Bit Processing Elements for Hardware-Efficient Systolic Array Designs
Questo articolo propone un design di array sistolico efficiente dal punto di vista dell'hardware che utilizza moltiplicatori a virgola mobile approssimati, ottimizzati tramite NSGA-II, con troncamento delle colonne e integrazione di compressori per ottenere riduzioni sostanziali di area, potenza e ritardo (fino al 92%, 93% e 54% rispettivamente) mantenendo al contempo un'accuratezza delle CNN comparabile attraverso i formati FP32, TF32 e BF16.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nel mondo moderno, i nostri dispositivi digitali eseguono costantemente un numero enorme di calcoli per riconoscere volti nelle foto, tradurre lingue o navigare nel traffico. Al cuore di questi compiti risiede un tipo specifico di operazione matematica chiamata moltiplicazione, che è essenziale per l'elaborazione dei complessi modelli presenti nelle immagini e nei dati. Per decenni, gli ingegneri hanno costruito chip per computer per eseguire queste moltiplicazioni con estrema precisione, assicurando che ogni singolo dígito di un numero sia calcolato esattamente come farebbe su carta. Questo approccio garantisce l'accuratezza, ma ha un costo: i circuiti necessari per mantenere questa precisione perfetta sono grandi, consumano quantità significative di elettricità e generano calore. Man mano che il nostro bisogno di una computazione più veloce e potente cresce, i limiti fisici per rendere questi circuiti più piccoli vengono raggiunti, creando un collo di bottiglia per la tecnologia futura.
Una filosofia diversa è emersa per risolvere questo problema, una che accetta una piccola, controllata quantità di errore in cambio di enormi guadagni in velocità ed efficienza. Questo concetto, noto come calcolo approssimato (approximate computing), opera sull'idea che per molti compiti del mondo reale, come identificare un gatto in una fotografia o comprimere un file video, l'occhio e il cervello umano non possano rilevare le piccole differenze causate da una matematica leggermente imprecisa. Se un computer può saltare le parti più difficili di un calcolo, può finire il lavoro molto più velocemente consumando molta meno energia. La sfida per i ricercatori è stata capire esattamente quanta precisione può essere sacrificata senza rovinare il risultato finale, un gioco di equilibrio che richiede di navigare in un vasto panorama di possibili scelte di progettazione.
Un team di ricercatori ha affrontato questa sfida progettando un nuovo tipo di acceleratore hardware specificamente per questi compiti tolleranti all'errore. Si sono concentrati su una struttura chiamata array sistolico, che è essenzialmente una griglia di minuscole unità di elaborazione che si scambiano dati tra loro come un'onda, eseguendo moltiplicazioni di matrici in modo efficiente. I ricercatori si sono resi conto che la parte che consuma più energia di questa griglia è il moltiplicatore all'interno di ogni unità. Invece di costruire ogni moltiplicatore per essere perfetto, hanno sviluppato un metodo per creare moltiplicatori "imperfetti" che sono strategicamente difettosi. Progettando intenzionalmente l'eliminazione dei bit meno importanti di un numero durante il calcolo e utilizzando circuiti specializzati che introducono piccoli errori opposti, hanno creato un sistema in cui gli errori si annullano a vicenda. Ciò consente all'hardware di rimanere incredibilmente efficiente pur producendo risultati che sono sufficientemente accurati per l'uso pratico.
Per trovare il perfetto equilibrio tra velocità e accuratezza, i ricercatori non si sono affidati al caso. Hanno impiegato un potente algoritmo di ricerca che imita il processo dell'evoluzione naturale per esplorare milioni di possibili configurazioni di progettazione. Immaginate una vasta biblioteca contenente ogni concevibile modo per costruire questi moltiplicatori imperfetti; l'algoritmo ha testato sistematicamente le combinazioni, mantenendo i design che offrivano i migliori compromessi e scartando quelli troppo imprecisi o non abbastanza efficienti. Hanno testato questi design attraverso tre diversi formati standard per la gestione dei numeri, che vanno dall'alto formato di precisione utilizzato nell'informatica scientifica a formati più compatti progettati specificamente per l'intelligenza artificiale. L'obiettivo era vedere se potevano adattare il livello di imperfezione alle specifiche esigenze del compito richiesto.
I risultati di questa esplorazione sono stati sorprendenti. Quando i ricercatori hanno applicato i loro design ottimizzati e imperfetti ai compiti di elaborazione delle immagini, come la riduzione del rumore in una fotografia o la compressione di un'immagine per l'archiviazione, l'hardware è diventato significativamente più piccolo e veloce. In alcuni casi, i nuovi design hanno ridotto le dimensioni fisiche del chip fino al 92 percento e hanno tagliato il consumo di energia fino al 93 percento rispetto alle versioni tradizionali perfettamente precise. Sorprendentemente, questi enormi risparmi non sono arrivati a scapito della qualità visibile; le immagini prodotte dall'hardware approssimato erano virtualmente indistinguibili da quelle realizzate dall'hardware esatto, mantenendo un alto livello di fedeltà visiva.
Le scoperte sono state ancora più convincenti quando applicate ai modelli di intelligenza artificiale utilizzati per il riconoscimento di pattern. I ricercatori hanno testato i loro design su dataset standard contenenti migliaia di immagini di cifre scritte a mano, capi d'abbigliamento e oggetti quotidiani. In diverse occasioni, l'uso dei loro moltiplicatori approssimati ha effettivamente migliorato le prestazioni dell'intelligenza artificiale. Ad esempio, un modello addestrato a riconoscere capi d'abbigliamento ha raggiunto un tasso di accuratezza superiore utilizzando l'hardware imperfetto rispetto all'utilizzo dell'hardware perfetto. Questo risultato controintuitivo suggerisce che la piccola quantità di rumore introdotta dall'approssimazione potrebbe aiutare il computer a generalizzare meglio, similmente a come un cervello umano potrebbe ignorare dettagli minori per riconoscere un volto più rapidamente. Per il dataset più complesso testato, i migliori design approssimati hanno offerto risparmi hardware fino al 92 percento in termini di dimensioni e al 93 percento in termini di potenza, fornendo al contempo un'accuratezza di classificazione paragonabile o superiore ai metodi esatti.
Questo lavoro dimostra che la strada verso una computazione più efficiente non richiede sempre la costruzione di strumenti migliori e più precisi. Al contrario, può essere trovata comprendendo dove la precisione è veramente necessaria e dove può essere resa con sicurezza. Usando un processo di ricerca intelligente per progettare un hardware che sia "abbastanza buono" piuttosto che perfetto, i ricercatori hanno dimostrato che è possibile costruire chip per computer che siano drasticamente più piccoli, veloci e con un maggiore risparmio energetico. Questi design sono ora disponibili per altri ingegneri, offrendo un nuovo modo per costruire la prossima generazione di dispositivi in grado di gestire le crescenti richieste dell'intelligenza artificiale senza consumare eccessivamente le nostre risorse energetiche. Lo studio conferma che, nel mondo dell'informatica, a volte un po' di errore è esattamente ciò di cui c'è bisogno per far funzionare meglio il sistema.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.