Génération assistée par l'IA de simulateurs d’architectures numériques

Les outils de simulation d'architectures numériques reposent sur divers types de modèles, de niveaux d’abstraction différents, afin de répondre aux exigences de la co-conception et de la co-validation matériel/logiciel. Parmi ces modèles, ceux de plus haut niveau permettent la validation fonctionnelle rapide de logiciels sur les architectures cibles.

Ces modèles fonctionnels sont souvent élaborés de manière manuelle, une tâche à la fois fastidieuse et sujette aux erreurs. Lorsque des descriptions de bas niveau en RTL (Register Transfer Level) sont disponibles, elles deviennent une source à partir de laquelle des modèles de plus haut niveau, tels que les modèles fonctionnels, ou simulateurs rapides, peuvent être déduits. Des travaux préliminaires au CEA ont permis d'obtenir un prototype initial basé sur MLIR (Multi-Level Intermediate Representation), démontrant des résultats prometteurs dans la génération de fonctions d'exécution d'instructions à partir de descriptions RTL.

L'objectif de cette thèse est d'approfondir ces travaux, puis d'automatiser l'extraction des états architecturaux en s'inspirant des dernières avancées en matière d'apprentissage automatique pour l'EDA. Le résultat attendu est un flot complet de génération automatique de simulateurs fonctionnels à partir de RTL, garantissant ainsi, par construction, une consistance sémantique entre les deux niveaux d'abstraction.

Systèmes visuels de questions-réponses combinant un encodeur binarisé et des modèles de langage

Une des tendances majeures des imageurs intelligents est d’aller au-delà de fonctions d’inférence simple telle que la classification ou la détection d’objet. Cela peut notamment se traduire par le souhait d’ajouter des applications plus complexes permettant une compréhension sémantique de la scène. Parmi ces applications, le VQA (Visual Question Answering) permet aux systèmes d'IA de répondre à des questions, formulées avec du texte, en analysant les images. Dans ce contexte, ce sujet vise à développer un système efficace et embarqué de VQA intégrant un encodeur visuel basé sur des réseaux de neurones binaires (BNN) combiné avec un modèle de langage compact (tiny LLM). Même s’il existent encore de nombreuses étapes pour un portage matériel d’un système intégrant un LLM, ce projet représente une étape significative dans cette direction en s’appuyant sur des BNN. Cet encodeur traite des images en limitant le besoin en ressource de calcul, permettant un déploiement en temps réel sur des dispositifs embarqués. Des mécanismes d'attention seront intégrés pour extraire les informations sémantiques nécessaires à la compréhension de la scène. Le modèle de langage utilisé pourra être stocké localement et ajusté conjointement avec le BNN pour générer des réponses précises et contextuellement pertinentes.
Ce sujet de thèse offre une opportunité pour un candidat intéressé par le Tiny Deep Learning et les LLMs. Il propose un vaste champ de recherche pour des contributions significatives et des résultats intéressants pour des applications concrètes. Le travail consistera à développer une topologie de BNN robuste pour l'analyse sémantique d’une scène visuelle, en prenant en compte des contraintes matérielles (mémoire et calcul), à intégrer et à optimiser l'encodeur BNN avec le LLM, tout en assurant un système VQA cohérent et performant à travers différents types de requêtes et de cas d’usage.

Passage à l’échelle du jumeau numérique réseau dans les réseaux de communication complexes

Les réseaux de communication connaissent aujourd’hui une croissance exponentielle à la fois en termes de déploiement d’infrastructures réseau (notamment ceux des opérateurs à travers l’évolution progressive et soutenue vers la 6G), mais aussi en termes de machines, couvrant un large éventail d’équipements allant des serveurs Cloud aux composants IoT embarqués légers (ex. System on Chip : SoC) en passant par les terminaux mobiles comme les téléphones intelligents (smartphones).

