Le DSP Hexagon 685 de Qualcomm est une centrale d'apprentissage automatique

Le Snapdragon 845 de Qualcomm contient une puissante puce d'apprentissage automatique. Il s’appelle Hexagon 685 DSP et constitue une avancée majeure dans le matériel d’IA.

Le Snapdragon 845 – le dernier système sur puce de la famille Snapdragon de Qualcomm – est un processeur puissant. Il dispose de cœurs de processeur rapides, d’un processeur de signal d’image (ISP) Spectra de troisième génération et d’une architecture 30 % plus économe en énergie que la génération précédente. Mais son composant le plus impressionnant est sans doute un coprocesseur – l’Hexagon 685 DSP – conçu sur mesure pour l’intelligence artificielle et l’apprentissage automatique.

Qu’est-ce qui motive le DSP Hexagon 685 de Qualcomm ?

L'architecture Hexagon DSP dans le Snapdragon 835. Source: Qualcomm

"Les mathématiques vectorielles sont le fondement de l'apprentissage profond." - Travis Lanier, directeur principal de la gestion des produits chez Qualcomm

Pour comprendre ce qui rend le DSP Hexagon si unique, il est utile de savoir que l’IA est pilotée par le type de disciplines que les étudiants en ingénierie des écoles de mathématiques connaissent intimement. L'apprentissage automatique implique un calcul avec de grands vecteurs, ce qui pose un défi pour les processeurs des smartphones, des tablettes et des PC. Il est difficile pour les puces à usage général de calculer rapidement et efficacement des algorithmes tels que la descente de gradient stochastique – le type d’algorithmes qui sont au cœur des applications basées sur l’IA. Le DSP Hexagon de Qualcomm a été introduit en partie pour résoudre ce problème: il est excellent pour gérer les données d'image et de capteur, en particulier la photographie.

Mais l’Hexagon DSP est capable de bien plus que d’améliorer les selfies. Les contextes HVX inclus (nous y reviendrons plus tard) lui confèrent l'avantage à la fois des processeurs à usage général et des cœurs à fonction fixe; le Hexagon 685 DSP est terriblement efficace pour calculer les mathématiques derrière l'apprentissage automatique sur l'appareil, tout en conservant la flexibilité des processeurs plus programmables.

Des puces d'IA comme l'Hexagon 685 DSP, parfois appelées « unités de traitement neuronal », Les « moteurs neuronaux », ou « cœurs d’apprentissage automatique », sont spécifiquement adaptés aux besoins mathématiques des algorithmes d’IA. besoins. Ils sont beaucoup plus rigides dans leur conception que les processeurs traditionnels et contiennent des instructions et des arrangements spéciaux (dans le cas de l'Hexagon 685 DSP, l'architecture HVX susmentionnée) qui accélèrent certaines opérations scalaires et vectorielles, qui deviennent perceptibles dans les opérations à grande échelle. mises en œuvre.

Le DSP Hexagon 685 du Snapdragon 845 peut gérer des milliers de bits d’unités vectorielles par cycle de traitement, par rapport aux centaines de bits par cycle d’un cœur de processeur moyen. C'est intentionnel. Avec quatre threads scalaires parallèles pour les opérations VLIW (Very Long Instruction Word) et plusieurs contextes HVX, le DSP est capable de jongler avec plusieurs unités d'exécution sur une seule instruction et de parcourir des nombres décimaux entiers et à virgule fixe opérations.

Plutôt que de pousser les performances jusqu'au MHz brut, la conception de l'Hexagon 685 vise des niveaux élevés de travail par cycle à une vitesse d'horloge réduite. Il inclut le multithreading matériel qui fonctionne bien pour VLIW, car le multithread masque les latences du pipeline permettant une meilleure utilisation des paquets VLIW. Le multithreading du DSP signifie qu'il peut gérer plusieurs sessions de déchargement, c'est-à-dire des applications simultanées pour l'audio, la caméra, vision par ordinateur, etc. - et accélère simultanément diverses tâches, évitant ainsi aux applications d'avoir à se battre pour temps d'exécution.

Source: Qualcomm

Mais ce ne sont pas les seuls atouts du Hexagon DSP. Son architecture de jeu d'instructions (ISA) offre une efficacité améliorée par rapport au VLIW traditionnel grâce à code de contrôle amélioré et utilise des astuces intelligentes pour récupérer les performances au ralenti et au point mort fils. Il implémente également une planification de threads à tour de rôle sans latence, ce qui signifie que les threads du DSP traitent les nouvelles instructions immédiatement après avoir terminé le paquet de données précédent.

