AI 모델은 어디서든 실행 가능: 매니아가 10달러짜리 마이크로컨트롤러에서 LLM 실행
Microsoft Research
SlvDev로 알려진 매니아가 단돈 10달러짜리 ESP32-S3 마이크로컨트롤러에서 대규모 언어 모델을 로컬로 실행하는 데 성공했으며, 초당 약 10토큰의 속도를 달성했습니다. 이 프로젝트는 모델을 양자화하고 레이어별 임베딩을 사용하여 장치의 제한된 메모리에 모델을 맞추는 방식으로 진행되었습니다.
2026년에는 대형 언어 모델(LLM)을 노트북은 물론 스마트폰에서도 로컬로 구동할 수 있게 되었지만, SlvDev라는 가명을 쓰는 한 애호가는 한발 더 나아가 가격이 10달러에 불과한 ESP32-S3 마이크로컨트롤러에서 소형 언어 모델을 구동하는 데 성공했으며, 초당 거의 10개 토큰에 달하는 처리 속도를 달성했다. ESP32-S3는 520KB의 정적 랜덤 액세스 메모리(SRAM)와 8MB의 유사 정적 랜덤 액세스 메모리(PSRAM)를 갖추고 있으며, 원격 센서와 사물인터넷(IoT) 기기 등을 제어하기 위한 용도로 설계되었지만, DeepSeek V4 Flash 같은 모델을 구동하는 것은 애초에 불가능한 일이다. 대신 SlvDev는 마이크로소프트 리서치가 개발한 2,890만 개 파라미터 규모의 모델인 TinyStories를 선택했는데, 이는 앞서 언급한 모델보다 약 1만 배 더 작은 크기다. 그럼에도 이 모델조차 16비트 정밀도에서는 약 60MB의 공간이 필요했으며, 이는 ESP32-S3에 담기에는 너무 큰 용량이었다. 그래서 저자는 모델을 양자화(quantization)하여 가중치를 16비트에서 8비트로, 이어서 4비트로 압축했고, 그 결과 모델 크기를 14.9MB까지 줄였는데, 이를 위해서는 16MB 플래시 메모리를 갖춘 마이크로컨트롤러 버전이 필요했다. 나아가 이 애호가는 구글 Gemma 오픈 모델의 아키텍처에 사용된 레이어별 임베딩(per-layer embedding, PLE) 메커니즘을 구현하여, 상대적으로 접근 빈도가 낮은 플래시 메모리에 2,500만 개 파라미터(12MB)를 옮기고, 컨트롤러의 RAM에는 단 2MB의 데이터만 배치할 수 있도록 했다. 그 결과 입력 헤더와 키-값(key-value, KV) 캐시는 PSRAM에 배치되었고, 활성화 값을 처리하는 데는 520KB의 SRAM으로 충분했다. 이러한 조치들을 통해 초당 9.88개 토큰의 생성 속도를 달성했는데, 이는 평균적인 사람이 글을 읽는 속도보다 빠른 수준이다. TinyStories는 개념 증명(proof of concept)으로서는 훌륭하지만 짧은 이야기만 생성할 수 있어 챗봇으로 쓰기에도 부족하다. 비슷한 크기의 Barista 모델은 질문에 답할 수 있고 토큰 생성 속도도 두 배 빠르지만, 에스프레소 관련 주제에만 국한된다. 두 모델 모두 다른 작업을 수행하기에는 너무 작은 규모지만, ESP32에서 실제로 구동된다는 사실만으로도 인상적이다.
출처: 3DNews —
원문
