Enabling On-device Training on mobile GPUs
Project Description
Deep learning has had a tremendous impact in computer vision, natural language processing, and audio signal processing. Due to this success, further efforts have concentrated on porting these deep models on resource-constrained devices such as phones, wearables, and, more recently, micro- controllers. While on-device inference has now been widely explored, highly efficient on-device training remains an open area of investigation. In this project, you will develop a framework to enable efficient training on smartphones, wearable platforms. This will extend an open source mobile framework for enabling efficient GPU training on Android.

Contact: Interested students can actively discuss and suggest their ideas and also contact Young D. Kwon (ydk21@cam.ac.uk), Dr. Jagmohan Chauhan (jc2161@cam.ac.uk)/J.Chauhan@soton.ac.uk, and Prof. Pan Hui (panhui@cse.ust.hk) for more details.

Reference papers (can be a good starting point)
[1] 2016. MobiCom. LEO: Scheduling Sensor Inference Algorithms across Heterogeneous Mobile Processors and Network Resources. Petko Gergiev et al.
[2] 2017. MobiSys. Accelerating Mobile Audio Sensing Algorithms through On-Chip GPU offloading. Petko Georgiev et al.
[3] 2018. IWOCL. OpenCL Optimization and Best Practices for Qualcomm Adreno GPUs. Hongqiang Wang et al.
[4] OpenCL programming guide from Qualcomm ("OpenCL_Guide.pdf" attached in emails).
[5] 2021. ArXiv. It's always personal: Using Early Exits for Efficient On-Device CNN Personalisation. Leontiadis et al.
[6] Github Repo: DeepCL (https://github.com/hughperkins/DeepCL)
Supervisor
HUI Pan
Quota
3
Course type
UROP1000
UROP1100
UROP2100
UROP3100
UROP4100
Applicant's Roles
Required skills/aptitudes to successfully complete the project are:

1. Self-motivated and proactive, which means you should be able to set your own milestones and finish them on time.

2. C++ programming, OpenCL, Parallel programming, basic knowledge of how neural networks work.

3. Understanding of frameworks for the development (e.g., Android) is a plus.
Applicant's Learning Objectives
1. Opportunity to gain hands-on experience in on-device ML/DL research

2. Opportunity to tackle a challenging and novel problem that no one has solved before

3. Opportunity for having a top-tier academic publication, de
Complexity of the project
Challenging