L'IA al limite non significa più un'IA sbalordita

Nodo di origine: 1579936

Un aspetto della saggezza diffusa sull’intelligenza artificiale è che tutta l’innovazione inizia nei grandi motori di apprendimento automatico/formazione nel cloud. Parte di questa innovazione potrebbe eventualmente migrare in forma ridotta/limitata verso l’edge. In parte ciò rifletteva la novità del campo. Forse riflette anche in parte la necessità di soluzioni preconfezionate adatte a molti per i widget IoT. Dove i designer volevano l'intelligenza nei loro prodotti ma non erano ancora pronti per diventare esperti di design ML. Ma ora questi designer stanno recuperando terreno. Leggono gli stessi comunicati stampa e le stesse ricerche che facciamo tutti noi, così come fanno i loro concorrenti. Vogliono trarre vantaggio dagli stessi progressi, pur rispettando i vincoli di potenza e di costo.

L'IA al limite non significa più un'IA sbalordita

Riconoscimento facciale

Differenziazione dell'intelligenza artificiale all'avanguardia

È tutta una questione di differenziazione entro un rapporto costo/potenza accettabile. È difficile ottenerlo da soluzioni preconfezionate. Dopotutto, i concorrenti hanno accesso alle stesse soluzioni. Ciò di cui hai veramente bisogno è una serie di opzioni di algoritmi modellate nel processore come acceleratori dedicati pronti per essere utilizzati, con la possibilità di sovrapporre il tuo valore aggiunto basato su software. Potresti pensare che non ci sia molto che puoi fare qui, al di fuori di un po' di amministrazione e messa a punto. I tempi sono cambiati. CEVA ha recentemente introdotto il processore AI integrato NeuPro-M che consente l'ottimizzazione utilizzando alcuni degli ultimi progressi ML, in profondità nella progettazione degli algoritmi.

OK, quindi maggiore controllo sull'algoritmo, ma a che scopo? Desideri ottimizzare le prestazioni per watt, ma la metrica standard – TOPS/W – è troppo approssimativa. Le applicazioni di imaging devono essere misurate in base ai fotogrammi al secondo (fps) per watt. Per le applicazioni di sicurezza, per la sicurezza automobilistica o per evitare collisioni con droni, i tempi di riconoscimento per fotogramma sono molto più rilevanti delle operazioni grezze al secondo. Quindi una piattaforma come NeuPro-M, che può fornire fino a migliaia di fps/W, in linea di principio gestirà velocità fps realistiche di 30-60 fotogrammi al secondo a una potenza molto bassa. Si tratta di un vero progresso rispetto alle tradizionali soluzioni IA preconfezionate.

Renderlo possibile

Gli algoritmi definitivi vengono creati selezionando le funzionalità di cui hai letto, a partire da un'ampia gamma di opzioni di quantizzazione. Lo stesso vale per la diversità del tipo di dati nell'attivazione e nei pesi in un intervallo di dimensioni di bit. L'unità moltiplicatrice neurale (NMU) supporta in modo ottimale più opzioni di larghezza di bit per l'attivazione e pesi come 8×2 o 16×4 e supporterà anche varianti come 8×10.

Il processore supporta le trasformazioni Winograd o convoluzioni efficienti, fornendo un guadagno di prestazioni fino a 2 volte superiore e una riduzione dei consumi con un limitato degrado della precisione. Aggiungi il motore di scarsità al modello per un'accelerazione fino a 4X a seconda della quantità di valori zero (in dati o pesi). In questo caso, l'unità moltiplicatrice neurale supporta anche una gamma di tipi di dati, fissi da 2×2 a 16×16 e virgola mobile (e Bfloat) da 16×16 a 32×32.

La logica di streaming fornisce opzioni per il dimensionamento, l'attivazione e il pooling a virgola fissa. Il processore vettoriale ti consente di aggiungere i tuoi livelli personalizzati al modello. "E allora, tutti lo supportano", potresti pensare, ma vedi sotto sul throughput. Sono inoltre disponibili una serie di funzionalità AI di prossima generazione, tra cui trasformatori di visione, convoluzione 3D, supporto RNN e decomposizione della matrice.

Numerose opzioni di algoritmi, tutte supportate da un'ottimizzazione di rete per la tua soluzione incorporata tramite il framework CDNN per sfruttare appieno la potenza dei tuoi algoritmi ML. CDNN è una combinazione di un compilatore di grafici per l'inferenza di rete e uno strumento aggiuntivo PyTorch dedicato. Questo strumento ridurrà il modello, supporterà facoltativamente la compressione del modello attraverso la decomposizione della matrice e aggiungerà una riqualificazione basata sulla quantizzazione.

Ottimizzazione del rendimento

Nella maggior parte dei sistemi di intelligenza artificiale, alcune di queste funzioni potrebbero essere gestite in motori specializzati, che richiedono lo scaricamento dei dati e il caricamento della trasformazione una volta completata. Si tratta di molta latenza aggiuntiva (e forse di compromessi in termini di potenza), che minano completamente le prestazioni del tuo modello altrimenti potente. NeuPro-M elimina questo problema collegandosi contro tutti i questi acceleratori direttamente a una cache L1 condivisa. Sostenendo una larghezza di banda molto più elevata rispetto a quella che troverai negli acceleratori convenzionali.

Come esempio lampante, l'unità di elaborazione vettoriale, tipicamente utilizzata per definire livelli personalizzati, si trova allo stesso livello degli altri acceleratori. I tuoi algoritmi implementati nella VPU beneficiano della stessa accelerazione del resto del modello. Ancora una volta, non è necessario scaricare e ricaricare per accelerare i livelli personalizzati. Inoltre, puoi avere fino a 8 di questi motori NPM (tutti gli acceleratori, più la cache NPM L1). NeuPro-M offre inoltre un livello significativo di ottimizzazione della larghezza di banda controllata dal software tra la cache L2 e le cache L1, ottimizzando la gestione dei frame e riducendo al minimo la necessità di accessi DDR.

Naturalmente NeuPro-M ridurrà al minimo anche il traffico di dati e di peso. Per i dati, gli acceleratori condividono la stessa cache L1. Un processore host può comunicare i dati direttamente con NeuPro-M L2, riducendo ancora una volta la necessità di trasferimenti DDR. NeuPro-M comprime e decomprime i pesi su chip nel trasferimento con memoria DDR. Può fare lo stesso con le attivazioni.

La prova è l'accelerazione fps/W

CEVA ha eseguito benchmark standard utilizzando una combinazione di algoritmi modellati negli acceleratori, da nativo a Winograd, a Winograd+Sparsity, a Winograd+Sparsity+4×4. Entrambi i benchmark hanno mostrato miglioramenti delle prestazioni fino a 3 volte, con una potenza (fps/W) di circa 5 volte per un ISP NN. La soluzione NeuPro-M ha fornito un'area più piccola, prestazioni 4X, 1/3 della potenza, rispetto alla generazione precedente NeuPro-S.

C'è una tendenza che vedo più in generale per ottenere il massimo in termini di prestazioni combinando più algoritmi. Questo è ciò che CEVA ha reso possibile con questa piattaforma. Puoi leggere di più QUI.

Condividi questo post tramite: Fonte: https://semiwiki.com/artificial-intelligence/306655-ai-at-the-edge-no-longer-means-dumbed-down-ai/

Timestamp:

Di più da Semiwiki