cpldcpu/BitNetMCU

Neural Networks with low bit weights on low end 32 bit microcontrollers such as the CH32V003 RISC-V Microcontroller and others

解決的問題

BitNetMCU 允許在極低性能的微控制器(例如 CH32V003)上執行高精度神經網路,這些設備記憶體極度有限(例如 2KB RAM 和 16KB Flash),且可能缺乏硬體乘法指令。

工作原理

本專案使用基於 PyTorch 的訓練流程,採用量化感知訓練(QAT)與模型結構微調。這使得模型可壓縮為低比特格式(包括二值、三值、2位、4位、8位與 NF4)。訓練完成的權重會匯出為 ANSI-C 程式碼,提供一個可移植的推論引擎,可在各種 MCU 架構上執行,包括沒有硬體乘法器的架構。

適用對象

專注於 TinyML 的嵌入式開發者與 AI 研究人員,特別是需要在資源極度受限的 RISC-V 或 ARM Cortex-M0 微控制器上部署神經網路的使用者。

主要亮點

  • 極致記憶體效率:在 MNIST 上達成最高 99.55% 的準確率,同時僅佔用 16KB Flash 與 2-4KB RAM。
  • 無需乘法的推論:支援可不使用乘法指令即可執行的量化方案。
  • 彈性量化支援:支援多種低比特格式,包括二值、三值、NF4 與非對稱 4 位量化。
  • 可移植的 C 引擎:推論以 ANSI-C 實作,便於在不同微控制器架構間移植。

相關

  • 專案
  • 專案
  • 專案
  • 專案