INTERNSHIP - Software development for a Bayesian optimization framework H/F
Stage Saclay (Essonne)
Description de l'offre
Détail de l'offre
Informations générales
Entité de rattachement
Le CEA est un acteur majeur de la recherche, au service des citoyens, de l'économie et de l'Etat.Il apporte des solutions concrètes à leurs besoins dans quatre domaines principaux : transition énergétique, transition numérique, technologies pour la médecine du futur, défense et sécurité sur un socle de recherche fondamentale. Le CEA s'engage depuis plus de 75 ans au service de la souveraineté scientifique, technologique et industrielle de la France et de l'Europe pour un présent et un avenir mieux maîtrisés et plus sûrs.
Implanté au cœur des territoires équipés de très grandes infrastructures de recherche, le CEA dispose d'un large éventail de partenaires académiques et industriels en France, en Europe et à l'international.
Les 20 000 collaboratrices et collaborateurs du CEA partagent trois valeurs fondamentales :
• La conscience des responsabilités
• La coopération
• La curiosité
Référence
2026-39326Description de l'unité
Notre Service dédié au Génie Logiciel pour la Simulation (SGLS) réalise et maintient des plateformes génériques, pérennes et open source dans le but :
- de développer des codes de calcul parallèles en mécanique des fluides à différentes échelles (https://sourceforge.net/projects/trust-platform/)
- d'exploiter les codes de calculs à l'aide d'outils de mise en données, prétraitements et postraitements, standards ou spécifiques ;
- de fournir aux physiciens les méthodes et outils leur permettant d'optimiser leurs conceptions et de traiter les incertitudes de leurs études de sûreté.
Le Laboratoire d'Intelligence Artificielle et de science des Données (autrement nommé le LIAD) réalise et maintient une plateforme générique, pérenne et open source pour fournir à nos physiciens des méthodes et outils leur permettant d'améliorer leurs modèles, d'optimiser leurs conceptions et de traiter les incertitudes de leurs études : la plateforme Uranie.
Uranie ? Oui, notre plateforme permet dans l'approche VVQI (Validation, Vérification et Quantification d'Incertitude) de créer des plans d'expériences adaptés aux besoins d'une analyse de sensibilité, d'un problème d'optimisation ou de la génération d'une base d'apprentissage ou de test pour un modèle de substitution.
Uranie permet de piloter le lancement des codes ou fonctions de manière séquentielle ou avec différentes approches de parallélisation.
Description du poste
Domaine
Administration d'entreprise et communication
Contrat
Stage
Intitulé de l'offre
INTERNSHIP - Software development for a Bayesian optimization framework H/F
Sujet de stage
Transforming a Bayesian Optimisation Prototype into a Production-Ready Framework
Durée du contrat (en mois)
4
Description de l'offre
At theInstitute of Applied Sciences and Simulation for Low-Carbon Energies(ISAS) of the CEA, we operate at the interface of theoretical physics, applied mathematics, and computer science. Research at the institute involves thedevelopmentofcomputational toolsto modelcomplex systemsinmaterial science. Bridging the gap between academic prototypes and robust software is essential to translate these models into reliable solutions for applied research.
One specific application concernsadditive manufacturing, which enables the creation of metallic components for industrial use. These parts involve complex geometries which need to be engineered to ensure the desired physical and mechanical properties. Designing these structures requires navigating a high-dimensional parameter space to reach arbitrary optimal configurations under constraints. To address this, theLaboratory of Artificial Intelligence and Data Science(LIAD) and theLaboratory of Engineering of Surfaces and Lasers(LISL) have jointly developed aprototype software suite. This tool couplesfinite element analysiswithconstrained Bayesian optimisationto automatically identify optimal geometric parameters.
The current Python codebase provides a functional and documented implementation of the mathematical framework, successfully validated on specific use-cases. To extend its utility to broader additive manufacturing applications, the software requiresarchitectural modularisation. The objective is to transform this specialised implementation into a generic, installable library capable of accommodating diverse geometrical constraints and physical models.
The intern will undertake the following tasks, which will provide the opportunity to learn and apply the principles of software engineering best practices, specifically in the areas of architecture, standardisation, and packaging:
- Refactoring and Standardisation: Unify the Command Line Interfaces, implement robust path handling, and standardise argument parsing to abide by Unix/POSIX standards.
- Architectural Decoupling: Separate the core optimisation engine from simulation-specific parameters. This involves building a modular interface to load user-defined constraints and physical models, allowing the package to accommodate new geometries without modifying the internal codebase.
- Robustness and Validation: Implement strict input validation (e.g. using Pydantic or JSON Schema) to prevent runtime errors, and develop a suite of unit and integration tests integrated into a continuous integration (CI/CD) pipeline.
- Documentation and Packaging: Write comprehensive developer and user documentation (Sphinx/MkDocs), create tutorials, and finalise the Python package configuration for standard installation.
Moyens / Méthodes / Logiciels
research software engineering, python packaging, Bayesian optimisation, CI/CD, documentation
Profil recherché
Profil du candidat
We are looking for amethodicalandprecisesecond-year student of an engineering school (the FrenchM1 level) with a strong background inComputer ScienceorApplied Mathematics. The ideal candidate values code quality over quick fixes. Prior knowledge of the specific physics and simulation codes (Cast3M, URANIE) is not required and will be taught as needed.
Required Skills:
- Proficiency inPython3.10+ (Object-Oriented Programming, typing, module structure).
- Experience withgitand collaborative workflows.
- Knowledge of modern Python tooling (uv, pip, pytest).
- Basic understanding ofmathematical concepts(vectors, bounds) is required; deep knowledge of material science is not necessary.