LiME-TM: A Lightening Fast and Memory Efficient ML Framework for MCUs

On-Device Training

Han Wu, Research Associate, Newcastle University

Machine Learning: Random Forest, Decision Trees, Neural Networks, Tsetlin Machine (TM) ...

Are Neural Networks suitable for MCUs?

  • Neural Networks
    • Computation intensive (GPU)
    • Memory hungry
    • Floating Point
  • MCUs
    • Limited computation power (no GPU)
    • Limited memory (e.g., 256KB RAM)
    • INT32, INT16, INT8

Why is On-Device Training Important?

Data Distribution Shift

  • Evolving Environment
  • Sensor Degradation
  • User Personalization

Benchmark on ESP32 (Arduino)

Model Accuracy Training Inference
2D-CNN 95.04% 114.2 ms 24.6 ms
FC (10+50) 72.61% 27.0 ms 0.89 ms
FC (10×10) 77.50% 27.3 ms 0.97 ms
FC (1×10) 82.45% 23.9 ms 0.48 ms
       
LiME-TM (8-bit) 93.86% 0.37 ms 1.20 ms
LiME-TM (4-bit) 93.22% 0.32 ms 1.01 ms

Are Neural Networks suitable for MCUs?

MNIST Dataset 2D-CNN Tsetlin Machine (TM)
Accuracy 95.04% 93.86%
Training 114.2 ms 0.37 ms
Inference 24.6 ms 1.20 ms
       
Operations Convolution & +
Batch Size 8 1
Optimizer Gradient Descent Reinforcement Feedback

Introduction to Tsetlin Machine

Tsetlin Machine (Inference)

Tsetlin Machine (Training)

Tsetlin Machine (Training)

Thanks

  • On-Device Training: 20 KB SRAM
  • On-Device Inference: 2 KB SRAM

  Source Code