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 实现,便于在不同微控制器架构之间移植。
相关
- 项目
- 项目
- 项目
- 项目