1998년 iMac G3 32MB RAM에서 로컬 LLM을 돌린 LocalLLaMA 실험
Original: I technically got an LLM running locally on a 1998 iMac G3 with 32 MB of RAM View original →
이번 주 LocalLLaMA 글에서는 말 그대로 믿기 어려운 실험이 공유됐다. stock 1998 iMac G3 with 32 MB of RAM에서 local language model을 구동한 것이다. 프로젝트는 Karpathy의 llama2.c 계열 접근을 classic Mac OS로 옮기고, 하드웨어 업그레이드가 전혀 없는 Bondi Blue iMac을 목표로 한다.
이 실험이 가능한 이유는 모델 선택이 극단적으로 작기 때문이다. 최신 checkpoint를 억지로 밀어 넣는 대신, 작성자는 TinyStories 260K model과 약 1 MB 크기의 checkpoint를 사용한다. README에 따르면 앱은 iMac에서 prompt.txt를 읽고, 512-token BPE vocabulary로 tokenize한 뒤, transformer forward pass를 수행하고, 결과를 output.txt로 기록한다. 233 MHz PowerPC G3 기준으로 32 generated tokens가 1초 이내에 나온다고 한다.
진짜 흥미로운 부분은 신기한 헤드라인보다 구현 디테일이다. PowerPC 750은 big-endian이기 때문에 모델과 tokenizer 파일을 먼저 byte-swap해야 한다. Mac OS 8.5는 앱마다 기본 memory partition이 매우 작아서, 작성자는 MaxApplZone()으로 heap을 확장하고 NewPtr()로 메모리를 직접 할당하며, malloc 실패를 피하기 위해 static buffers를 사용했다. 여기에 KV cache를 줄이기 위해 max_seq_len을 512에서 32로 낮추고, grouped-query attention의 weight layout bug까지 수정해야 했다.
이 실험이 보여주는 것
이 프로젝트는 유용한 throughput이나 현대적 reasoning quality를 보여주려는 것이 아니다. 대신 tiny model이 얼마나 다양한 하드웨어로 이동할 수 있는지를 매우 선명하게 보여준다. 저장소는 Retro68 기반 cross-compilation, endian conversion, FTP 전송, 그리고 usable console이 없는 Mac OS 8.5에서 text file로만 debugging한 과정까지 문서화하고 있다.
- 하드웨어는 233 MHz PowerPC 750, 32 MB RAM, Mac OS 8.5다.
- 모델은 TinyStories 260K, Llama 2 architecture, 약 1 MB checkpoint다.
- 핵심 교훈은 tiny checkpoint와 신중한 systems work가 local inference의 한계를 예상보다 훨씬 멀리 밀어낸다는 점이다.
결국 이 글은 단순한 stunt보다 작은 역사 수업에 가깝다. 지금 제품 시장을 지배하는 모델과 별개로, minimum viable LLM 자체는 놀랄 만큼 작은 크기에서도 성립할 수 있다는 사실을 다시 보여준다.
Related Articles
2022년 12월부터 개발된 text-generation-webui가 'TextGen'이라는 이름으로 Windows·Linux·macOS를 지원하는 네이티브 데스크톱 앱으로 출시됐다. Electron 기반의 설치 불필요 앱으로, LM Studio와 동일한 방식이지만 완전 오픈소스다.
단종된 Intel Optane 영구 메모리를 중고 시장에서 구입해 768GB RAM 시스템을 구성하고, Kimi K2.5 1조 파라미터 모델을 로컬에서 초당 4토큰 이상으로 실행한 사례가 공개됐다.
LocalLLaMA에서 Qwen3.6 35B A3B 모델이 업무 워크플로우를 바꿨다는 경험담이 화제입니다. Codex로 작업을 수행하고 과정을 스킬 문서로 기록해 pi 에이전트에 공급하는 방식으로 VPS 관리, PDF 변환 등을 자동화했습니다.