Modern consumer electronic devices have started executing deep learning-based intelligence services on devices, not cloud servers, to keep personal data on devices and to 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. However, the limited resources of devices incurs significant difficulties. We propose a light-weight on-device training framework, NNTrainer, which provides highly memory-efficient neural network training techniques and proactive swapping based on fine-grained execution order analysis for neural networks. Moreover, its optimizations do not sacrifice accuracy and are transparent to training algorithms; thus, prior algorithmic studies may be implemented on top of NNTrainer. The evaluations show that NNTrainer can reduce memory consumption down to 1/20 (saving 95%!) and effectively personalizes intelligence services on devices. NNTrainer is cross-platform and practical open-source software, which is being deployed to millions of mobile devices.
翻译:现代消费电子设备已开始直接在设备上执行基于深度学习的智能服务,而非依赖云服务器,从而将个人数据保留在设备端并降低网络与云成本。我们发现这一趋势为实现智能服务个性化提供了机遇:通过用户数据更新神经网络,且无需将数据暴露至设备外部——即设备端训练。然而,设备资源受限带来了显著挑战。我们提出轻量级设备端训练框架NNTrainer,该框架提供高内存效率的神经网络训练技术,并基于神经网络细粒度执行顺序分析实现主动交换。此外,其优化不牺牲准确性,且对训练算法透明;因此,先前的算法研究可在NNTrainer基础上实现。评估表明,NNTrainer可将内存消耗降低至1/20(节省95%!),并有效实现设备端智能服务个性化。NNTrainer是跨平台且实用的开源软件,目前已部署至数百万台移动设备。