cpldcpu/BitNetMCU
Neural Networks with low bit weights on low end 32 bit microcontrollers such as the CH32V003 RISC-V Microcontroller and others
何を解決するか
BitNetMCU は、非常に限られたメモリ(例:2KB RAM と 16KB Flash)を持つ極めて低性能なマイコン(CH32V003 など)上で高精度のニューラルネットワークを実行できるようにします。また、ハードウェア乗算命令を備えていないマイコンにも対応可能です。
動作方法
本プロジェクトは、PyTorch をベースとしたトレーニングパイプラインを使用しており、Quantization Aware Training(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 で実装された推論エンジンにより、さまざまなマイコンアーキテクチャへの移植が容易。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト