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 기반의 훈련 파이프라인을 사용하며, 양자화 인식 훈련(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로 구현되어 다양한 마이크로컨트롤러 아키텍처로 쉽게 이식 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트