{"title":"基于剪枝的嵌入式系统全整数迁移学习","authors":"Honoka Anada;Sefutsu Ryu;Masayuki Usui;Tatsuya Kaneko;Shinya Takamaeda-Yamazaki","doi":"10.1109/LES.2024.3485003","DOIUrl":null,"url":null,"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 letter 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–33.75 percentage points over existing methods, while PRIOT-S reduces memory footprint with minimal accuracy loss.","PeriodicalId":56143,"journal":{"name":"IEEE Embedded Systems Letters","volume":"17 2","pages":"87-90"},"PeriodicalIF":1.7000,"publicationDate":"2024-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"PRIOT: Pruning-Based Integer-Only Transfer Learning for Embedded Systems\",\"authors\":\"Honoka Anada;Sefutsu Ryu;Masayuki Usui;Tatsuya Kaneko;Shinya Takamaeda-Yamazaki\",\"doi\":\"10.1109/LES.2024.3485003\",\"DOIUrl\":null,\"url\":null,\"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 letter 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–33.75 percentage points over existing methods, while PRIOT-S reduces memory footprint with minimal accuracy loss.\",\"PeriodicalId\":56143,\"journal\":{\"name\":\"IEEE Embedded Systems Letters\",\"volume\":\"17 2\",\"pages\":\"87-90\"},\"PeriodicalIF\":1.7000,\"publicationDate\":\"2024-10-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE Embedded Systems Letters\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://ieeexplore.ieee.org/document/10729874/\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Embedded Systems Letters","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/10729874/","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
摘要
设备上迁移学习对于使通用骨干模型适应每个边缘设备的独特环境至关重要。微小的微控制器,如树莓派Pico,是设备上学习的关键目标,但通常缺乏浮点单元,需要只进行整数训练。以往研究采用动态计算量化尺度因子的方法,计算成本较高。因此,这封信的重点是具有静态尺度因子的整数训练,这是现有训练方法的挑战。本文提出了一种新的训练方法PRIOT,该方法通过剪枝选择边缘而不是更新权值来优化网络,从而实现了静态尺度因子的有效训练。剪枝模式由edge-pop - up算法确定,该算法训练一个名为“分数”的参数来代替原始参数分配给每条边,并在推理前对分数低的边进行剪枝。此外,我们引入了一个内存高效的变体,PRIOT-S,它只给一小部分边分配分数。我们在Raspberry Pi Pico上实现了PRIOT和PRIOT- s,并在旋转的MNIST数据集上使用了一个微型CNN模型,在旋转的cifar10数据集上使用了VGG11模型,评估了它们的精度和计算成本。我们的研究结果表明,PRIOT比现有方法提高了8.08-33.75个百分点的精度,而PRIOT- s以最小的精度损失减少了内存占用。
PRIOT: Pruning-Based Integer-Only Transfer Learning for Embedded Systems
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 letter 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–33.75 percentage points over existing methods, while PRIOT-S reduces memory footprint with minimal accuracy loss.
期刊介绍:
The IEEE Embedded Systems Letters (ESL), provides a forum for rapid dissemination of latest technical advances in embedded systems and related areas in embedded software. The emphasis is on models, methods, and tools that ensure secure, correct, efficient and robust design of embedded systems and their applications.