Internship@Grenoble: The AI Pac-Man - Using LLM-agents for End-to-end Software Packaging.
Contract type : Internship agreement
Level of qualifications required : Master's or equivalent
Fonction : Internship Research
About the research centre or Inria department
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.
Context
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.
Assignment
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
Main activities
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.
Skills
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)
Benefits package
- Subsidized meals
- Partial reimbursement of public transport costs
- Leave
- Possibility of teleworking and flexible organization of working hours
Remuneration
€4.35 per hour of actual presence at 1 January 2024.
About 590€ gross per month (internship allowance)
General Information
- Theme/Domain :
Architecture, Languages and Compilation
System & Networks (BAP E) - Town/city : Saint Martin d'Hères
- Inria Center : Centre Inria de l'Université Grenoble Alpes
- Starting date : 2025-03-03
- Duration of contract : 5 months
- Deadline to apply : 2025-01-16
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
CV + cover letter
Applications must be submitted online via the Inria website. Processing of applications submitted via other channels is not guaranteed.
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : DATAMOVE
-
Recruiter :
Raffin Bruno / bruno.raffin@inria.fr
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.