Cet écosystème est aussi riche en équipements qu’en composants logiciels allant de l’application (ex. Audio/Vidéo streaming) jusqu’aux protocoles des différentes couches de communication réseau. De plus, un tel écosystème, lorsqu’il est opérationnel, se trouvera en perpétuel changement dont la nature peut être explicitée dans ce qui suit :
- Changement dans la topologie réseau : en raison, par exemple de défaillances matérielles ou logicielles, mobilité des utilisateurs, politiques de gestion des ressources réseau de l’opérateur, etc.
- Changement dans le taux d’utilisation/consommation des ressources réseau (bande passante, mémoire, CPU, batterie, etc.) : en raison des besoins des utilisateurs et des politiques de gestion des ressources réseau de l’opérateur, etc.

Pour assurer une supervision, ou plus généralement, une gestion efficace, qu'elle soit fine ou synthétique, des réseaux de communication, divers services/plateformes de gestion de réseau, tels que SNMP, CMIP, LWM2M, CoMI, SDN, ont été proposés et documentés dans la littérature sur les réseaux et organismes de normalisation. Par ailleurs, de telles plates-formes de gestion ont été largement adoptées notamment par les opérateurs réseau et par l’industrie de manière générale. D’ailleurs, cette adoption intègre souvent des fonctionnalités avancées, notamment des boucles de contrôle automatisées (par exemple, des systèmes experts ou des systèmes basés sur l’apprentissage automatique), améliorant ainsi la capacité des plateformes à optimiser les performances des opérations de gestion du réseau.

Cependant, malgré l’exploration et l’exploitation intensives des plateformes de gestion réseau, ces plateformes ne garantissent pas toujours une (re)configuration sans risque/erreur intrinsèque, dans des cas d’usage assez communs et critiques comme l’optimisation temps-réel du réseau, l’analyse de tests en mode opérationnel (what-if analysis), la planification des mises à jour/modernisations/extensions du réseau de communication, etc. Pour de tels scénarios, un nouveau paradigme de gestion réseau s’avère nécessaire.

Pour traiter les problématiques présentées dans la section précédente, la communauté scientifique a commencé à explorer l’adoption du concept de « jumeau numérique » pour les réseaux de communication, ce qui a donné naissance au paradigme du jumeau numérique réseau (Network Digital Twin : NDT). Le NDT est un jumeau numérique du réseau réel/physique (Physical Twin Network : PTN) ou l’on peut manipuler, sans risque, une copie numérique du vrai réseau, ce qui permet notamment de visualiser/prédire l’évolution (ou le comportement, l’état) du réseau réel si telle ou telle configuration réseau devait être appliquée. Au-delà de cet aspect, le NDT et le PTN échangent des informations via une ou plusieurs interfaces de communication dans le but de maintenir une bonne synchronisation entre eux.

Cependant, mettre en place un jumeau numérique réseau (NDT) n’est pas une tache simple. En effet, la synchronisation PTN-NDT fréquente et en temps réel pose un problème de passage à l’échelle (scalability) lorsqu’il est question de réseaux complexes (ex. nombre d’entités réseau trop important, topologies très dynamiques, volume important d’informations par nœud/par lien réseau), où chaque information réseau est susceptible d’être rapportée au niveau du NDT (par exemple un très grand nombre d'entités réseau, des topologies très dynamiques, ou un grand volume d'informations par nœud/par lien réseau).

Divers travaux scientifiques ont tenté de traiter la question du jumeau numérique réseau (NDT). Dans ces travaux il est question de définir des scenarios, exigences et architecture du NDT. Cependant, la question du passage à l’échelle dans le NDT n’a pas été traitée dans la littérature.

L'objectif de cette thèse de doctorat est de traiter le problème de passage à l’échelle (« scalabilité ») des jumeaux numériques réseau en explorant de nouveaux modèles d'apprentissage automatique pour la sélection et la prédiction des informations réseau.

Ecriture automatique de noyau de calculs pour calculateurs quantiques

Le cadre de la simulation hamiltonnienne ouvre une nouvelle panoplie d'approches de calcul pour l'informatique quantique. Celle-ci peut être développées dans tous les champs pertinents de l'application de l'informatique quantique, incluant, entre-autres les équations aux dérivées partielles (electro-magnétisme, mécanique des fluides, ...) mais aussi le machine learning quantique, la finance, et de nombreuses approches de résolutions de problèmes d'optimisation (heuristiques ou exactes).
Le but de la thèse est de trouver un cadre où ces approches basées sur les approches de simulation hamiltonienne ou d'encodage par bloc sont faisable et dont leur écriture peut être automatisée.
Cela peut aller jusqu'au prototypage d'un générateur de code que l'on cherchera à tester sur des cas pratiques issus de collaboration avec des partenaire européens (stage de quelques mois dans les équipes).

