Les processeurs de signaux numériques (DSP) ont longtemps été les moteurs du traitement en temps réel des signaux, qui alimentent tout, des télécommunications et des codecs audio aux radars et aux appareils biomédicaux. Avec la croissance explosive de l'apprentissage automatique (ML), il est de plus en plus nécessaire de faire une inférence et même de former sur les appareils de bord où la latence, la puissance et les coûts sont fortement limités.

Principes fondamentaux des architectures des processeurs DSP

Un processeur DSP classique est construit autour de trois principes fondamentaux : opérations multi-accumulations de débit élevé (MAC), modèles d'accès à la mémoire prévisibles et latence minimale pour les données en streaming. Les architectures traditionnelles utilisent un modèle de mémoire Harvard ou Harvard modifié, des bus d'instruction et de données séparés, et plusieurs unités d'exécution qui peuvent effectuer un MAC dans un cycle d'horloge unique.

Les éléments architecturaux clés sont les suivants :

  • unités de MAC dédiées à la multiplication et à l'accumulation simultanées, souvent conduites pour maintenir un résultat par cycle.
  • Cadre de tampon circulaire[ pour une manipulation efficace de la ligne de retard dans le filtrage.
  • Matériel de bouclement de ligne [ pour éviter les décrochages de pipelines lors de l'exécution répétitive du noyau.
  • Arithmétique point-fichable avec des bits de garde larges pour éviter le débordement, car de nombreux signaux du monde réel sont numérisés avec une précision limitée.

Historiquement, ces processeurs n'étaient pas conçus pour gérer le flux de commande irrégulier et les branches dépendantes des données communes dans les modèles d'apprentissage automatique. Les réseaux neuronaux, en particulier les architectures convolutionnelles et récurrentes profondes, introduisent des multiplications matricielles denses, des fonctions d'activation non linéaires et un trafic de mémoire important pour les poids et les activations, un profil de charge de travail qui diffère fortement des tâches traditionnelles du DSP.

Les défis de l'intégration de l'apprentissage automatique dans les PSD

Combler l'écart entre le traitement déterministe des signaux et l'apprentissage automatique fondé sur les données pose plusieurs défis fondamentaux:

Mismatch informatique

La plupart des formations et des inférences ML reposent sur l'arithmétique en points flottants (FP32 ou FP16) pour la stabilité numérique et la portée dynamique. Les DSP classiques sont optimisés pour les opérations en nombre entier fixe; l'exécution de MAC en points flottants sur ce matériel entraîne une pénalité sévère dans la zone, la puissance et le nombre de cycles.

Bande passante et hiérarchie de la mémoire

Les modèles ML contiennent des millions de paramètres qui doivent être récupérés à plusieurs reprises de la mémoire. Une mémoire locale de petite taille (rayure ou cache L1) est dimensionnée pour les coefficients de filtre et quelques fenêtres de données, et non pour les tenseurs de poids d'un réseau neuronal profond. Les accès DRAM hors puces qui en résultent consomment des ordres de grandeur plus d'énergie que les opérations sur puce.

Débit de contrôle et irrégularité

Les couches réseau neurales varient considérablement en dimensions, en types de non-linéarité et en flux de données (p. ex. connexions résiduelles, connexions de saut, mise en commun). Les DSP traditionnels excellent dans les boucles serrées avec des nombres d'itération fixes; les boucles de branchement ou de données dépendantes causent des rinçages de pipelines et défaire le bénéfice du matériel de boucle zéro-overhead.

Contraintes de latence et de puissance

De nombreuses applications en temps réel — assistants vocaux, annulation active du bruit, traitement autonome des capteurs — imposent des budgets de latence rigoureux (microsecondes à quelques millisecondes) et des bouchons d'alimentation qui excluent les solutions GPU ou FPGA à usage général. Les DSP sont souvent choisis pour leur timing déterministe et de faible puissance, mais l'ajout d'un accélérateur ML ne doit pas compromettre ces propriétés.

Stratégies d'intégration

Pour surmonter ces défis, les concepteurs de puces et les ingénieurs logiciels ont développé une gamme de stratégies qui peuvent être classées en trois grandes catégories : accélération matérielle, optimisation logicielle et architectures hybrides.

Accélération matérielle

L'ajout de blocs d'accélération ML dédiés dans le noyau DSP ou à côté est l'approche la plus directe.

  • Les unités de traitement de véhicules (VPU) qui peuvent exécuter des opérations mono-instructions à données multiples (SIMD) sur des registres larges, boostant le débit pour les opérations par éléments typiques dans les couches réseau neuronales.
  • Les accélérateurs réseau neuronaux (NPUs) sont étroitement couplés à la logique de mémoire et de contrôle des DSP. Ce sont des moteurs durcis optimisés pour les noyaux convolutionnels, souvent avec des tableaux systoliques ou des arbres multiplis matriciaux qui peuvent supporter de nombreuses MAC par cycle. Par exemple, le Qualcomm Hexagon DSP utilisé dans les plates-formes Snapdragon comprend un hexagone Vector eXtensions , puis un accélérateur de tension (HTA) pour décharger les charges de travail des ML.
  • Unités fonctionnelles spécialisées pour les opérations communes de ML, telles que tables de recherche de fonction d'activation, approximation de softmax ou normalisation de réponse locale.
  • Améliorations du système de mémoire comme des mémoires locales multibanques, des pré-fichiers de données matérielles pour l'accès carrelé, et une logique de décodage de la compression du poids qui décompresse les modèles quantifiés à la volée.

Un exemple illustratif est le noyau CEVA‐XB12, qui s'étend jusqu'à 128 MAC par cycle par moteur et comprend un accélérateur de réseau neuronal dédié. Il peut gérer à la fois le traitement traditionnel du signal et l'inférence ML en utilisant la même chaîne d'outils, réduisant ainsi la complexité du développement.

Optimisation des logiciels

Pour les DSP existants, des techniques logicielles sophistiquées permettent une exécution efficace de ML:

  • La quantification et la taille des modèles La conversion des poids FP32 en INT8 (ou même binaire/ternaire) réduit la bande passante de la mémoire et permet l'utilisation d'unités MAC à points fixes. La taille des modèles supprime les connexions redondantes, réduit la taille des modèles et le nombre de calculs.
  • La fusion du noyau et la transformation de la boucle. La fusion manuelle ou automatique de plusieurs couches (p. ex., convolution + normalisation par lots + ReLU) en une seule boucle optimisée réduit les parcours de la mémoire.
  • Les chaînes d'outils DSP incluent désormais les compilateurs ML‐aware qui mapperont les opérations de tensor vers les instructions SIMD et insèrent automatiquement les transferts DMA pour le mouvement des données recoupées. Par exemple, le compilateur TI C7000 C6x peut générer du code qui utilise efficacement le coprocesseur vectoriel à point flottant.
  • Les planificateurs de temps qui se divisent dynamiquement fonctionnent entre le DSP, le CPU et tout accélérateur disponible, en respectant les budgets de latence et de puissance.

L'optimisation des logiciels ne peut à elle seule combler l'écart de performance pour les modèles lourds, mais lorsqu'elle est combinée à un support matériel modéré, elle permet souvent d'obtenir des performances en temps réel acceptables pour les applications de bord.

Architectures hybrides

De plus en plus, les concepteurs de SoC s'éloignent d'un seul DSP monolithique vers des grappes hétérogènes qui combinent un CPU à usage général, un DSP et un ou plusieurs accélérateurs ML. Dans ce modèle :

  • Le CPU gère des tâches de contrôle de haut niveau, de chargement de modèles et de traitement pré-/post-processus qui impliquent une logique complexe ou des E/S externes.
  • Le DSP gère le traitement du signal en continu (p. ex., front-end du capteur, extraction de fonctionnalités) et exécute des noyaux optimisés qui ne conviennent pas à l'accélérateur ML.
  • L'accélérateur ML (qui peut être lui-même un NPU basé sur DSP) effectue de lourdes opérations de tenseur avec une grande efficacité de puissance.

Un exemple important est la série NXP i.MX RT, qui combine un noyau Arm Cortex‐M avec un DSP HiFi Cadence Tensilica et un processeur neuronal (NPU). Le DSP gère les pipelines audio tandis que le NPU exécute des modèles de localisation par mots clés et de reconnaissance de la voix.

Systèmes d'apprentissage intégrés DSP-Machine dans le monde réel

Les stratégies théoriques décrites ci-dessus ont été réalisées dans des produits commerciaux dans plusieurs domaines. Ci-dessous sont des exemples notables qui illustrent l'éventail des niveaux d'intégration.

Qualcomm Hexagon DSP (Snapdragon)

Qualcomm , le DSP Hexagon a évolué d'un processeur de signal pur en un composant clé de la société , moteur AI. À partir du Snapdragon 820, le Hexagon 680 inclus Hexagon Vector eXtensions (HVX) — unités SIMD capables d'opérations 1024-bit par cycle. Des versions ultérieures ont ajouté un accélérateur de tension dédié (HTA) qui peut effectuer des multiplications de matrice directement. Le DSP Hexagon exécute non seulement les noyaux DSP traditionnels (par exemple, les appareils de traitement post-appareil photo ISP, les effets audio) mais aussi des réseaux neuraux pour la vision en temps réel de l'ordinateur et la compréhension du langage naturel.

Cadence Tensilica ConnX / PSD HiFi

Cadence offre une gamme de cœurs DSP configurables qui peuvent être adaptés aux charges de travail ML. Le ConnX BBE (moteur à bande de base) comprend des unités SIMD flottantes et à point fixe, tandis que le HiFi 5 se concentre sur l'audio/la parole et comprend maintenant une option --Accélérateur CNN. Ces cœurs sont utilisés dans les appareils portables, les appareils auditifs et les haut-parleurs intelligents.

CEVA‐XB12 et SensPro2

CEVA , XB12 est un noyau DSP spécialement conçu pour la vision informatique et les charges de travail en AI. Il intègre un moteur 128-MAC, un accélérateur de réseau neuronal dédié et une unité SIMD large. L'architecture SensPro2 permet d'ajouter un flux de données flexible qui peut gérer des modèles convolutionnels et basés sur les transformateurs, ainsi que le traitement traditionnel radar/LiDAR. CEVA , l'écosystème comprend un compilateur, un profileur et des bibliothèques qui mapper automatiquement les modèles TensorFlow Lite au matériel.

TI C7000 C6x avec coprocesseur C7x

Texas Instruments propose la série C7000 qui combine un DSP C66x avec un coprocesseur vectoriel C7x. Le C7x est un moteur vectoriel entièrement programmable optimisé pour les opérations matricielles, avec support pour les types de données flottantes et entiers. Il peut exécuter jusqu'à 64 MAC par cycle. TI=s Le cadre de Deep Learning (TIDL) compile des modèles pour cette architecture, ciblant des applications telles que l'inspection industrielle, la robotique et les capteurs de conduite autonomes.

Tendances futures de l'intégration DSP‐ML

L'intégration de ML dans les architectures DSP continue d'évoluer rapidement. Plusieurs tendances émergentes promettent de rendre la combinaison encore plus puissante et accessible.

Informatique in-Memory et traitement quasi-mémorial

Certains prototypes de DSP intègrent compute-in-SRAM ou ]][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FX:][FX:][FX:][FX:][FX:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FLT:][FX][F][F][FX][F][F

Extensions de RISC‐V pour DSP et ML

Le P‐extension (SIMD emballé) et V‐extension (vecteur) peuvent être utilisés pour construire des capacités semblables à DSP dans des cœurs open-source. De plus, la communauté travaille sur une extensionMatrix[ visant les charges de travail ML. Les futurs DSP construits sur RISC‐V pourraient être structurellement différents des architectures propriétaires traditionnelles.

Faible précision et arithmétique hybride

Les recherches montrent que de nombreux modèles fonctionnent bien avec l'INT4 ou même l'arithmétique binaire. Les futurs DSP prendront probablement en charge plusieurs modes de précision, éventuellement avec des formats de points flottants de blocs de précision mixtes. La prise en charge matérielle pour stochastiques d'arrondi et souvent de points flottants de blocs de précision (partage d'un exposant sur un groupe de valeurs) peut préserver la précision tout en réduisant l'empreinte mémoire.

Co-conception automatique de logiciels et de matériel

À mesure que les modèles et le matériel deviennent plus interreliés, les outils qui harmonisent automatiquement une architecture DSP pour une charge de travail ML donnée deviendront essentiels. Des entreprises comme Esperanto Technologies[ et SambaNova ont démontré des puces personnalisées optimisées par ML elles-mêmes. Pour les DSP, cela pourrait signifier la création d'un ensemble d'instructions sur mesure, d'une hiérarchie de mémoire et d'une configuration d'accélérateur pour un ensemble spécifique de tâches de traitement de signaux et de réseau neuronal.

Apprentissage et adaptation sur les appareils

Au-delà de l'inférence, on s'intéresse de plus en plus à tinyML qui prend en charge une formation limitée sur les appareils ou un réglage fin (p. ex. apprentissage du transfert), ce qui exige non seulement une accélération du passage avant, mais aussi la capacité de calculer les gradients et de réaliser des mises à jour de poids — des opérations rarement mises en œuvre dans les DSP actuels.

Conclusion

L'intégration des algorithmes d'apprentissage automatique dans les architectures de processeurs DSP est un défi multiforme qui englobe la précision arithmétique, la bande passante de la mémoire, la gestion du flux de commande et l'efficacité énergétique. Grâce à une combinaison d'accélération matérielle (unités SIMD, NPU dédiés, systèmes de mémoire spécialisés), d'optimisation logicielle (quantification, fusion du noyau, auto-vectorisation) et de conceptions hybrides de SoC, les acteurs de l'industrie ont démontré que l'inférence ML en temps réel efficace est réalisable sur des appareils qui traitent également des tâches traditionnelles de traitement des signaux.

Pour plus de détails, il convient d'examiner les ressources extérieures suivantes: