Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Vérification avancée :ouvrir la porte à une nouvelle ère de puces IA

"Hey Siri, quelle est la météo d'aujourd'hui ?"

Alors que notre vie quotidienne continue de dépendre de Siri et d'autres assistants d'intelligence artificielle (IA) pour des services pratiques tels que la lecture de chansons et le suivi des horaires de réunion, ce n'est un secret pour personne qu'il est de plus en plus difficile de protéger les données personnelles. Avec l'essor de l'IA et la menace de perte de données imminente, il est plus important que jamais pour les concepteurs de puces de faire progresser les techniques d'IA et de sécurité pour répondre à la demande pressante de plus d'intelligence.

Mais à l'ère actuelle du tout intelligent, les applications à forte intensité de calcul qui intègrent des techniques d'IA telles que l'apprentissage en profondeur (DL) et l'apprentissage automatique (ML) nécessitent leurs propres puces dédiées avec des conceptions bien équilibrées pour alimenter les fonctions intelligentes. Des véhicules autonomes à l'informatique hautes performances (HPC), la technologie sous-jacente à l'origine de ces charges de travail intensives dépend d'architectures avancées qui établissent un équilibre délicat entre donner du punch au service d'alimentation tout en étant également adaptées pour améliorer les capacités de prise de décision.

À mesure que de plus en plus d'appareils intelligents se connectent au cloud, il existe un plus grand potentiel pour l'IA d'évoluer de manière exponentielle et de créer une variété d'opportunités de marché. Cependant, les fabricants de puces doivent garder à l'esprit que des parties clés des calculs d'IA doivent être effectuées dans le matériel pour émuler les conditions du monde réel. Par conséquent, les "puces d'IA" personnalisées sont non seulement préférées, mais essentielles pour intégrer l'IA à grande échelle de manière rentable.

Mais étant donné que la génération actuelle de puces pour les applications AI/ML/DL contient des chemins de données complexes pour effectuer avec précision l'analyse arithmétique nécessaire, l'industrie devra être disposée et prête à mettre en œuvre des méthodes de vérification avancées pour évoluer et alimenter le prochain mouvement de l'IA.

Presque tout le monde conçoit des puces

Ce n'est un secret pour personne dans le monde de la conception de puces qu'avec la saturation de la loi de Moore, il devient de plus en plus difficile d'obtenir les gains de performances souhaités avec les processeurs à usage général. Pour atténuer ce ralentissement, les entreprises autres que les acteurs traditionnels des semi-conducteurs mettent leur chapeau dans le ring de la conception de puces.

Pour n'en nommer que quelques-unes de ces sociétés, de grands acteurs comme Google, Amazon et Facebook investissent désormais massivement dans le développement de leurs propres puces ASIC personnalisées (circuit intégré spécifique à l'application) en interne pour prendre en charge leur logiciel d'IA unique et répondre à des applications spécifiques. exigences. Cette expansion ultérieure du marché offre une pléthore d'opportunités pour de nouveaux outils et solutions de conception pour prendre en charge l'environnement de conception de puces exigeant d'aujourd'hui.

Conception de puces IA :les chemins de contrôle sont différents

Un facteur crucial dans les nouveaux investissements dans les systèmes sur puce (SoC) d'IA est la capacité d'effectuer simultanément des calculs multitâches de manière distribuée (au lieu du parallélisme limité offert par les processeurs traditionnels). La conception nécessaire pour effectuer ces tâches implique des blocs de données lourds composés d'un chemin de contrôle où la machine d'état traite les sorties en fonction d'entrées spécifiques, ainsi qu'un bloc de calcul composé d'une logique arithmétique pour traiter les données. En utilisant ces fonctionnalités, les concepteurs de puces peuvent accélérer considérablement les calculs identiques, prévisibles et indépendants requis par les algorithmes d'IA.

Même si le bloc de calcul arithmétique n'est généralement pas un défi, la sophistication augmente considérablement à mesure que le nombre de blocs arithmétiques et de bits augmente simultanément, ce qui ajoute une charge supplémentaire aux équipes de vérification.

Au cours de la dernière décennie, l'informatique centrée sur les données a évolué au-delà des limites restrictives des PC et des serveurs. Même dans le cas simple d'un multiplicateur de 4 bits, des vecteurs de test doivent être écrits pour toutes les combinaisons d'entrées possibles afin de vérifier sa fonctionnalité complète, c'est-à-dire 2 4 =16. C'est là que réside le défi :lorsqu'il s'agit de vérifier des scénarios réalistes des puces IA d'aujourd'hui, les équipes doivent vérifier les additionneurs qui ont des entrées 64 bits. En d'autres termes, 2 64 les états doivent être vérifiés - une réalisation qui prendrait des années en utilisant des approches classiques. Ce n'est qu'un exemple isolé de nombreuses possibilités, mais comme l'adoption des puces d'IA se développe rapidement et que la quantité de données générées continue d'exploser, les défis chronophages associés à la vérification du matériel rendent le besoin de solutions de vérification modernes, sécurisées et flexibles critiques. .

Le test ultime :les défis de la vérification

Lorsque les équipes conçoivent des puces d'IA, C/C++, un algorithme de conception rapide et largement utilisé, est utilisé. Une fois le code fonctionnel rédigé, les informations doivent être traduites en une représentation plus orientée matériel en utilisant RTL (langage de transfert de registre). Ce processus nécessite que les équipes développent des vecteurs de test pour toutes les combinaisons possibles ou comparent si le RTL correspond au modèle architectural C/C++ d'origine, ce qui s'avère souvent être une tâche assez intimidante.