Apprentissage des modèles du monde pour les agents autonomes avancés

Les modèles du monde sont des représentations internes de l'environnement externe qu'un agent peut utiliser pour interagir avec le monde réel. Ils sont essentiels pour comprendre les lois physiques qui régissent les dynamiques du monde réel, faire des prédictions et planifier des actions à long terme. Les modèles du monde peuvent être utilisés pour simuler des interactions réelles et améliorer l'interprétabilité et l'explicabilité du comportement d'un agent dans cet environnement, ce qui en fait des composants clés pour les modèles avancés d'agents autonomes.

Néanmoins, la construction d'un modèle du monde précis reste un défi. L'objectif de cette thèse de doctorat est de développer une méthodologie pour apprendre les modèles du monde et étudier leur utilisation dans le contexte de la conduite autonome, en particulier pour la prévision des mouvements et le développement d'agents autonomes pour la navigation.

Implémentation matérielle/logicielle sécurisée et agile des nouveaux algorithmes de signature numérique en cryptographie post-quantique

La cryptographie joue un rôle fondamental dans la sécurisation des systèmes de communication modernes en garantissant la confidentialité, l'intégrité et l'authenticité. La cryptographie à clé publique, en particulier, est devenue indispensable pour sécuriser les processus d’échange de données et d’authentification. Cependant, l’avènement de l’informatique quantique constitue une menace pour de nombreux algorithmes cryptographiques à clé publique traditionnels, tels que RSA, DSA et ECC, qui reposent sur des problèmes tels que la factorisation entière et les logarithmes discrets que les ordinateurs quantiques peuvent résoudre efficacement. Conscient de ce défi imminent, le National Institute of Standards and Technology (NIST) a lancé en 2016 un effort mondial pour développer et normaliser la cryptographie post-quantique (PQC). Après trois rondes d'évaluations, le NIST a annoncé son premier ensemble d'algorithmes standardisés en 2022. Bien que ces algorithmes représentent un progrès significatif, le NIST a exprimé un besoin explicite de cryptosystèmes supplémentaires qui exploitent des hypothèses de sécurité alternatives et a ouvert un nouveau concours dédié aux nouvelles signatures.
À mesure que la communauté cryptographique s’oriente vers l’adoption de cette nouvelle cryptographie, un défi majeur réside dans leur déploiement efficace dans des systèmes réels. Les implémentations matérielles, en particulier, doivent répondre à des exigences strictes en matière de performances, de consommation d'énergie et de coût, tout en offrant la flexibilité nécessaire pour s'adapter à plusieurs algorithmes, qu'ils soient standardisés ou encore en cours d'évaluation. Une telle agilité est essentielle pour pérenniser les systèmes face à l’incertitude inhérente aux transitions cryptographiques. L'objectif principal de cette thèse sera de concevoir et de développer des implémentations matérielles agiles pour des algorithmes de signature numérique post-quantique. Cela implique une étude approfondie des principaux candidats du quatrième tour du concours du NIST, ainsi que de ceux déjà standardisés, afin de comprendre leurs formalismes, leurs propriétés de sécurité et leurs bottlenecks. La thèse explorera également les optimisations pour l'efficacité des ressources, en équilibrant les compromis entre performances, consommation d'énergie et surface. De plus, la résilience contre les attaques physiques (attaques par canaux cachés et par injection de fautes) sera un élément clé du processus de conception.
Ce projet de thèse sera mené au sein du projet PEPR PQ-TLS en collaboration avec le laboratoire TIMA (Grenoble), l'Agence nationale de la sécurité des systèmes d'information (ANSSI) et l'INRIA.

Support logiciel pour calcul clairsemé

Les performances des calculateurs sont devenues limitées par les déplacements des données dans les domaines de l'IA, du HPC comme dans l'embarqué. Il existe pourtant des accélérateurs matériels qui permettent de traiter des mouvements de données de façon efficace énergétiquement, mais il n'existe pas de langage de programmation qui permette de les mettre en œuvre dans le code supportant les calculs.

