Il DSP Hexagon 685 di Qualcomm è un concentrato di machine learning

click fraud protection

Lo Snapdragon 845 di Qualcomm racchiude al suo interno un potente chip di apprendimento automatico. Si chiama Hexagon 685 DSP ed è un importante passo avanti nell'hardware AI.

Lo Snapdragon 845, il più recente system-on-chip della famiglia Snapdragon di Qualcomm, è un potente processore. Vanta core CPU veloci, un processore di segnale immagine (ISP) Spectra di terza generazione e un'architettura più efficiente dal punto di vista energetico del 30% rispetto alla generazione precedente. Ma probabilmente il suo componente più impressionante è un coprocessore – il DSP Hexagon 685 – fatto su misura per l’intelligenza artificiale e l’apprendimento automatico.

Cosa rende speciale il DSP Hexagon 685 di Qualcomm?

L'architettura Hexagon DSP nello Snapdragon 835. Fonte: Qualcomm

"La matematica vettoriale è il fondamento del deep learning." - Travis Lanier, Direttore senior della gestione del prodotto presso Qualcomm

Per capire cosa rende Hexagon DSP così unico, è utile sapere che l'intelligenza artificiale è guidata dal tipo di competenze che gli studenti di ingegneria universitaria di matematica conoscono intimamente. L’apprendimento automatico prevede il calcolo con vettori di grandi dimensioni, il che rappresenta una sfida per i processori di smartphone, tablet e PC. È difficile per i chip generici calcolare algoritmi come la discesa del gradiente stocastico – il tipo di algoritmi che sono alla base delle app basate sull’intelligenza artificiale – in modo rapido ed efficiente. Il DSP Hexagon di Qualcomm è stato introdotto in parte per risolvere questo problema: è ottimo nel gestire i dati di immagini e sensori, in particolare la fotografia.

Ma il DSP Hexagon è capace di molto di più che abbellire i selfie. I contesti HVX inclusi (ne parleremo più avanti) gli conferiscono il vantaggio sia dei processori generici che dei core a funzione fissa; il DSP Hexagon 685 è straordinariamente efficiente nel calcolare i calcoli dietro l'apprendimento automatico sul dispositivo, pur mantenendo la flessibilità dei processori più programmabili.

Chip AI come l'Hexagon 685 DSP, a volte definiti "unità di elaborazione neurale", I “motori neurali”, o “nuclei di apprendimento automatico”, sono adattati specificamente alla matematica degli algoritmi di intelligenza artificiale esigenze. Hanno un design molto più rigido rispetto alle CPU tradizionali e contengono istruzioni e disposizioni speciali (nel caso del DSP Hexagon 685, la già citata architettura HVX) che accelerano alcune operazioni scalari e vettoriali, che diventano evidenti su larga scala implementazioni.

Il DSP Hexagon 685 dello Snapdragon 845 è in grado di gestire migliaia di bit di unità vettoriali per ciclo di elaborazione, rispetto alle centinaia di bit per ciclo del core medio della CPU. Questo è previsto dalla progettazione. Con quattro thread scalari paralleli per operazioni VLIW (Very Long Instruction Word) e più contesti HVX, il DSP è in grado di destreggiarsi tra più unità di esecuzione su una singola istruzione e di sfrecciare attraverso numeri interi e decimali a virgola fissa operazioni.

Piuttosto che spingere le prestazioni attraverso i MHz grezzi, il design dell'Hexagon 685 mira a livelli elevati di lavoro per ciclo con una velocità di clock ridotta. Include il multithreading hardware che funziona bene per VLIW, poiché il multithreading nasconde le latenze della pipeline consentendo un migliore utilizzo dei pacchetti VLIW. Il multi-threading del DSP significa che può servire più sessioni di offload, ovvero app simultanee per audio, fotocamera, visione artificiale e così via - e accelerare varie attività contemporaneamente, evitando che le applicazioni debbano lottare per ottenerle tempo di esecuzione.

Fonte: Qualcomm

Ma questi non sono gli unici punti di forza dell’Hexagon DSP. La sua architettura del set di istruzioni (ISA) vanta una migliore efficienza rispetto al tradizionale VLIW grazie a codice di controllo migliorato e utilizza trucchi intelligenti per ripristinare le prestazioni dallo stato di inattività e di stallo discussioni. Implementa inoltre la pianificazione dei thread round-robin a latenza zero, il che significa che i thread del DSP elaborano le nuove istruzioni immediatamente dopo aver completato il pacchetto di dati precedente.

