Entreprise :
Mohammed VI Polytechnic University is an institution dedicated to research and innovation in Africa and aims to position itself among world-renowned universities in its fields The University is engaged in economic and human development and puts research and innovation at the forefront of African development. A mechanism that enables it to consolidate Moroccos frontline position in these fields, in a unique partnership-based approach and boosting skills training relevant for the future of Africa. Located in the municipality of Benguerir, in the very heart of the Green City, Mohammed VI Polytechnic University aspires to leave its mark nationally, continentally, and globally.
Poste :
Peer-to-peer (P2P) learning is a novel machine-learning scheme that has proven to be a more energy-efficient alternative to centralized and federated learning methods, while achieving comparable or even superior accuracy in certain cases. However, implementing machinelearning algorithms in a P2P manner necessitates a suitable and effective hardware infrastructure and software platform different from the conventional servers typically found in data centers. At the College of Computing in UM6P and within the research group led by Professor Robert Basmadjian, MLab was developed which is a cross-platform project for robust, energyefficient P2P machine learning (ML) across heterogeneous devices (Android, iOS, Linux, and web). We are developing the software platform of the MLab, where a mobile client collaborates with other peers (e.g., other mobile phones or IoT devices) within a P2P network to train and personalize ML models on devices CPU and GPU (with hardware acceleration) and exchange model parameters with other peers to achieve an accurate model. Thus, there is an available position for a System Engineer (SE) that lasts 6 months with an option to be extended for another 6 months (if needed).
The main roles of the SE involve in building:
- A React Native app with a C++ ONNX Runtime core for accelerated inference as well as on-device training using the GPU of the mobile phones.
- Bridges to native accelerators (Core ML/ANE on iOS, QNN/NNAPI on Android).
- Lightweight networking for P2P rounds and resilient checkpoints/telemetry.
Responsibilities:
- Implement React Native TurboModules/JSI (C++) exposing model init/infer/train APIs.
- Integrate ONNX Runtime (C++ API) and configure mobile EPs.
- Optimize latency, memory, and power; handle fallbacks gracefully.
- Ship secure builds and CI for Android/iOS; instrument runtime metrics.
Profil recherché :
Required Skills:
- Javascript, React.
- React Native (New Architecture) TurboModules/JSI in C++.
- C++ (CMake), Android NDK, Xcode/Clang.
- ONNX Runtime (C++ API) integration on mobile.
- Mobile accelerator use: Core ML/ANE, QNN/NNAPI.
- On-device training fundamentals; basic FL orchestration.
- Performance profiling and reliability on real devices
