PRIOT: Pruning-Based Integer-Only Transfer Learning for Embedded Systems
Honoka Anada, Sefutsu Ryu, Masayuki Usui, Tatsuya Kaneko, Shinya Takamaeda-Yamazaki
TL;DR
The paper tackles on-device transfer learning for ultra-low-power edge devices that lack FPUs, focusing on integer-only training with static scale factors to reduce computational and memory costs. It introduces PRIOT, a pruning-based method that freezes pre-trained weights and learns a pruning pattern via edge-popup, enabling accurate transfer learning under fixed quantization scales; it also presents PRIOT-S, a memory-efficient variant that scores only a subset of edges. Empirical results on a Raspberry Pi Pico show substantial accuracy gains (8.08 to 33.75 percentage points on rotated MNIST) over static-scale baselines and meaningful memory/time trade-offs for PRIOT-S, demonstrating practical viability for embedded systems. The work offers a path to robust, on-device adaptation of neural networks on resource-constrained hardware where dynamic scaling is impractical.
Abstract
On-device transfer learning is crucial for adapting a common backbone model to the unique environment of each edge device. Tiny microcontrollers, such as the Raspberry Pi Pico, are key targets for on-device learning but often lack floating-point units, necessitating integer-only training. Dynamic computation of quantization scale factors, which is adopted in former studies, incurs high computational costs. Therefore, this study focuses on integer-only training with static scale factors, which is challenging with existing training methods. We propose a new training method named PRIOT, which optimizes the network by pruning selected edges rather than updating weights, allowing effective training with static scale factors. The pruning pattern is determined by the edge-popup algorithm, which trains a parameter named score assigned to each edge instead of the original parameters and prunes the edges with low scores before inference. Additionally, we introduce a memory-efficient variant, PRIOT-S, which only assigns scores to a small fraction of edges. We implement PRIOT and PRIOT-S on the Raspberry Pi Pico and evaluate their accuracy and computational costs using a tiny CNN model on the rotated MNIST dataset and the VGG11 model on the rotated CIFAR-10 dataset. Our results demonstrate that PRIOT improves accuracy by 8.08 to 33.75 percentage points over existing methods, while PRIOT-S reduces memory footprint with minimal accuracy loss.