C'est là qu'intervient la vérification formelle. Avec cette technique, une analyse mathématique est effectuée pour considérer l'ensemble de la conception matérielle en une seule fois. Alors que les vecteurs de test doivent généralement être écrits pour chaque combinaison d'entrée, la vérification formelle fournit un canal de vérification par rapport à un ensemble d'assertions spécifiant le comportement souhaité en tirant parti des vérificateurs de modèles.

Il y a encore quelques années, il aurait été inconcevable de penser que la vérification formelle pouvait être une méthode largement utilisée simplement en raison des assertions de haut niveau requises. Mais avancez rapidement jusqu'à aujourd'hui, et le concepteur RTL moyen ou l'ingénieur de vérification peut rapidement et efficacement apprendre les ficelles du métier.

Cependant, compte tenu de l'échelle et de la complexité croissantes des puces d'IA d'aujourd'hui, il est impossible d'être entièrement prouvé par une simple vérification de modèle. La vérification de ces fonctions mathématiques à l'aide de méthodes traditionnelles plutôt que modernes est inefficace, chronophage et finalement peu pratique à long terme.

Les applications d'IA et de ML ont besoin d'un coup de main

L'utilisation d'autres formes de vérification formelle (par exemple, la vérification d'équivalence) fournit aux ingénieurs un système robuste pour vérifier même les chemins de données d'IA les plus complexes. Au cours du processus de vérification d'équivalence, deux représentations de la conception sont comparées et les conceptions sont soit prouvées équivalentes, soit les différences spécifiques entre elles sont identifiées. Ces moteurs formels suffisamment puissants offrent une grande longueur d'avance lors du processus de vérification, car les deux représentations peuvent être à des niveaux d'abstraction complètement différents et même écrites dans des langues différentes.

Comparons l'implémentation RTL détaillée d'une puce à un modèle architectural C/C++ de haut niveau. La comparaison confirme que le même ensemble d'entrées produit les mêmes sorties pour les deux représentations. Cette méthode efficace convient naturellement à de nombreux projets d'IA, étant donné que la plupart disposent déjà de modèles C/C++ pour la vérification des résultats en simulation ou dans le cadre d'une plate-forme virtuelle pour prendre en charge le développement et les tests de logiciels précoces.

Malgré la croissance rapide des applications d'IA, la vérification d'équivalence formelle est la seule technologie qui peut fournir une vérification exhaustive des chemins de données de conception par rapport à un modèle de référence éprouvé. Pour faciliter l'évolution jusqu'à présent sans entrave de l'IA, les outils de vérification ont besoin des caractéristiques suivantes :facilité d'utilisation, capacité d'évolutivité et capacités de débogage avancées.

À l'horizon :le chiffrement homomorphe

Alors que l'industrie continue de produire des milliers de milliards d'octets de données qui nécessitent des puces hautes performances pour soutenir cet exploit informatique, la prévision d'un nombre croissant de bits est inévitable. Les universités et les organismes de recherche du monde entier étudient les possibilités de travailler avec des données d'entrée plus importantes et de développer des plans d'urgence pour concevoir des puces capables de prendre en charge cet afflux.

Mais avec cette inondation de données vient le besoin ultérieur de sécurité matérielle. Le cryptage homomorphe fera partie intégrante du puzzle AI/ML. Ce type de cryptage donne aux concepteurs de puces la possibilité de crypter les données et d'effectuer les mêmes calculs arithmétiques requis par le système d'IA sans les décrypter et, ainsi, de réduire le risque de violation de données. Pour améliorer à la fois la qualité des résultats et la productivité de la conception de puces IA grâce à ce système de cryptage, des outils de nouvelle génération seront nécessaires.

Edge AI entraînera l'explosion de l'informatique abondante en temps réel

Une voiture autonome qui s'écrase sur un obstacle inaperçu n'est sur la liste de souhaits de personne. Ce n'est qu'un exemple du désastre que les puces d'IA pourraient infliger si les conceptions ne sont pas entièrement vérifiées. Alors que l'appétit du marché pour davantage de capacités d'IA dans les applications informatiques augmente, les nouveaux dispositifs d'IA de pointe entraîneront une explosion de l'informatique abondante en temps réel et transformeront la façon dont les fabricants de puces abordent la conception de semi-conducteurs, conduisant à une productivité plus élevée, des délais d'exécution plus rapides et une meilleure vérification solutions.

L'aube d'un monde axé sur l'IA approche à grands pas et est plus à portée que jamais. Mais pouvons-nous courir sur la roue de hamster de l'innovation assez longtemps pour y arriver ? Seul le temps nous le dira.


Embarqué

  1. Le guide du débutant sur les charnières de porte à ressort
  2. Le rôle de la conception assistée par ordinateur (CAO) dans l'impression 3D
  3. Optimisation de la ligne d'alimentation RF dans la conception de PCB
  4. Présentation des arguments en faveur des puces neuromorphiques pour l'IA informatique
  5. Le package de conception de PCB passe dans le cloud
  6. L'IoT annonce une nouvelle ère pour le grand public
  7. Le streaming de données ouvre de nouvelles possibilités à l'ère de l'IoT
  8. Il est temps de changer :une nouvelle ère à la limite
  9. G.hn ouvre la porte à de nouvelles opportunités industrielles