1.58비트(BitNet) 언어 모델을 실행하는 ESP32S3 클러스터

4 hours ago 1

ESP32S3 7대에 0.5B 언어 모델을 분할해 실행하는 분산 파이프라인 추론 엔진임 마스터 1대와 연산 노드 6대로 구성되며, 마스터는 토큰화와 임베딩을, 연산 노드는 어텐션과 MLP를 처리함 노드 간에는 고속 SPI 데이지 체인으로 은닉 상태를 전달하며, 연산 노드마다 트랜스포머 블록 4개를 실행함 어텐션과 MLP에는 1.58비트 연산, 임베딩에는 INT4를 사용하고, KV 캐시는 PSRAM에 저장함 ESP-IDF 펌웨어와 PC용 모델 전처리 도구를 함께 제공하며, 양자화 인지 학습부터 가중치 패킹까지 지원하는 MIT 라이선스 프로젝트임 7대의 ESP32S3로 구성한 추론 파이프라인 0.5B LLM을 마스터 1대와 연산 노드 6대로 구성된 클러스터에 분할 배치함 마스터 노드는 입력 프롬프트를 BPE 토크나이저로 처리한 뒤 토큰 임베딩을 수행함 임베딩은 INT4 형식이며 플래시에 약 14MB를 차지함 생성한 은닉 상태 벡터는 FP32 형식으로 첫 번째 연산 노드에 전달함 고속 SPI 데이지 체인으로 마스터에서 연산 노드 1~6을 거쳐 다시 마스터로 돌아오는 경로를 구성함 각 노드는 SPI 채널 B로 수신하고 채널 A로 다음 노드에 전송함 연산 노드의 모델 처리 각 연산 노드는 트랜스포머 블록 4개를 담당하며, 첫 노드는 레이어 0~3, 마지막 노드는 레이어 20~23을 실행함 블록 내부에서는 RMSNorm, 어텐션, MLP를 처리함 RMSNorm은 FP16에서 FP32로 스케일링함 어텐션의 Q/K/V/O 투영에는 1.58비트 연산을 사용하며 RoPE를 적용함 KV 캐시는 PSRAM에 저장함 MLP의 Gate/Up/Down 투영에도 1.58비트 연산을 사용함 마지막 연산 노드가 결과를 반환하면 마스터가 최종 RMSNorm과 LM Head를 실행함 최종 RMSNorm은 FP16 형식이며 fnorm 파티션에서 64KB를 차지함 LM Head는 INT4 임베딩과 가중치를 공유함 탐욕적 샘플링으로 다음 토큰 ID를 선택함 펌웨어와 최적화 구현 master_board/ 는 ESP-IDF 기반 마스터 펌웨어로, 전체 실행 조율, 사용자 입출력, BPE 토큰화, INT4 임베딩 조회, LM Head와 탐욕적 샘플링을 구현함 듀얼 채널 SPI 드라이버와 토큰/모델/최종 정규화용 사용자 정의 파티션 테이블을 포함함 node_firmware/ 는 ESP-IDF 기반 연산 노드 펌웨어로, 추론 루프와 1.58비트 삼진 선형 계층...

Read Entire Article