Fonte: Qualcomm

Niente di tutto questo è nuovo, sia chiaro. Qualcomm ha introdotto il DSP Hexagon di “prima generazione” (o vero e proprio) – Hexagon 680, o QDSP6 v6 – insieme allo Snapdragon 820 nel 2015, e l'Hexagon 680 è stato seguito dal sempre leggermente migliorato Esagono 682. Ma l'ultima generazione è quella più sofisticata finora e offre fino a tre volte le prestazioni complessive del DSP dello Snapdragon 835.

Ciò è dovuto in gran parte all’HVX, che ha funzionato molto bene per l’elaborazione delle immagini (si pensi alla realtà aumentata, alla visione artificiale, ai video e alle immagini). I registri HVX del DSP possono essere controllati da due qualsiasi dei registri scalari e le unità HVX e le unità scalari possono essere utilizzate simultaneamente, con conseguenti miglioramenti sostanziali delle prestazioni e della concorrenza.

Ecco La spiegazione di Qualcomm:

"Supponiamo che tu stia elaborando sulla CPU mobile in modalità codice di controllo e passi alla modalità computazionale sul coprocessore. Se hai bisogno di un codice di controllo, devi fermarti e tornare dal coprocessore alla CPU principale. Con Hexagon, sia il processore del codice di controllo sul DSP che il processore del codice di calcolo sull'HVX possono funzionare contemporaneamente per uno stretto accoppiamento tra controllo e codice di calcolo. Ciò consente al DSP di prendere il risultato di un calcolo HVX e di utilizzarlo in una decisione sul codice di controllo nel successivo ciclo di clock.

L'HVX offre un altro grande vantaggio nell'elaborazione del sensore di immagine. I dispositivi Snapdragon con DSP Hexagon 685 possono trasmettere i dati direttamente dal sensore di immagine alla memoria locale del DSP (L2 Cache), bypassando il controller di memoria DDR del dispositivo. Ciò riduce ovviamente la latenza, ma migliora anche la durata della batteria: il processore Snapdragon è progettato per rimanere inattivo durante l'operazione.

È specificamente ottimizzato per reti in virgola mobile a 16 bit e controllato dal software di apprendimento automatico di Qualcomm: Snapdragon Neural Processing Engine.

"L'abbiamo preso molto sul serio", ha detto un portavoce di Qualcomm. "Abbiamo lavorato con i partner negli ultimi tre anni per convincerli a utilizzare [...] il nostro silicio per l'intelligenza artificiale e l'imaging."

Questi partner includono Google, che ha utilizzato la parte di elaborazione delle immagini di Hexagon DSP per alimentare l'algoritmo HDR+ di Pixel e Pixel 2, ad esempio. Anche se Google ha introdotto anche il proprio Pixel Core, vale la pena notare che i dispositivi abilitati DSP Hexagon 685 sono i migliori quelli che vedono i migliori risultati con il famoso porting di Google Camera, anche grazie (come abbiamo confermato) di HVX utilizzo. Facebook, un altro partner, ha lavorato a stretto contatto con Qualcomm per accelerare i filtri e gli effetti della fotocamera in tempo reale di Messenger.

Oppo ha ottimizzato la sua tecnologia di sblocco facciale per il DSP Hexagon 685 e Lenovo ha sviluppato attorno ad essa la sua funzione Landmark Detection.

Uno dei motivi della ricchezza di supporto della piattaforma è la sua semplicità. L'ampio SDK Hexagon di Qualcomm supporta il linguaggio Halide per l'elaborazione delle immagini ad alte prestazioni e non è necessario preoccuparsi dei framework di formazione sull'apprendimento automatico: l'implementazione di un modello è semplice come effettuare una chiamata API, nella maggior parte dei casi casi.

"Non siamo [...] in competizione con aziende del calibro di IBM e Nvidia [nell'intelligenza artificiale], ma abbiamo aree in cui gli sviluppatori possono attingere - e lo hanno già fatto", ha detto Qualcomm a XDA Developers.

Esagono vs. la competizione

Il DSP Hexagon 685 di Snapdragon 845 nasce in un momento in cui un numero crescente di produttori di apparecchiature originali (OEM) persegue le proprie soluzioni AI mobili e su dispositivo. Quello di Huawei Kirin 970 - il system-on-chip all'interno del Compagno 10 E Compagno 10 Pro - ha una "unità di elaborazione neurale" (NPU) in grado di riconoscere più di 2.000 immagini al secondo con solo 1/50 del consumo energetico di una CPU media per smartphone. E il system-on-chip Apple A11 Bionic presente su iPhone 8, iPhone 8 Plus e iPhone X ha un “Neural Engine” che esegue la modellazione facciale in tempo reale e fino a 600 miliardi di operazioni al secondo.

