Running a 28.9M parameter LLM on an $8 microcontroller

개요

2890만 파라미터 LLM을 8달러 상당의 ESP32-S3 마이크로컨트롤러에서 자체적으로 실행하며, 텍스트를 생성하고 소형 스크린에 초당 약 9토큰 속도로 출력합니다.

주요 내용

* 대규모 LLM의 소형 칩 실행: 2890만 파라미터의 언어 모델이 ESP32-S3 마이크로컨트롤러에 탑재되어 실행되며, 이는 이전 모델(26만 파라미터)보다 약 100배 더 큰 규모입니다.
* 메모리 최적화 기법: 모델의 대부분(2500만 파라미터)을 RAM이 아닌 저속 플래시 메모리에 저장하고, 각 토큰 생성 시 필요한 부분만 불러오는 'Per-Layer Embeddings' 기법을 사용하여 제한된 마이크로컨트롤러 메모리(512KB SRAM) 환경에서도 LLM 구동을 가능하게 합니다.
* 성능 및 제약: 약 9.5 토큰/초의 속도로 텍스트를 생성하며, TinyStories 데이터셋으로 학습되어 짧고 간결한 스토리를 생성하는 데 초점을 맞춥니다. 질문 답변, 지시 따르기, 코드 작성, 사실 정보 제공 등의 기능은 지원하지 않습니다.
* 구현 및 공개: 펌웨어, 배선, 플래싱 단계를 포함한 전체 구현 방법론과 결과가 GitHub 저장소에 공개되어 있습니다.

시사점

이 성과는 제한적인 자원을 가진 마이크로컨트롤러 환경에서도 복잡한 LLM을 구동할 수 있는 가능성을 보여주며, 임베디드 시스템에서의 AI 적용 범위를 넓힐 수 있는 기술적 진보를 제시합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions