Logo Zéphyrnet

Simulation de pannes pour la sécurité de l'IA. Innovation dans la vérification – Semiwiki

Date :

Plus de contenu automobile 😀

Dans les voitures modernes, la sécurité est régie autant par des fonctions basées sur l’IA que par la logique et les logiciels traditionnels. Comment ces fonctions peuvent-elles être classées par défaut pour l'analyse FMEDA ? Paul Cunningham (DG, Verification at Cadence), Raúl Camposano (Silicon Catalyst, entrepreneur, ancien CTO de Synopsys et maintenant CTO de Silvaco) et moi continuons notre série sur les idées de recherche. Comme toujours, les commentaires sont les bienvenus.

Simulation de pannes pour l'évaluation de la sécurité de l'IA

L'innovation

Le choix de ce mois-ci est SiFI-AI : un cadre de simulation de pannes RTL rapide et flexible, adapté aux modèles et accélérateurs d'IA. Cet article a été publié lors du Symposium des Grands Lacs 2023 sur le VLSI. Les auteurs viennent de l’Institut de technologie de Karlsruhe, en Allemagne.

La norme ISO 26262 exige une analyse de sécurité basée sur les méthodes FMEDA utilisant la simulation de défauts pour évaluer la sensibilité des fonctions critiques aux défauts transitoires et systématiques, ainsi que l'efficacité de la logique d'atténuation pour se prémunir contre les erreurs. L'analyse commence par une compréhension par un expert en conception des comportements de haut niveau qui doivent être garantis ainsi que des échecs réalistes susceptibles de propager des erreurs dans ces comportements.

Ce savoir-faire expert est déjà compris pour la logique et les logiciels conventionnels, mais pas encore pour les modèles d'IA (réseaux neuronaux) et les accélérateurs sur lesquels ils fonctionnent. Les ingénieurs en sécurité ont besoin d’aide pour explorer les modes de défaillance et leurs effets dans les composants d’IA pour savoir où et comment provoquer des erreurs sur les modèles et le matériel. De plus, cette analyse doit s’exécuter à des vitesses pratiques sur les grands modèles courants pour les DNN. Les auteurs proposent une nouvelle technique qui, selon eux, fonctionne beaucoup plus rapidement que les méthodes actuelles.

le point de vue de Paul

Un article stimulant et intrigant : comment évaluer le risque de pannes matérielles aléatoires dans un accélérateur d'IA utilisé pour l'aide à la conduite ou la conduite autonome ? L'inférence de l'IA est elle-même une méthode statistique, donc déterminer la relation entre un retournement de bit aléatoire quelque part dans l'accélérateur et une inférence incorrecte n'est pas trivial.

Cet article propose de construire un système capable de « remplacer » une véritable simulation RTL d'une seule couche d'un réseau neuronal, une inférence par ailleurs purement logicielle de ce réseau dans PyTorch. Une faute peut être injectée dans la couche simulée par RTL pour évaluer l’impact de cette faute sur l’opération d’inférence globale.

Les auteurs démontrent leur méthode sur l'accélérateur d'IA open source Gemmini exécutant les réseaux de classification d'images ResNet-18 et GoogLeNet. Ils observent que chaque élément du réseau d'accélérateurs Gemmini dispose de 3 registres (activation d'entrée, poids et somme partielle) et d'un signal de sélection de poids, soit 4 types de défauts possibles à injecter. Ils effectuent 1.5 million d'expériences d'inférence, chacune avec une erreur aléatoire injectée, vérifiant si la classification top 1 du réseau est incorrecte. Leur durée d'exécution est 7 fois plus rapide que celle des travaux antérieurs, et leurs graphiques valident l'attente intuitive selon laquelle les pannes dans les couches antérieures du réseau ont plus d'impact que celles dans les couches plus profondes.

En outre, il ressort clairement de leurs données qu'une certaine forme de mécanisme de sécurité matérielle (par exemple un vote triple) est justifiée puisque la probabilité absolue d'une erreur de classification top 1 est de 2 à 8 % pour les défauts dans les 10 premières couches du réseau. C'est beaucoup trop élevé pour une expérience de conduite sûre !

Le point de vue de Raul

La principale contribution de SiFI-AI réside dans la simulation de défauts transitoires dans les accélérateurs DNN, combinant une inférence rapide d'IA avec une simulation RTL précise au cycle et une injection de défauts basée sur les conditions. C'est 7 fois plus rapide que l'état de l'art (référence 2, Condia et al, Combinant simulation architecturale et injection de fautes logicielles pour une évaluation rapide et précise de la fiabilité des CNN sur les GPU). L'astuce consiste à simuler uniquement ce qui est nécessaire dans un RTL à cycle lent et précis. Les défauts modélisés sont des perturbations à événement unique (SEU), c'est-à-dire des retournements de bits transitoires induits par des effets externes tels que des rayonnements et des particules chargées, qui persistent jusqu'à la prochaine opération d'écriture. Dans ce cas, il est particulièrement difficile de savoir si un seul défaut provoquera une erreur ; le degré élevé de réutilisation des données pourrait conduire à une propagation importante des pannes, et la simulation des pannes doit prendre en compte à la fois l'architecture matérielle et la topologie du modèle DNN.

SiFI-AI intègre la simulation matérielle dans le framework ML (PyTorch). Pour la simulation matérielle, il utilise Verilator, un simulateur Verilog gratuit et open source, pour générer des modèles RTL précis en cycle. Un contrôleur de défauts gère l'injection de défauts selon les instructions de l'utilisateur, en utilisant une approche basée sur les conditions, c'est-à-dire une liste de conditions qui évitent qu'un défaut soit masqué. Pour sélectionner quelle partie est simulée dans RTL, il décompose les calques en tuiles plus petites en fonction de «les propriétés de la couche, la stratégie de mosaïque en boucle, la disposition de l'accélérateur et la faille respective» et sélectionne une vignette.

Le dispositif testé dans la partie expérimentale est Gemmini, un accélérateur DNN à réseau systolique créé à l'UC Berkeley dans le cadre du projet Chipyard, dans une configuration de 16 × 16 éléments de traitement (PE). SiFI-AI réalise une étude de résilience avec 1.5 M d'expériences d'injection de fautes sur deux charges de travail DNN typiques, ResNet-18 et GoogLeNet. Les défauts sont injectés dans trois registres de données PE et un signal de commande, comme spécifié par l'utilisateur. Les résultats montrent une faible probabilité d’erreur, confirmant la résilience des DNN. Ils montrent également que les défauts des signaux de commande ont beaucoup plus d’impact que les défauts des signaux de données, et que les couches larges et peu profondes sont plus sensibles que les couches étroites et profondes.

Il s'agit d'un bon article qui fait progresser le domaine de l'évaluation de la fiabilité des DNN. Le document est bien rédigé et clair et fournit suffisamment de détails et de références pour étayer les affirmations et les résultats. Même si l’idée de base consistant à combiner la simulation à différents niveaux est ancienne, les auteurs l’utilisent de manière très efficace. Des frameworks comme SciFI-AI peuvent aider les concepteurs et les chercheurs à optimiser leurs architectures et à les rendre plus résilientes. J'aime aussi l'analyse de l'impact des défauts sur différentes couches et signaux, qui révèle des informations intéressantes. Le document pourrait être amélioré en fournissant plus d'informations sur la stratégie d'injection de fautes et la sélection des tuiles. Même si le sujet est assez spécifique, dans l’ensemble, c’est un article très agréable !

Partagez cet article via:

spot_img

Dernières informations

spot_img