Hardware-Accelerated AI per App Windows utilizzando ONNX RT

Hai bisogno di velocità? Prova l'AI basata su hardware per le tue app Windows con ONNX RT

Contenuto sponsorizzato

 

Di Rajan Mistry Sr., Ingegnere delle applicazioni con il Qualcomm Developer Network

Oggi non si può fare a meno di leggere i titoli dei media riguardanti l’IA e l’aumento della sofisticazione dei modelli di IA generativa come Stable Diffusion. Un ottimo esempio di un caso d’uso per l’IA generativa su Windows è Microsoft 365 Copilot. Questo assistente di intelligenza artificiale può svolgere compiti come l’analisi dei fogli di calcolo, la generazione di contenuti e l’organizzazione di riunioni.

E sebbene questa intelligenza possa sembrare magia, le sue capacità non accadono magicamente. Sono basate su una fondamenta di potenti modelli di apprendimento automatico che si sono evoluti rapidamente. Il fattore chiave per questi modelli sono i ricchi framework di modelli che consentono agli sviluppatori di apprendimento automatico di sperimentare e collaborare.

Uno di questi emergenti framework di apprendimento automatico è l’ONNX Runtime (ONNX RT). Il formato sottostante del framework open source ONNX consente agli sviluppatori di apprendimento automatico di scambiare modelli, mentre ONNX RT può eseguirli in diversi linguaggi (ad esempio, Python, C++, C#, ecc.) e piattaforme hardware.

La nostra Qualcomm AI Stack ora supporta ONNX RT e consente l’IA accelerata dall’hardware nelle app Windows su Snapdragon. Nel caso in cui non lo abbiate sentito, Windows su Snapdragon è la piattaforma Windows della prossima generazione, costruita su anni di evoluzione nel campo del calcolo mobile. Le sue caratteristiche principali includono il calcolo eterogeneo, una durata della batteria fino a un’intera giornata e il Qualcomm Hexagon NPU.

Diamo un’occhiata più da vicino a come puoi utilizzare il Qualcomm AI Stack con ONNX RT per l’IA accelerata dall’hardware nelle tue app Windows su Snapdragon.

 

Supporto ONNX Runtime nel Qualcomm AI Stack

 Il Qualcomm AI Stack, mostrato nella Figura 1 di seguito, fornisce gli strumenti e le runtime necessarie per sfruttare l’NPU sul campo:

 Figura 1: Il Qualcomm AI Stack fornisce componenti hardware e software per l’IA sul campo su tutte le piattaforme Snapdragon.

Al livello più alto dello stack ci sono i popolari framework di IA per generare modelli. Questi modelli possono poi essere eseguiti su diverse runtime di IA, inclusa ONNX RT. ONNX RT include un Execution Provider che utilizza il Qualcomm AI Engine Direct SDK per l’inferenza bare-metal su diversi core Snapdragon, inclusa la sua Hexagon NPU. La Figura 2 mostra una vista più dettagliata dei componenti del Qualcomm AI Stack:

 Figura 2: Panoramica del Qualcomm AI Stack, inclusi il supporto al framework di runtime e le librerie di backend.

 

Integrazione a livello di applicazione

 A livello di applicazione, gli sviluppatori possono compilare le loro applicazioni per ONNX runtime con il supporto per Qualcomm AI Engine Direct SDK. L’Execution Provider di ONNX RT costruisce un grafo a partire da un modello ONNX per l’esecuzione su una libreria di backend supportata. 

Gli sviluppatori possono utilizzare le API di ONNX runtime che forniscono un’interfaccia coerente su tutte le Execution Provider. È inoltre progettato per supportare vari linguaggi di programmazione come Python, C/C++/C#, Java e Node.js.

Offriamo due opzioni per generare i file binari di contesto. Un modo è utilizzare la toolchain Qualcomm AI Engine Direct. In alternativa, gli sviluppatori possono generare il binario utilizzando ONNX RT EP, che a sua volta utilizza le API Qualcomm AI Engine Direct. I file binari di contesto aiutano le applicazioni a ridurre il tempo di compilazione per le reti. Questi vengono creati quando l’app viene eseguita per la prima volta. Al successivo avvio, il modello viene caricato dal file binario di contesto in cache.

 

Iniziare

 Quando sei pronto per iniziare, visita la pagina del Qualcomm AI Engine Direct SDK dove puoi scaricare l’SDK e accedere alla documentazione.

I prodotti Snapdragon e Qualcomm sono prodotti di Qualcomm Technologies, Inc. e/o delle sue sussidiarie.