ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Code interne
EI9CISC
Liste des enseignements
Introduction à la visualisation scientifique
Supports pour le traitement de données
Parcours personnalisé (au choix)
Au choix : 1 parmi 2
Introduction à la visualisation scientifique
Composante
ENSEIRB-MATMECA
La visualisation scientifique située à l'interface entre l'informatique scientifique et les mathématiques appliquées est désormais un outil de communication, de compréhension et d'analyse de résultats rendu incontournable pour l'analyse de grands volume de données.
L'objectif de ce cours est de présenter les enjeux, les principes et des solutions logicielles de visualisation scientifique. Différentes notions seront abordées comme les formats des données, les pipelines de visualisation, les algorithmes d'extraction d'information ou encore l’analyse topologique.
Les TD s'intéressent à la compréhension et à l'utilisation de bibliothèques de visualisation ainsi qu’au développement d'un outil permettant de créer ses propres logiciels de visualisation 3D. Des données issues de simulations numériques 3D seront utilisées dans les TD telles que la modélisation de l'impact d'un asteroid dans l'océan ou encore la génération de turbulence dans un fluide en mouvement. Les technologies utilisées seront notamment Python, VTK, Paraview.
Supports pour le traitement de données
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est d'apprendre aux étudiants les concepts de base nécessaires pour traiter des larges quantités de données de façon distribuée.
Pour cela, les points suivants seront discutés :
1. Introduction au big data
2. Le framework Hadoop et le système de fichiers distribué HDFS
3. Le paradigme MapReduce
4. La création d'applications avec Spark
5. Introduction aux bases de données NoSQL
Parcours personnalisé (au choix)
Composante
ENSEIRB-MATMECA
Apprentissage profond efficace
Composante
ENSEIRB-MATMECA
Ce cours aborde les défis posés par les réseaux neuronaux modernes, qui nécessitent une mémoire et une puissance de calcul importantes, rendant difficile leur déploiement sur des dispositifs mobiles et périphériques. De plus, l'échelle et la complexité croissantes des réseaux neuronaux rendent l'entraînement très exigeant en ressources, créant souvent des goulets d'étranglement qui ralentissent les progrès des applications d'IA. Le cours est divisé en deux parties principales : l'amélioration de l'efficacité de l'inférence et l'optimisation du processus d'entraînement.
Dans la première partie, les étudiants se concentreront sur l'amélioration de l'efficacité de l'inférence en évaluant l'efficacité des réseaux neuronaux et en appliquant diverses techniques de compression, telles que le pruning, la factorisation tensorielle et la quantization, afin de créer des modèles plus petits et plus rapides sans perte de précision. La deuxième partie du cours est consacrée à l'optimisation du processus d'entraînement, en abordant les défis liés à la mise à l'échelle et à la complexité de l'entraînement des modèles d'IA modernes. Les étudiants exploreront des techniques telles que les méthodes d'économie de mémoire, y compris la re-materialization (activation checkpointing) et le offloading, ainsi que différents types de parallélisme—data, tensor, model, et pipeline parallelism—qui sont essentiels pour un entraînement efficace.
Le profilage des réseaux neuronaux pour identifier les goulets d'étranglement est souligné tout au long du cours, aidant les étudiants à comprendre et à résoudre les problèmes de performance tant pour l'inférence que pour l'entraînement. À la fin du cours, les étudiants auront acquis les compétences nécessaires pour optimiser la performance des réseaux neuronaux et réussir le déploiement et l'entraînement de modèles d'IA avancés dans des scénarios réels.
Programmation 3D
Composante
ENSEIRB-MATMECA
Le but de cette UE est de s'initier à l'informatique graphique à travers du cours intégrés et des travaux pratiques. L'initiation porte sur le rendu dit offline avec l'implémentation d'un mini logiciel de lancer de rayon (ray-tracing) ainsi que sur le rendu temps réel à l'aide de GPU via l'API OpenGL.