Una elaborazione
CasaCasa > Notizia > Una elaborazione

Una elaborazione

May 16, 2023

Rapporti scientifici volume 12, numero articolo: 14396 (2022) Citare questo articolo

3220 accessi

4 citazioni

5 Altmetrico

Dettagli sulle metriche

La richiesta di elaborare grandi quantità di dati generati da fotocamere all’avanguardia ad alta risoluzione ha motivato nuove soluzioni di intelligenza artificiale sui dispositivi ad alta efficienza energetica. I dati visivi in ​​tali telecamere vengono solitamente catturati in tensioni analogiche da una matrice di pixel del sensore e quindi convertiti nel dominio digitale per la successiva elaborazione AI utilizzando convertitori analogico-digitali (ADC). Ricerche recenti hanno cercato di trarre vantaggio dal calcolo analogico/digitale a basso consumo e massivamente parallelo sotto forma di elaborazione vicina e interna al sensore, in cui il calcolo dell'intelligenza artificiale viene eseguito in parte alla periferia della matrice di pixel e in parte in una posizione separata. CPU/acceleratore a scheda. Sfortunatamente, le immagini in ingresso ad alta risoluzione devono ancora essere trasmesse in streaming tra la fotocamera e l’unità di elaborazione AI, fotogramma per fotogramma, causando colli di bottiglia in termini di energia, larghezza di banda e sicurezza. Per mitigare questo problema, proponiamo un nuovo paradigma Processing-in-Pixel-in-memory (P2M), che personalizza l'array di pixel aggiungendo il supporto per multicanale analogico, convoluzione multi-bit, normalizzazione batch e unità lineari rettificate ( ReLU). La nostra soluzione include un approccio olistico di co-progettazione di circuiti e algoritmi e il paradigma P2M risultante può essere utilizzato come sostituto immediato per incorporare i primi strati ad alta intensità di memoria dei modelli di rete neurale convoluzionale (CNN) all'interno di piattaforme di sensori di immagine CMOS fabbricabili in fonderia . I nostri risultati sperimentali indicano che P2M riduce la larghezza di banda di trasferimento dati dai sensori e le conversioni da analogico a digitale di \({\sim }\,21\times\) e il prodotto di ritardo energetico (EDP) sostenuto nell'elaborazione di un modello MobileNetV2 su un TinyML caso d'uso per il set di dati di parole di scia visiva (VWW) fino a \(\mathord {\sim }\,11\times\) rispetto alle implementazioni standard di quasi elaborazione o in-sensor, senza alcun calo significativo nell'accuratezza del test.

Le diffuse applicazioni odierne della visione artificiale, che spaziano dalla sorveglianza1, alla gestione dei disastri2, alle fototrappole per il monitoraggio della fauna selvatica3, alla guida autonoma, agli smartphone, ecc., sono alimentate dai notevoli progressi tecnologici nelle piattaforme di rilevamento delle immagini4 e dal campo in continua evoluzione degli algoritmi di deep learning5. Tuttavia, le implementazioni hardware delle piattaforme di rilevamento e di elaborazione visiva sono state tradizionalmente fisicamente separate. Ad esempio, le attuali piattaforme di sensori di visione basate sulla tecnologia CMOS agiscono come entità di trasduzione che convertono le intensità della luce incidente in valori di pixel digitalizzati, attraverso una serie bidimensionale di fotodiodi6. I dati visivi generati da tali sensori di immagine CMOS (CIS) vengono spesso elaborati altrove in un ambiente cloud costituito da CPU e GPU7. Questa segregazione fisica porta a colli di bottiglia in termini di throughput, larghezza di banda ed efficienza energetica per le applicazioni che richiedono il trasferimento di grandi quantità di dati dal sensore di immagine al processore back-end, come il rilevamento e il tracciamento di oggetti da immagini/video ad alta risoluzione.

Per affrontare questi colli di bottiglia, molti ricercatori stanno cercando di avvicinare l'elaborazione intelligente dei dati alla fonte dei dati visivi, cioè più vicino al CIS, adottando uno dei tre approcci generali: elaborazione vicino al sensore8,9, elaborazione in-sensor10 e elaborazione in-pixel11,12,13. L'elaborazione del sensore vicino mira a incorporare un chip acceleratore di apprendimento automatico dedicato sullo stesso circuito stampato8, o anche impilato in 3D con il chip CIS9. Sebbene ciò consenta l’elaborazione dei dati CIS più vicino al sensore piuttosto che nel cloud, soffre comunque dei costi di trasferimento dei dati tra il CIS e il chip di elaborazione. D'altro canto, le soluzioni di elaborazione interna al sensore10 integrano circuiti digitali o analogici all'interno della periferia del chip del sensore CIS, riducendo il trasferimento di dati tra il sensore CIS e i chip di elaborazione. Tuttavia, questi approcci spesso richiedono ancora che i dati vengano trasmessi (o letti in parallelo) attraverso un bus dagli array di fotodiodi CIS ai circuiti di elaborazione periferici10. Al contrario, le soluzioni di elaborazione in-pixel, come 11,12,13,14,15, mirano a incorporare capacità di elaborazione all'interno dei singoli pixel CIS. Gli sforzi iniziali si sono concentrati sul funzionamento della convoluzione analogica in-pixel14,15 ma molti11,14,15,16 richiedono l'uso di memorie non volatili emergenti o materiali 2D. Sfortunatamente, queste tecnologie non sono ancora mature e quindi non adatte all’attuale produzione di fonderia della CIS. Inoltre, questi lavori non riescono a supportare operazioni di convoluzione multi-bit e multicanale, normalizzazione batch (BN) e unità lineari rettificate (ReLU) necessarie per la maggior parte delle applicazioni pratiche di deep learning. Inoltre, i lavori che prendono di mira l'hardware in-pixel basato su CMOS digitale, organizzato come array di processori SIMD (Pixel-parallel Single Instruction Multiple Data)12, non supportano l'operazione di convoluzione e sono quindi limitati a carichi di lavoro giocattolo, come il riconoscimento delle cifre. Molti di questi lavori si basano sull'elaborazione digitale che in genere produce livelli di parallelismo inferiori rispetto alle alternative analogiche in pixel. Al contrario, il lavoro in 13 sfrutta il calcolo analogico parallelo in-pixel, in cui i pesi di una rete neurale sono rappresentati come tempo di esposizione dei singoli pixel. Il loro approccio richiede che i pesi siano resi disponibili per manipolare il tempo di esposizione dei pixel attraverso impulsi di controllo, portando a un collo di bottiglia nel trasferimento dei dati tra le memorie del peso e l'array di sensori. Pertanto, una soluzione di elaborazione CIS in situ in cui sia i pesi che le attivazioni di input sono disponibili all'interno dei singoli pixel che implementa in modo efficiente operazioni critiche di deep learning come operazioni multi-bit, convoluzione multicanale, BN e ReLU è rimasta sfuggente. Inoltre, tutte le soluzioni di elaborazione in-pixel esistenti hanno set di dati mirati che non rappresentano applicazioni realistiche dell’intelligenza artificiale mappate su CIS all’avanguardia. Nello specifico, la maggior parte dei lavori esistenti si concentra su set di dati semplicistici come MNIST12, mentre pochi13 utilizzano il set di dati CIFAR-10 che ha immagini di input con una risoluzione significativamente bassa (\(32\times 32\)), che non rappresenta immagini catturate da CIS all'avanguardia ad alta risoluzione.