Ma Qualcomm afferma che l’agnosticismo della piattaforma Hexagon gli conferisce un vantaggio. A differenza di Apple e Huawei, che costringono in gran parte gli sviluppatori a utilizzare API proprietarie, Qualcomm ha cercato di supportare alcuni dei framework open source più popolari fin dall'inizio. Ad esempio, ha collaborato con Google per l'ottimizzazione TensorFlow, la piattaforma di machine learning di Google, per il DSP Hexagon 685: Qualcomm afferma che funziona fino a otto volte più velocemente e 25 volte in modo più efficiente dal punto di vista energetico rispetto ai dispositivi non Hexagon.

Fonte: Qualcomm

Sull'architettura DSP di Qualcomm, quella di Google Rete neurale profonda di GoogLeNet - un algoritmo di apprendimento automatico progettato per valutare la qualità dei sistemi di rilevamento e classificazione degli oggetti - ha dimostrato i vantaggi in una dimostrazione un'app di riconoscimento delle immagini basata su TensorFlow su due smartphone: uno che esegue l'app sulla CPU e l'altro che la esegue su Hexagon di Qualcomm DSP. L'app per smartphone con accelerazione DSP ha catturato più immagini al secondo, identificato gli oggetti più velocemente e aveva una maggiore fiducia nella conclusione su cosa fosse l'oggetto rispetto all'app basata solo sulla CPU.

Google utilizza anche il DSP Hexagon 685 per accelerare Project Tango, la sua piattaforma di realtà aumentata per smartphone. Phab 2 Pro di Lenovo, ZenFone AR di Asus e altri dispositivi con il modulo IR di rilevamento della profondità di Tango e le fotocamere di tracciamento delle immagini sfruttano i vantaggi di Qualcomm Architettura di elaborazione eterogenea, che delega le attività di elaborazione al DSP Hexagon 685 del chipset Snapdragon, all'hub del sensore e al segnale dell'immagine processore (ISP). Il risultato è un sovraccarico “meno del 10%” sulla CPU del sistema su chip, secondo Qualcomm.

"Per quanto ne sappiamo, siamo gli unici operatori mobili là fuori che [stanno] ottimizzando le prestazioni e l'efficienza energetica", ha affermato un portavoce di Qualcomm.

Naturalmente, anche i concorrenti stanno lavorando per espandere la propria sfera di influenza e promuovere il supporto degli sviluppatori sulle loro piattaforme. Il chip neurale del Kirin 970 è stato lanciato con il supporto per TensorFlow e Caffè (il framework API aperto di Facebook) oltre alle API Kirin di Huawei, con TensorFlow Lite E Caffè2 integrazione in arrivo entro la fine dell’anno. E Huawei ha collaborato con Microsoft per ottimizzare il suo traduttore basato sull'intelligenza artificiale per Mate 10.

Ma Qualcomm ha un altro vantaggio: Reach. Secondo Strategy Analytics, nella prima metà del 2017 il produttore di chip controllava il 42% del mercato dei chip per smartphone, seguito da Apple e MediaTek con il 18% ciascuno. Basti dire che non trema ancora nei suoi stivali.

E Qualcomm prevede che non potrà che crescere. Il produttore di chip prevede entrate per 160 miliardi di dollari entro il 2025 con tecnologie software di intelligenza artificiale come la visione artificiale e vede il mercato degli smartphone – che dovrebbe raggiungere gli 8,6 miliardi di unità spedite entro il 2021 – come il più grande piattaforma.

Con il DSP Hexagon 685 e altri miglioramenti “terziari” che si fanno continuamente strada verso la fascia media hardware, è anche più semplice per i chip Qualcomm portare l'apprendimento automatico sul dispositivo a tutti i tipi di dispositivi nelle vicinanze futuro. Offrono anche un pratico SDK per gli sviluppatori (non è necessario giocare con il linguaggio assembly DSP) per sfruttare Hexagon 685 DSP e HVX nelle loro applicazioni e servizi.

"C'è bisogno di queste unità di elaborazione dedicate per l'elaborazione neurale, ma è anche necessario espanderle, in modo da poter supportare i framework [open source]", ha detto un portavoce di Qualcomm. "Se non crei quell'ecosistema, non c'è modo [...] che gli sviluppatori possano crearlo."