Internship@Grenoble: The AI Pac-Man - Using LLM-agents for End-to-end Software Packaging.
Type de contrat : Convention de stage
Niveau de diplôme exigé : Bac + 4 ou équivalent
Fonction : Stagiaire de la recherche
A propos du centre ou de la direction fonctionnelle
The Centre Inria de l’Université de Grenoble groups together almost 600 people in 23 research teams and 9 research support departments.
Staff is present on three campuses in Grenoble, in close collaboration with other research and higher education institutions (Université Grenoble Alpes, CNRS, CEA, INRAE, …), but also with key economic players in the area.
The Centre Inria de l’Université Grenoble Alpe is active in the fields of high-performance computing, verification and embedded systems, modeling of the environment at multiple levels, and data science and artificial intelligence. The center is a top-level scientific institute with an extensive network of international collaborations in Europe and the rest of the world.
Contexte et atouts du poste
The internship will take place at the DataMove team located in the IMAG building on the campus of Saint Martin d’Heres (Univ. Grenoble Alpes) near Grenoble, under the supervision of Bruno Raffin (bruno.raffin@inria.fr), Andres Bermeo (andres.bermeo-marinelli@inria.fr).
The length of the internship is 4 months minimum and the start date is flexible, but need a 2 month delay before starting the interhsip due to administrative constraints. The DataMove team is a friendly and stimulating environment that gathers Professors, Researchers, PhD and Master students. The city of Grenoble is a student-friendly city surrounded by the Alps mountains, offering a high quality of life and where you can experience all kinds of mountain-related outdoor activities.
Mission confiée
The recent but already famous AI Scientist paper proposes to rely on a combination of LLM-agents to automate research paper generation. It covers the process end-to-end: generating novel research ideas, writing and debugging code for experiments, executing these experiments, generating plots from results, describing its findings by writing a full scientific paper, and even reviewing the paper.
The goal of this internship is to take inspiration from this pipeline while targeting a more focused task: building software packages. We have a double motivation: The first one is to evaluate the potential of such LLM-agents for non-trivial coding tasks (but not so complex that it will prevent us from getting interesting results within a few months), the second is to actually build a tool that hopefully will be useful for our team.
Our team has been involved in software packaging efforts and developed advanced expertise with the Nix, Guix and Spack software packagers. The main task of packaging software is writing a specification file that identifies all required dependencies, how to download the software, and how to call its build tools, like Cmake with the correct options. Once completed, a command like "guix install emacs" should install all dependencies, download the code, compile and install it.
The task of writing a package description is time-consuming. Different package managers often use their own specification language. It may also require modifying compilation recipes (cmakelist.txt files for cmake) that directly install dependencies (dependencies should all be installed through the package manager to properly track them).
We are looking for a motivated candidate with experience in development tools (CMake, Git, CI/CD, some software packagers - preferably Spack, Guix or Nix), strong Python programming skills, and some practice with LLMs. The candidate's goal will be to prototype an end-to-end solution using LLM-agents that can:
- Use package managers to query existing packages, test building and installing a given package
- Produce a package recipe for a given software, potentially modifying compilation recipes (like CMakeLists.txt) when required
- Compile and install the built package, retrieve errors if any, correct them, and repeat until successful
Recommended References:
- Paper: The AI Scientist: Towards Fully Automated Open-Ended Scientific Discovery - http://arxiv.org/abs/2408.06292
- Blog: Guix Packaging tutorial: https://guix.gnu.org/cookbook/en/html_node/Packaging-Tutorial.html
- Blog: LLM-agents explained - https://www.promptingguide.ai/research/llm-agents
- Code: Aider, a AI coding assistant agent - https://aider.chat/
- Blog: The different API avaiable at Mistral - https://console.mistral.ai
Principales activités
After getting familiar with the base concepts, existing work, deploying and runing some simple tests, the candidate will iterate to ellaborate a solution and test it. The candidate will join a team developping applications and framwork for high performance computing, experts of the Nix and Guix software packagers.
Compétences
Expected skills include
- Devops Knowledge: software compilation, Git, cmake, package management (Nix, Guix or other), CI
- Some practical experience with LLMs.
- Python
- English (working language)
Avantages
- Subsidized meals
- Partial reimbursement of public transport costs
- Leave
- Possibility of teleworking and flexible organization of working hours
Rémunération
€4.35 per hour of actual presence at 1 January 2024.
About 590€ gross per month (internship allowance)
Informations générales
- Thème/Domaine :
Architecture, langages et compilation
Système & réseaux (BAP E) - Ville : Saint Martin d'Hères
- Centre Inria : Centre Inria de l'Université Grenoble Alpes
- Date de prise de fonction souhaitée : 2025-03-03
- Durée de contrat : 5 mois
- Date limite pour postuler : 2025-01-16
Attention: Les candidatures doivent être déposées en ligne sur le site Inria. Le traitement des candidatures adressées par d'autres canaux n'est pas garanti.
Consignes pour postuler
CV + cover letter
Applications must be submitted online via the Inria website. Processing of applications submitted via other channels is not guaranteed.
Sécurité défense :
Ce poste est susceptible d’être affecté dans une zone à régime restrictif (ZRR), telle que définie dans le décret n°2011-1425 relatif à la protection du potentiel scientifique et technique de la nation (PPST). L’autorisation d’accès à une zone est délivrée par le chef d’établissement, après avis ministériel favorable, tel que défini dans l’arrêté du 03 juillet 2012, relatif à la PPST. Un avis ministériel défavorable pour un poste affecté dans une ZRR aurait pour conséquence l’annulation du recrutement.
Politique de recrutement :
Dans le cadre de sa politique diversité, tous les postes Inria sont accessibles aux personnes en situation de handicap.
Contacts
- Équipe Inria : DATAMOVE
-
Recruteur :
Raffin Bruno / bruno.raffin@inria.fr
A propos d'Inria
Inria est l’institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l’interface d’autres disciplines. L’institut fait appel à de nombreux talents dans plus d’une quarantaine de métiers différents. 900 personnels d’appui à la recherche et à l’innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'efforce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.