NNTrainer: Light-Weight On-Device Training Framework
Modern consumer electronic devices have adopted deep learning-based
intelligence services for their key features. Vendors have recently started to
execute intelligence services on devices to preserve personal data in devices,
reduce network and cloud costs. We find such a trend as the opportunity to
personalize intelligence services by updating neural networks with user data
without exposing the data out of devices: on-device training. For example, we
may add a new class, my dog, Alpha, for robotic vacuums, adapt speech
recognition for the users accent, let text-to-speech speak as if the user
speaks. However, the resource limitations of target devices incur significant
difficulties. We propose NNTrainer, a light-weight on-device training
framework. We describe optimization techniques for neural networks implemented
by NNTrainer, which are evaluated along with the conventional. The evaluations
show that NNTrainer can reduce memory consumption down to 1/28 without
deteriorating accuracy or training time and effectively personalizes
applications on devices. NNTrainer is cross-platform and practical open source
software, which is being deployed to millions of devices in the authors
affiliation.