순정 게임보이 컬러에서 트랜스포머 AI 로컬 실행 성공
스마트폰, PC, Wi-Fi, 클라우드 연결 없이 순정 게임보이 컬러(GBC) 기기 내에서만 트랜스포머 언어 모델을 실행하는 데 성공한 프로젝트입니다. 부동소수점 연산 대신 고정소수점(INT8) 방식으로 변환된 가중치를 활용하며, KV 캐시는 카트리지 SRAM에 저장하여 작은 RAM 용량을 극복했습니다. 속도가 극도로 느리고 수학적 양자화로 인해 출력은 알아보기 힘들지만, 외부 서버 없이 엣지 디바이스에서 AI 모델을 순수 구동해냈다는 점에서 기술적 의의가 큽니다.
스마트폰, PC, Wi-Fi, 링크 케이블, 또는 클라우드 추론 없이 오직 기기만으로 실행했습니다.
• 카트리지가 ROM을 부팅하면, GBC(게임보이 컬러)가 직접 모델을 구동합니다. • 이 모델은 Andrej Karpathy의 TinyStories-260K로, 부동소수점(Floating point) 없이도 실행할 수 있도록 고정소수점(Fixed-point) 연산을 사용하는 INT8 가중치로 변환되었습니다. • GBDK-2020을 사용하여 MBC5 게임보이 ROM으로 빌드되었습니다. • 모델 가중치는 뱅크 전환(Bank-switched) 방식의 카트리지 ROM에 저장됩니다. 프롬프트 입력은 기기 내에서 십자 키/버튼과 화상 키보드를 통해 이루어집니다. • 프롬프트는 게임보이 내에서 토큰화(Tokenized)되며, 그런 다음 ROM이 트랜스포머 프리필(Prefill) 및 자기회귀(Autoregressive) 생성을 실행합니다. GBC의 작업 RAM이 매우 작기 때문에 KV 캐시는 카트리지 SRAM에 저장됩니다.
속도는 극도로 느리고 수학적 계산이 많이 양자화/근사화되어 있어 출력 결과는 알아보기 힘든 온갖 글자(Gibberish)들이지만, 핵심적인 작동은 성공입니다!
하드웨어: 순정 게임보이 컬러 + EZ Flash Junior + microSD.
빌드 과정의 상당 부분에 Codex를 사용했습니다!