극한 압축 언어모델을 마이크로컨트롤러 클러스터에서 구동
원제 ESP32S3 cluster running 1.58-bit (BitNet) Language model
109 포인트댓글 23
Key Point
마이크로컨트롤러 클러스터에서 극저단계 양자화 모델을 실행하는 구체적인 분산 시스템 설계와 구현 사례를 보여줌으로써, 임베디드 환경에서 LLM 배포의 가능성을 확장한다.
핵심 요약
- 7개의 ESP32S3 마이크로컨트롤러를 클러스터로 연결해 0.5B 규모 1.58비트 BitNet 언어모델을 분산 실행하는 프로젝트다.
- 마스터 노드에서 BPE 토크나이저와 임베딩을 처리하고, 6개의 컴퓨트 노드에서 24개의 트랜스포머 블록을 4개씩 나눠 실행한다.
- SPI 데이지-체인 방식으로 노드 간 고속 통신하며, 마스터-노드 1-노드 2...노드 6-마스터 순환 파이프라인 구조로 동작한다.
- 임베딩과 LM Head는 INT4로 양자화되어 플래시 메모리에 저장하고, 1.58비트 어텐션과 MLP는 조립어로 최적화된 연산 코드로 구현했다.
- 각 노드는 PSRAM에 KV 캐시를 저장하며, 마스터에서 입력을 받아 처리한 은닉 상태를 다음 노드에 전달하는 방식으로 토큰을 하나씩 생성한다.
- Python 도구로 모델 가중치 양자화, 토크나이저 직렬화, 1.58비트 QAT 파인튜닝, INT4 임베딩 패킹 등 전처리 및 이진화 과정을 수행한다.
- MIT 라이선스로 공개되어 있으며, 프로젝트에는 상세한 플래싱 가이드, 모델 준비 지침, 배선 방법을 담은 workflow.md 문서가 포함되어 있다.