Mobiprox: Supporting Dynamic Approximate Computing on Mobiles
Matevž Fabjančič, Octavian Machidon, Hashim Sharif, Yifan Zhao, Saša Misailović, Veljko Pejović
TL;DR
Mobiprox addresses the need for context-aware, runtime-adaptive compression of mobile deep learning models to cope with changing resource and input conditions. It presents an end-to-end pipeline that offline-identifies Pareto-optimal approximation configurations, profiles them on Android devices via a custom OpenCL tensor runtime, and enables dynamic adaptation through state- and confidence-based strategies. Empirical results in HAR and SKR domains show up to 15% system-wide energy savings with minimal or no loss in accuracy, while server-side tuning can achieve faster speedups than on-device execution. The work demonstrates the practicality of on-device adaptive approximate computing and highlights pathways for integration with production mobile DL stacks to further improve efficiency.
Abstract
Runtime-tunable context-dependent network compression would make mobile deep learning (DL) adaptable to often varying resource availability, input "difficulty", or user needs. The existing compression techniques significantly reduce the memory, processing, and energy tax of DL, yet, the resulting models tend to be permanently impaired, sacrificing the inference power for reduced resource usage. The existing tunable compression approaches, on the other hand, require expensive re-training, do not support arbitrary strategies for adapting the compression and do not provide mobile-ready implementations. In this paper we present Mobiprox, a framework enabling mobile DL with flexible precision. Mobiprox implements tunable approximations of tensor operations and enables runtime-adaptable approximation of individual network layers. A profiler and a tuner included with Mobiprox identify the most promising neural network approximation configurations leading to the desired inference quality with the minimal use of resources. Furthermore, we develop control strategies that depending on contextual factors, such as the input data difficulty, dynamically adjust the approximation levels across a mobile DL model's layers. We implement Mobiprox in Android OS and through experiments in diverse mobile domains, including human activity recognition and spoken keyword detection, demonstrate that it can save up to 15% system-wide energy with a minimal impact on the inference accuracy.
