デバイス上でのトレーニングにより、事前にトレーニングされたモデルを微調整することで、センサーから収集された新しいデータにモデルを適応させることができます。ただし、メモリリソースが少ないIoTデバイスでは、トレーニングメモリの消費量が非常に多くなります。わずか256KBのメモリでデバイス上のトレーニングを可能にするアルゴリズムとシステムの共同設計フレームワークを提案します。デバイス上でのトレーニングは、2つの固有の課題に直面しています。(1)ニューラルネットワークの量子化されたグラフは、ビット精度が混在し、正規化が行われていないため、最適化が困難です。 (2)限られたハードウェアリソース(メモリと計算)では、完全な逆方向の計算はできません。最適化の難しさに対処するために、勾配スケールを較正し、量子化されたトレーニングを安定させるために、量子化対応スケーリングを提案します。メモリフットプリントを削減するために、重要度の低いレイヤーとサブテンソルの勾配計算をスキップするスパース更新を提案します。アルゴリズムの革新は、軽量のトレーニングシステムであるTiny Training Engineによって実装されます。このシステムは、後方計算グラフを整理してスパース更新をサポートし、実行時の自動差分をコンパイル時間にオフロードします。私たちのフレームワークは、クラウドトレーニングの精度と一致しながら、既存のフレームワークのメモリの1/100未満を使用して、小さなIoTデバイス(たとえば、256KBのSRAMのみを備えたマイクロコントローラー)での視覚認識のデバイス上転送学習のための最初の実用的なソリューションです+tinyMLアプリケーションVWWのエッジ展開。私たちの調査により、IoTデバイスは推論を実行するだけでなく、デバイス上の生涯学習のために新しいデータに継続的に適応することができます。
On-device training enables the model to adapt to new data collected from the sensors by fine-tuning a pre-trained model. However, the training memory consumption is prohibitive for IoT devices that have tiny memory resources. We propose an algorithm-system co-design framework to make on-device training possible with only 256KB of memory. On-device training faces two unique challenges: (1) the quantized graphs of neural networks are hard to optimize due to mixed bit-precision and the lack of normalization; (2) the limited hardware resource (memory and computation) does not allow full backward computation. To cope with the optimization difficulty, we propose Quantization-Aware Scaling to calibrate the gradient scales and stabilize quantized training. To reduce the memory footprint, we propose Sparse Update to skip the gradient computation of less important layers and sub-tensors. The algorithm innovation is implemented by a lightweight training system, Tiny Training Engine, which prunes the backward computation graph to support sparse updates and offloads the runtime auto-differentiation to compile time. Our framework is the first practical solution for on-device transfer learning of visual recognition on tiny IoT devices (e.g., a microcontroller with only 256KB SRAM), using less than 1/100 of the memory of existing frameworks while matching the accuracy of cloud training+edge deployment for the tinyML application VWW. Our study enables IoT devices to not only perform inference but also continuously adapt to new data for on-device lifelong learning.