Source: Qualcomm

Rien de tout cela n’est nouveau, pour être clair. Qualcomm a présenté le DSP Hexagon « de première génération » (ou proprement dit) – l'Hexagon 680, ou QDSP6 v6 – aux côtés du Snapdragon 820 en 2015, et l'Hexagon 680 a été suivi par le toujours légèrement amélioré Hexagone 682. Mais la dernière génération est la plus sophistiquée à ce jour et offre des performances globales jusqu'à trois fois supérieures à celles du DSP du Snapdragon 835.

C’est en grande partie grâce au HVX, qui a très bien fonctionné pour le traitement d’images (pensez à la réalité augmentée, à la vision par ordinateur, à la vidéo et aux images). Les registres HVX du DSP peuvent être contrôlés par deux registres scalaires quelconques, et les unités HVX et les unités scalaires peuvent être utilisées simultanément, ce qui entraîne des gains de performances et une concurrence substantiels.

Voici L'explication de Qualcomm:

« Disons que vous effectuez un traitement sur le processeur mobile en mode code de contrôle et que vous passez en mode calcul sur le coprocesseur. Si vous avez besoin d'un code de contrôle, vous devez vous arrêter et revenir du coprocesseur au processeur principal. Avec Hexagon, le processeur de code de contrôle sur le DSP et le processeur de code de calcul sur HVX peuvent fonctionner en même temps pour un couplage étroit du code de contrôle et du code de calcul. Cela permet au DSP de prendre le résultat d’un calcul HVX et de l’utiliser dans une décision de code de contrôle au cours du prochain cycle d’horloge.

Le HVX offre un autre avantage majeur dans le traitement du capteur d'image. Les appareils Snapdragon équipés du DSP Hexagon 685 peuvent diffuser des données directement du capteur d'imagerie vers la mémoire locale du DSP (cache L2), en contournant le contrôleur de mémoire DDR de l'appareil. Cela réduit bien sûr la latence, mais améliore également la durée de vie de la batterie: le processeur Snapdragon est conçu pour rester inactif pendant toute l'opération.

Il est spécifiquement optimisé pour les réseaux à virgule flottante 16 bits et contrôlé par le logiciel d'apprentissage automatique de Qualcomm: Snapdragon Neural Processing Engine.

"Nous l'avons [pris] très au sérieux", a déclaré un porte-parole de Qualcomm. "Nous travaillons avec des partenaires depuis trois ans pour qu'ils utilisent [...] notre silicium pour l'IA et l'imagerie."

