Using machine learning APIs in modern applications

About this project

Project description

Machine learning (ML) is a fast-moving field with frequent innovations in improving ML models’ runtime, resource footprint, and accuracy. Training a good model requires significant expertise and computational resources. To facilitate easier use of ML techniques, ML APIs are designed and trained so that they can be incorporated into various applications.

However, the adoption of ML APIs in practice is challenging because there are several available APIs for the same task with varying accuracy, runtime, and memory footprint, and each API’s accuracy can often depend on the input. For instance, for the task of object detection, one API may be better during the daytime and another could be better during the nighttime. The problem is further exacerbated since ML APIs can give garbage outputs at any time.

This project will study how ML APIs deal with varying inputs and then how applications deal with garbage outputs. We hope to generate novel design principles and programming abstractions that guide designing ML APIs and simplify applications using ML APIs.

Outcomes

‘- Novel design principles / novel programming language abstractions for designing and simplifying the use of ML APIs.
– 2-3 high-quality publications in software engineering and/or machine learning and/or systems conferences.

Information for applicants

Essential capabilities

Excellent programming and analytical skills

Desireable capabilities

Excellent English written skills, Exposure to large-scale software and to machine learning.

Expected qualifications (Course/Degrees etc.)

Completed a Bachelors’s or a Master’s degree within the field of Computer Science or a closely related field

Project supervisors

Principal supervisors

UQ Supervisor

Dr Guowei Yang

School of Information Technology and Electrical Engineering
IITD Supervisor

Assistant Professor Abhilash Jindal

Department of Computer Science and Engineering