Recherche

Mes activités de recherche portent sur l’algorithmique parallèle et les réseaux de neurones sur grappes de calcul pour la résolution de problèmes scientifiques. Ces activités sont  détaillées dans les cadres respectifs de mon stage de DEA, de ma thèse de doctorat et de mes post-doctorats.

Stage de DEA

L’objet de ce stage dirigé par Raphaël Couturier (AND/LIFC, Université de Franche-Comté) a porté sur l’étude de la perte de messages pour les algorithmes asynchrones dans le cadre du calcul sur grille. Dans un contexte de calcul sur grille, il existe plusieurs classes  d’algorithmes itératifs. Cette classification repose sur leur niveau de synchronisation. En utilisant un algorithme itératif mettant en place des communications et des itérations asynchrones, il est possible de supprimer les temps de latence entre deux itérations de calculs. On peut aussi profiter de la capacité de ces algorithmes à supporter les pertes partielles de messages.

Le but de ce stage était d’implémenter les pertes partielles de messages dans un algorithme itératif, et ensuite de l’appliquer sur un problème concret d’advection-diffusion de deux espèces chimiques. Pour cette implémentation, nous avons utilisé les bibliothèques Madeleine (pour le support des communications) et Marcel (pour le support des processus légers). Ce stage a permis de montrer l’intérêt de l’incorporation de messages incomplets dans les algorithmes itératifs sur les grappes de calcul, sous réserve d’obtenir un pilote de communication supportant la perte de messages (les résultats ont été obtenus par simulation).

Thèse de doctorat

Ma thèse a été réalisée dans le cadre d’une collaboration entre l’équipe du CREST (FEMTO-ST, CNRS UMR 6174), dirigée par le professeur Libor Makovicka et l’équipe AND (LIFC, EA 4157) dirigée par le professeur Jaques Bahi. L’intitulé de la thèse est : ‘‘Parallélisation de problèmes d’apprentissage par des réseaux neuronaux artificiels. Application en radiothérapie externe ».

Elle a porté sur l’étude des réseaux de neurones appliqués à un contexte particulier qu’est celui de la radiothérapie externe. L’objectif était de mettre au point un système d’évaluation des doses d’irradiation déposées dans un milieu hétérogène quelconque, quelle que soit la configuration de cette irradiation. Cet outil pourra ensuite être utilisé dans un processus d’optimisation de la planification du traitement des tumeurs cancéreuses. Ce problème spécifique à la physique médicale m’a permis d’être à l’interface de plusieurs disciplines que sont la recherche médicale, la physique et l’informatique.

Le premier domaine de recherche abordé au cours de ma thèse a concerné la mise au point d’un algorithme de construction incrémentale d’un réseau neuronal lors de son apprentissage. L’approche utilisée a consisté à construire un réseau neuronal à partir de données d’irradiations obtenues dans des milieux homogènes (une seule matière) et d’utiliser le réseau obtenu dans un algorithme de calcul des doses déposées dans des milieux hétérogènes quelconques. Les intérêts de cette étude ont été de combiner différentes optimisations des algorithmes d’apprentissage spécialisés dans l’approximation de fonctions. L’algorithme d’apprentissage incrémental, que nous avons proposé, a donc été construit sur une architecture de type HPU en utilisant l’algorithme d’apprentissage RPROP. En utilisant la combinaison de ces optimisations et en ajoutant à l’algorithme ainsi obtenu la possibilité d’optimiser le nombre de neurones disponibles sur la couche cachée en l’augmentant progressivement au cours de l’apprentissage, nous avons obtenu un algorithme d’apprentissage d’une grande performance pour les réseaux de neurones utilisés en interpolateur de fonctions.

