Recherche de site Web

IA à accélération matérielle pour les applications Windows utilisant ONNX RT


Par Rajan Mistry Sr. Ingénieur d'applications chez Qualcomm Developer Network

Aujourd’hui, on ne peut s’empêcher de lire les gros titres des médias sur l’IA et la sophistication croissante des modèles d’IA génératifs comme Stable Diffusion. Un excellent exemple de cas d’utilisation de l’IA générative sur Windows est Microsoft 365 Copilot. Cet assistant IA peut effectuer des tâches telles que l'analyse de vos feuilles de calcul, la génération de contenu et l'organisation de vos réunions.

Et même si une telle intelligence peut sembler magique, ses capacités ne se produisent pas par magie. Ils reposent sur de puissants modèles de ML qui ont évolué rapidement. Le principal catalyseur de ces modèles réside dans les cadres de modèles riches qui permettent aux développeurs de ML d'expérimenter et de collaborer.

L'un de ces frameworks ML émergents est ONNX Runtime (ONNX RT). Le format ONNX sous-jacent du framework open source permet aux développeurs de ML d'échanger des modèles, tandis qu'ONNX RT peut les exécuter à partir de divers langages (par exemple, Python, C++, C#, etc.) et plateformes matérielles.

Notre Qualcomm AI Stack prend désormais en charge ONNX RT et permet une IA accélérée par le matériel dans les applications Windows sur Snapdragon. Au cas où vous ne l'auriez pas entendu, Windows sur Snapdragon est la plate-forme Windows de nouvelle génération, construite sur des années d'évolution dans le domaine de l'informatique mobile. Ses principales fonctionnalités incluent un calcul hétérogène, une autonomie allant jusqu'à une journée et le NPU Qualcomm Hexagon.

Examinons de plus près comment vous pouvez utiliser la pile Qualcomm AI avec ONNX RT pour une IA sans système d'exploitation et accélérée par le matériel dans vos applications Windows sur Snapdragon.

Prise en charge du runtime ONNX dans la pile Qualcomm AI

La pile Qualcomm AI, illustrée dans la figure 1 ci-dessous, fournit les outils et les environnements d'exécution nécessaires pour tirer parti du NPU à la périphérie :

Au plus haut niveau de la pile se trouvent les frameworks d’IA populaires pour générer des modèles. Ces modèles peuvent ensuite être exécutés sur différents environnements d'exécution d'IA, notamment ONNX RT. ONNX RT inclut un fournisseur d'exécution qui utilise l'inférence Qualcomm AI Engine Direct SDK bare-metal sur divers cœurs Snapdragon, y compris son NPU Hexagon. La figure 2 montre une vue plus détaillée des composants Qualcomm AI Stack :

Intégration au niveau de l'application

Au niveau des applications, les développeurs peuvent compiler leurs applications pour le runtime ONNX construit avec la prise en charge du SDK Qualcomm AI Engine Direct. Le fournisseur d'exécution d'ONNX RT construit un graphique à partir d'un modèle ONNX pour une exécution sur une bibliothèque backend prise en charge.

Les développeurs peuvent utiliser les API d'exécution ONNX qui fournissent une interface cohérente entre tous les fournisseurs d'exécution. Il est également conçu pour prendre en charge divers langages de programmation tels que Python, C/C++/C#, Java et Node.js.

Nous proposons deux options pour générer des binaires de contexte. Une solution consiste à utiliser la chaîne d’outils Qualcomm AI Engine Direct. Alternativement, les développeurs peuvent générer le binaire à l’aide d’ONNX RT EP, qui à son tour utilise les API Qualcomm AI Engine Direct. Les fichiers binaires contextuels aident les applications à réduire le temps de compilation des réseaux. Ceux-ci sont créés lorsque l’application s’exécute pour la première fois. Lors des exécutions suivantes, le modèle se charge à partir du fichier binaire de contexte mis en cache.

Commencer

Lorsque vous êtes prêt à commencer, visitez la page Qualcomm AI Engine Direct SDK où vous pouvez télécharger le SDK et accéder à la documentation.

Les produits de marque Snapdragon et Qualcomm sont des produits de Qualcomm Technologies, Inc. et/ou de ses filiales.

Articles connexes