Job Description:
Position description
Category
Mathematics, information, scientific, software
Contract
Internship
Job title
8-bit floating-point formats for deep learning H/F
Subject
The general goal of the proposed internship is to implement complete training of neural networks on diverse tasks using fp8 formats, and compare the results with 32-bit floating point (fp32), 16-bit floating-point (fp16), 8-bit fixed-point. If time allows, it may also encompass C++ implementation, energy measurements, cache miss/hit measurements, and/or implementation of other, more unusual numerical formats.
Contract duration (months)
6
Job description
By default, computations in a deep neural network are done with numbers represented in the 32-bit floating-point format (fp32). This format can represent a great variety of real-valued numbers but requires 4 bytes to store each number used, which can be a problem for memory-constrained environments such as embedded systems. 8-bit fixed-point (int8) is a common format for deep neural network inference [REF], which enables great compression with little loss in accuracy [REF]. But training a neural network in reduced precision is much less commonly done. When training, 8-bit fixed-point suffers from its relatively small dynamic range [REF], which incurs significant degradation in accuracy [REF].
To correct this flaw, some authors [REF] proposed to make all computations in the learning phase in 8-bit floating-point format (fp8). They claim that it yields networks with just the same performances as networks trained in full precision at various tasks (language modelling, image classification). Yet, despite these promises, no library is publicly available to perform deep learning in 8 bits.
During this internship, the intern will:
* Produce a research bibliography on numerical formats for deep learning
* Develop python deep learning modules simulating the behaviour of fp8
* Run experiments on datasets and compare results with other numerical formats
* (optional) Implement fp8 modules in C++
* (optional) Measure energy consumption and cache miss/hit rate
* (optional) Extend the previous work on other unusual numerical formats
What comes with the offer:
* Office in Grenoble, France, a world-class nanotech hub, with high-level experts all around
* A unique quality of life, with quick access to mountains: skiing, cycling, trailing, hiking, paragliding spots can be reached in less than 1hr by car
* Subsidized lunch
* Employee benefits : culture, sport events, free-of-charge music room, subsidized activities …
* X days leave
Methods / Means
Linux / Slurm / Python / C++ (optionnel)
Applicant Profile
The ideal candidate should:
* Be enrolled in the final year of an engineering school or a university master's degree with a strong focus on computer science;
* Be comfortable with python and deep learning fundamentals;
* Have experience with deep learning libraries in python, preferably PyTorch;
* Experience with C++ is a plus;
* Be curious and eager to solve complex problems;
* Be fluent either in English or in French
In line with CEA's commitment to integrating people with disabilities, this job is open to all.
Position location
Site
Grenoble
Job location
France, Auvergne-Rhône-Alpes, Isère (38)
Location
Grenoble
Candidate criteria
Languages
* English (Intermediate)
* French (Intermediate)
Prepared diploma
Bac+5 - Master 2
Recommended training
Engineering school / University (Computer Science / Applied Maths)
PhD opportunity
Oui
Requester
Position start date
09/01/2025
Source: | Company website |
Posted on: | 26 Sep 2024 |
Type of job: | Internship |
Industry: | Government / Non Profit |
Languages: | English |
Recruiters |
Top Jobs |
Countries |