Le second domaine abordé a consisté en la parallélisation de l’algorithme d’apprentissage. Les buts de ce travail étaient de permettre une accélération de la phase d’apprentissage ainsi que la possibilité de la mise à l’échelle. Pour cela, notre algorithme parallèle d’apprentissage intègre une approche originale de décomposition du domaine avec recouvrement. Ensuite, pour répondre aux difficultés rencontrées lors du déploiement de cet algorithme, nous avons mis en oeuvre une série de mécanismes permettant de répondre aux pannes des machines exécutantes , ou même, du processus général d’apprentissage. De cette manière, il est possible de réaliser des apprentissages sur des grappes de grande taille et donc sur les grands ensembles de données qui sont nécessaires à la reconstitution des situations cliniques.

Le dernier domaine de recherche a porté sur la mise au point d’un algorithme de calcul permettant d’évaluer les doses d’irradiation déposées dans un milieu donné de manière très rapide et précise. En effet, les méthodes existantes pour réaliser ce type de calculs sont soit rapides et peu précises, soit précises mais très lentes. Ces dernières ne sont donc pas utilisables dans un processus d’optimisation ayant des contraintes fortes de précision du résultat (application médicale) et de temps de calcul en exploitation réelle (nombre important d’évaluations de doses à réaliser). Notre algorithme de calcul a été basé sur un couplage original du réseau neuronal précédemment entraîné et du comportement physique du dépôt de doses lors des changements de milieux. Cet algorithme présente l’avantage de s’affranchir d’un moteur physique complexe tout en garantissant une précision importante des résultats en un temps de calcul très inférieur aux meilleures méthodes existantes. L’objectif était de construire un algorithme en se basant sur les réseaux de neurones précédemment entraînés sur des résultats d’irradiation en milieux homogènes. Pour le concevoir, nous nous sommes basés sur le principe de continuité de la dose en tout point du milieu ainsi que sur une fine observation du comportement de la courbe de dépôt de dose aux interfaces entre milieux. L’algorithme global a été en fait construit à partir de plusieurs algorithmes spécifiquement développés pour résoudre chaque problème indépendamment. Le premier algorithme réalisé permet de prendre en charge l’hétérogénéité du milieu. Il s’agit donc de pouvoir retrouver lors de l’évaluation de dose d’un milieu, la position virtuelle correspondante à un niveau de dose dans un milieu de densité différente, en ayant pour seul repère de positionnement, la direction entre la source d’irradiation et le point recherché. Le second algorithme proposé permet quand à lui d’estimer la valeur de dose déposée dans un volume alors que celui-ci n’est pas directement sous le champ du faisceau irradiant. Malgré nos recherches, nous n’avons pas été à même d’implémenter un algorithme pour la gestion des interfaces latérales. Nous avons toutefois proposé un ensemble de solutions permettant d’évaluer l’irradiation d’un milieu avec une grande précision, quel que soit le type d’hétérogénéité qui le compose.

L’ensemble de nos travaux se retrouve dans la solution logiciel Neurad qui est actuellement utilisé, validé  et toujours développé au sein de l’équipe IRMA-CREST.

Orange Labs

Mon post-doctorat est réalisé au sein de l’équipe Optimisation Planning Software dirigée par M. Jean-François Floc’h, du laboratoire Network Engineering Toll, Orange R\&D et porte sur « Les études de méthodes parallèles applicables aux logiciels de planification radio ».

Avec l’évolution des différentes technologies matérielles, plusieurs techniques évoluées de parallélisation sont maintenant déployables sur de simples machines de travail. L’objectif de ces travaux est donc multiple. Il s’agit dans un premier temps d’identifier quelles sont parmi ces techniques celles pouvant être rapidement mises en place dans le cadre du développement d’une application commerciale. La seconde partie de ces travaux consiste à réaliser une étude des différentes solutions logicielles développées au sein de l’équipe OPS afin de déterminer les différents points chauds pouvant être optimisés à l’aide de techniques de parallélisation. Les principales techniques déployées au cours de ces études sont le multithreading, à l’aide des environnements OpenMP ou la plate-forme de développement Threading Building Blocks, la vectorisation via les différents jeux d’instructions SSE ou encore l’utilisation des cartes graphiques comme éléments de calculs via la bibliothèque CUDA.

Projet Houpic

ATER Université de Franche-Comté