Ces partenaires incluent Google, qui a utilisé la partie traitement d’image de l’Hexagon DSP pour alimenter l’algorithme HDR+ du Pixel et du Pixel 2, par exemple. Bien que Google ait également introduit son propre Pixel Core, il convient de noter que les appareils compatibles Hexagon 685 DSP sont les plus performants. ceux qui obtiennent les meilleurs résultats avec le célèbre port Google Camera, en partie à cause (comme nous l'avons confirmé) de HVX utilisation. Facebook, un autre partenaire, a travaillé en étroite collaboration avec Qualcomm pour accélérer les filtres et effets de caméra en temps réel de Messenger.

Oppo a optimisé sa technologie de déverrouillage du visage pour l'Hexagon 685 DSP, et Lenovo a développé sa fonction de détection de repère autour d'elle.

L’une des raisons de la richesse du support de la plateforme est sa simplicité. Le SDK Hexagon étendu de Qualcomm prend en charge le langage Halide pour un traitement d'image haute performance, et il n'est pas nécessaire se soucier des cadres de formation en apprentissage automatique: la mise en œuvre d'un modèle est aussi simple que de passer un appel API, dans la plupart des cas. cas.

"Nous ne sommes pas [...] en concurrence avec IBM et Nvidia [en IA], mais nous avons des domaines dans lesquels les développeurs peuvent exploiter - et l'ont déjà fait", a déclaré Qualcomm à XDA Developers.

Hexagone contre la compétition

Le DSP Hexagon 685 du Snapdragon 845 intervient alors qu’un nombre croissant de fabricants d’équipement d’origine (OEM) recherchent leurs propres solutions d’IA mobiles et sur appareil. celui de Huawei Kirin 970 -- le système sur puce à l'intérieur du Mate 10 et Mate 10 Pro -- dispose d'une « unité de traitement neuronal » (NPU) qui serait capable de reconnaître plus de 2 000 images par seconde pour seulement 1/50ème de la consommation d'énergie d'un processeur de smartphone moyen. Et le système sur puce Apple A11 Bionic de l’iPhone 8, de l’iPhone 8 Plus et de l’iPhone X dispose d’un « moteur neuronal » qui effectue une modélisation faciale en temps réel et jusqu’à 600 milliards d’opérations par seconde.

Mais Qualcomm affirme que l’agnosticisme de l’Hexagone en matière de plate-forme lui confère un avantage. Contrairement à Apple et Huawei, qui obligent largement les développeurs à utiliser des API propriétaires, Qualcomm a cherché dès le départ à prendre en charge certains des frameworks open source les plus populaires. Par exemple, il a travaillé avec Google pour optimiser TensorFlow, la plate-forme d'apprentissage automatique de Google, pour le DSP Hexagon 685 - Qualcomm affirme qu'elle fonctionne jusqu'à huit fois plus rapidement et 25 fois plus économe en énergie que sur les appareils non-Hexagon.

Source: Qualcomm

Sur l'architecture DSP de Qualcomm, celle de Google Réseau neuronal profond de création de GoogLeNet -- un algorithme d'apprentissage automatique conçu pour évaluer la qualité des systèmes de détection et de classification d'objets -- gains démontrés dans une démonstration montrant une application de reconnaissance d'image basée sur TensorFlow sur deux smartphones: l'une qui exécute l'application sur le processeur et l'autre qui l'exécute sur l'Hexagone de Qualcomm DSP. L'application pour smartphone accélérée par DSP a capturé plus d'images par seconde, identifié les objets plus rapidement et avait une plus grande confiance dans ses conclusions sur l'objet que l'application uniquement CPU.

Google utilise également le DSP Hexagon 685 pour accélérer le Projet Tango, sa plateforme de réalité augmentée pour smartphones. Le Phab 2 Pro de Lenovo, le ZenFone AR d'Asus et d'autres appareils dotés du module IR de détection de profondeur et des caméras de suivi d'image de Tango profitent des avantages de Qualcomm. Architecture de traitement hétérogène, qui délègue les tâches de traitement entre le DSP Hexagon 685 du chipset Snapdragon, le hub de capteur et le signal d'image processeur (FAI). Le résultat est une surcharge « inférieure à 10 % » sur le processeur du système sur puce, selon Qualcomm.

"Pour autant que nous le sachions, nous sommes les seuls acteurs mobiles à optimiser les performances et l'efficacité énergétique", a déclaré un porte-parole de Qualcomm.

Bien entendu, les concurrents s’efforcent également d’élargir leur sphère d’influence et de favoriser le soutien des développeurs sur leurs plateformes. Lancement de la puce neuronale du Kirin 970 avec prise en charge de TensorFlow et Café (le framework API ouvert de Facebook) en plus des API Kirin de Huawei, avec TensorFlow Lite et Café2 l'intégration en cours plus tard cette année. Et Huawei a travaillé avec Microsoft pour optimiser son traducteur basé sur l'IA pour le Mate 10.

Mais Qualcomm a un autre avantage: Reach. Le fabricant de puces contrôlait 42 % du marché des puces pour smartphones au premier semestre 2017, suivi par Apple et MediaTek avec 18 % chacun, selon Strategy Analytics. Autant dire qu’il ne tremble pas encore dans ses bottes.

Et Qualcomm prédit que cela ne fera que croître. Le fabricant de puces prévoit un chiffre d'affaires de 160 milliards de dollars d'ici 2025 grâce aux technologies logicielles d'IA telles que la vision par ordinateur, et considère le marché des smartphones – qui devrait atteindre 8,6 milliards d'unités expédiées d'ici 2021 – comme le plus important plate-forme.

Avec l'Hexagon 685 DSP et d'autres améliorations « tertiaires » qui progressent continuellement vers le milieu de gamme. matériel, il est également plus facile pour les puces Qualcomm d’apporter l’apprentissage automatique sur toutes sortes d’appareils à proximité avenir. Ils proposent également un SDK pratique pour les développeurs (pas besoin de manipuler le langage assembleur DSP) pour profiter de l'Hexagon 685 DSP et HVX dans leurs applications et services.

« Ces unités de traitement dédiées au traitement neuronal sont nécessaires, mais vous devez également les étendre afin de pouvoir prendre en charge les frameworks [open source] », a déclaré un porte-parole de Qualcomm. "Si vous ne créez pas cet écosystème, il n'y a aucun moyen [...] que les développeurs puissent créer dessus."