8달러짜리 마이크로컨트롤러에서 2,890만 매개변수 LLM 실행하기
요약
저가형 마이크로컨트롤러(Milk-V Duo 등)에서 2,890만 매개변수 규모의 LLM을 실행하는 기술적 시도와 가능성을 다룹니다. 하드웨어 제약 조건 속에서 임베딩 기법과 메모리 대역폭 최적화를 통해 초소형 기기에서의 AI 구동 가능성을 탐색합니다.
핵심 포인트
- 8달러 수준의 저가형 MCU에서도 최적화를 통해 소규모 LLM 실행 가능
- RISC-V 기반 벡터 ISA 및 메모리 대역폭 활용이 핵심 요소
- 임베딩 기법과 레이어별 분산 처리를 통한 하드웨어 제약 극복 시도
- ARM 독점 구조 탈피 및 저비용·고효율 AI 하드웨어의 중요성 강조
요즘 5달러짜리 마이크로컨트롤러로 가능한 일이 놀라울 정도임. Milk-V 보드 중 Duo는 최대 256MB 메모리와 1TOPS@INT8 TPU를 갖추고 Linux까지 실행되기에 5개를 구입했음
128비트 벡터 ISA와 32개 레지스터도 빼놓을 수 없음. 최대 64비트 정수·부동소수점을 지원하고 LMUL=8이면 단일 명령으로 1,024비트를 처리하며, 대부분의 연산은 128비트당 3사이클이 걸림
GCC와 Clang이 xTHeadVector를 완전히 지원하며, C 내장 함수를 사용하면 명령줄 옵션만으로 RVV 1.0과 호환됨. 8비트 요소를 다루는 memcpy(), memset(), memcmp(), strlen(), strcpy(), strcmp() 같은 코드는 상당수가 바이너리 호환됨
64MB Duo를 샀을 때는 3달러였고 이후 64MB·256MB·512MB 모델이 각각 5·7·10달러였지만, 올해 가격이 상당히 올랐음: https://arace.tech/products/milk-v-duo, https://arace.tech/products/milkv-duo-s
0.5달러 미만 마이크로컨트롤러도 살 수 있지만, 5달러 제품이라도 모델 실행에는 제약이 너무 심해 사실상 쓸모없는 환경으로 보임. 모델 수요로 MCU 품귀가 생기지 않기를 바람
마이크로컨트롤러가 1980년대 하드웨어에 머문 것처럼 어셈블리어나 C만이 유일한 선택이라고 생각할 필요는 없음. 이 정도 장치라면 Xerox PARC 운영체제도 어렵지 않게 실행할 수 있음
4KB PIC가 최선인 용도도 여전히 있지만, 대부분의 상황에 더 나은 선택지가 없다고 행동해서는 안 됨
이 가격과 성능은 ARM의 독점적 지위가 업계 전체에 얼마나 큰 비용을 부과했는지 실감하게 함
음성·텍스트 변환 모델도 이 크기에 가까워지고 있어, 우리와 대화할 수 있는 소형 기기가 얼마나 가까워졌는지 궁금함. 칫솔이 구강 위생 조언을 하거나 치약 광고까지 하는 세상이 올 수도 있음
구강 위생 조언은 이미 가능함. Philips 고급형 칫솔은 Bluetooth로 연결해 앱에서 피드백을 제공함
하지만 칫솔 AI용 광고 차단기까지 찾아야 하는 세상은 원하지 않음
레이어별 임베딩 기법을 아주 영리하게 활용했음. 약 2,000만~3,000만 매개변수의 실용적인 TTS 모델도 있으므로, 네트워크에 연결되지 않은 ESP32가 거의 실시간으로 글을 읽어줄 수도 있음
MCU마다 모델 레이어 하나씩 맡기는 구성을 시험해보고 싶음. 여러 RP2350을 PIO 전용 회선으로 연결하고 보간기와 이중 곱셈 명령을 조합하는 방식임
PSRAM, 플래시, SD 카드는 개별 대역폭이 높지 않지만 다수를 동시에 구동하면 상당한 처리율에 도달할 수 있음. 대규모 전용 하드웨어가 전력당 성능에서는 앞서겠지만, 낮은 초기 비용과 점진적 확장성 때문에 이런 구성도 매력적임
마이크로컨트롤러보다 Raspberry Pi 4의 로컬 LLM이 답변에 30초씩 걸리지 않도록 할 현실적인 선택지가 궁금함
초소형 장치에서 LLM을 실행하는 것도 멋지지만, 그보다 이런 가중치를 만들어낸 학습 방식이 더 인상적임
작은 매개변수 영역에서는 벤치마크만 겨냥한 과도한 최적화가 어렵기 때문에 리더보드의 효용이 끝난 것은 아님. 오히려 같은 벤치마크 성능을 내는 더 작은 모델을 찾아내면서, 모델링 단계에서 압축 가능성과 중복을 인식하고 제거하도록 만드는 역할이 남아 있음
좋은 접근 패턴으로 플래시를 활용한다면, CPU에서 훨씬 큰 모델을 실행하는 방식으로 확장할 수 없는지 궁금함
ESP32 플래시 대역폭은 내부 SRAM의 약 4분의 1에 불과함. 더 강력한 시스템에서는 이 격차가 훨씬 커지고, 늘어난 연산 성능을 효율적으로 활용하려면 공급해야 할 메모리 대역폭도 크게 증가함
ESP32-S3는 상당히 강력해서 현재 Raspberry Pi 4 개발 작업에 사용 중임. USB 포트 두 개 중 하나가 OTG를 지원하므로, 다른 방식이라면 100달러 이상 들 기능도 구현할 수 있음
일부 제약을 감수하면 RP2350으로 약 1달러에 비슷한 구성이 가능함. 최대 속도는 USB Full Speed인 12Mbps이며, 하나는 칩 내장 USB 주변장치를 사용하고 다른 하나는 PIO가 지원하는 GPIO 핀에 연결하면 됨
현재 tinyusb와 pico-pio-usb로 동작하며, 더 높은 성능을 기대하고 Rust 포팅도 실험 중임
이 양자화 모델의 정확도가 어느 정도인지 궁금함
이 정도 크기에서 보여주는 성능이 놀라우며, 스레드에 나온 조금 더 강력한 단일 보드 컴퓨터에서는 무엇까지 가능할지 기대됨
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기