C'est au programmeur de configurer explicitement les DMA et utiliser des appels de fonctions pour les transferts de données et analyser les programmes pour en identifier les goulots d'étranglement mémoire.

Par ailleurs les compilateurs ont été conçus dans les années 80, époque à laquelle les mémoires travaillaient à la même fréquence que les cœurs de calcul.

L'objet de cette thèse sera d'intégrer dans un compilateur la possibilité de réaliser des optimisations basées sur les transferts de données.

Contrats HW/SW pour l’analyse de robustesse aux fautes de processeurs open-source

Cette thèse se concentre sur la cybersécurité des systèmes embarqués, en particulier sur la vulnérabilité des processeurs et des programmes face aux attaques par injection de fautes. Ces attaques perturbent le fonctionnement normal des systèmes, permettant aux attaquants d'exploiter des failles pour accéder à des informations sensibles. Bien que des méthodes formelles aient été développées pour analyser la robustesse des systèmes, elles se limitent souvent à des analyses séparées du matériel et des logiciels, négligeant l'interaction entre les deux.

Le travail proposé vise à formaliser des contrats entre le matériel et le logiciel (HW/SW) spécifiquement pour l'analyse de sécurité contre les injections de fautes. En s'appuyant sur une approche de partitionnement matériel, cette recherche cherche à atténuer les problèmes de scalabilité liés à la complexité des modèles de microarchitecture. Les résultats attendus incluent le développement de techniques et d'outils permettant une vérification efficace de la sécurité des systèmes embarqués, ainsi que la création de contrats qui faciliteront l'évaluation de la conformité des implémentations matérielles et logicielles. Cette approche pourrait également réduire le temps de mise sur le marché des systèmes sécurisés.

Sécurisation cryptographique d’enclaves de processeurs RISC-V avec CHERI

CHERI (Capability Hardware Enhanced RISC Instructions) est une solution permettant de sécuriser le processeur contre les fuites spatiales et temporelles de mémoire en transformant tout pointeur en capacité définissant de façon claire les bornes d’accès aux données ou instructions adressées.
Dans cette thèse, nous proposons sur un processeur d’applications RISC-V d’enrichir CHERI et ses possibilités d’intégrité de flot de contrôle avec une protection des instructions allant jusqu’à leur exécution contre tout type de modifications. Dans un second temps, sur la base d’un chiffrement authentifié de la mémoire, nous étudierons la possibilité avec CHERI de définir des enclaves sécurisées permettant une isolation cryptographique entre processus. Le processeur sera modifié pour que chaque processus soit chiffré avec sa propre clé et puisse avoir un cycle de vie sûr. L’ensemble des clés devra être protégé efficacement dans le matériel.

Contact : olivier.savry@cea.fr

Combinaison de sous et surapproximations de la memoire pour l'analyse de code bas-niveau

Le théorème de Rice énonçant qu'on ne peut pas avoir de méthode qui sache automatiquement dire si une propriété sur un programme est vraie ou non a conduit à séparer les outils de vérification en deux groupes: les outils sound fonctionnant par sur-approximation, comme l'interprétation abstraite, sont capables de prouver automatiquement que certaines propriétés sont vraies, mais ne savent parfois pas conclure et produisent des alarmes; à l'inverse, les outils complete fonctionnant par sous-approximation, comme l'exécution symbolique, savent produire des contre-exemples, mais pas démontrer si une propriété est vraie.

*Le but général de la thèse est d'étudier la combinaison entre méthodes sound et complete d'analyse de programme, et en particulier l'analyse statique par interprétation abstraite et la génération de formules sous-approximée par exécution symbolique*.

Nous nous intéresserons particulièrement à la combinaison d'abstractions sur et sous-approximantes, en particulier pour la mémoire. Les applications envisagées en priorité concernent les analyses de code au niveau binaire, telles que réalisées par la combinaison des plateformes d'analyse BINSEC et CODEX, pour pouvoir trouver des failles de securite automatiquement ou demontrer leur absence.

Top