실제 트랜스포머 언어 모델을 스톡 게임보이 컬러에서 구동하는 모습!
요약
본 기사는 외부 연결 없이 오직 스톡 게임보이 컬러(Game Boy Color) 하드웨어만으로 트랜스포머 언어 모델을 구동하는 과정을 다룹니다. Andrej Karpathy의 TinyStories-260K를 INT8 가중치와 고정 소수점 연산으로 변환하여 부동 소수점 없이 실행 가능하게 만들었으며, 이 모델은 게임보이 ROM과 카트리지에 저장됩니다.
핵심 포인트
- 외부 연결(Wi-Fi, 클라우드 등) 없이 오직 스톡 Game Boy Color 하드웨어만 사용합니다.
- 모델 가중치는 INT8 정수 연산 및 고정 소수점 방식으로 구현되어 부동 소수점 계산이 필요 없습니다.
- 프롬프트 입력은 D-pad/버튼과 화면 키보드를 통해 이루어지며, 토큰화 후 트랜스포머 프리필 및 자기회귀 생성이 실행됩니다.
- 작업 RAM 제약으로 인해 KV 캐시는 카트리지 SRAM에 저장되는 방식으로 최적화되었습니다.
휴대폰, PC, Wi-Fi, 링크 케이블 또는 클라우드 추론(inference) 없이 작동합니다.
- 카트리지가 ROM을 부팅하고 GBC가 자체적으로 모델을 실행합니다.
- 이 모델은 Andrej Karpathy의 TinyStories-260K를 INT8 가중치로 변환하여 고정 소수점 연산으로 구현했기 때문에 부동 소수점(floating point) 없이도 실행할 수 있습니다.
- GBDK-2020을 MBC5 게임보이 ROM으로 제작했습니다.
- 모델 가중치는 뱅크 스위칭 카트리지 ROM에 저장됩니다. 프롬프트 입력은 D-pad/버튼과 화면 키보드를 사용하여 기기 자체에서 이루어집니다.
- 프롬프트는 게임보이에서 토큰화(tokenized)된 후, ROM이 트랜스포머 프리필(transformer prefill) + 자기회귀 생성(autoregressive generation)을 실행합니다. GBC의 작업 RAM이 매우 작기 때문에 KV 캐시(KV cache)는 카트리지 SRAM에 저장됩니다.
매우 느리고 수학적 계산이 크게 양자화/근사되었기 때문에 출력은 의미 없는 문자열(gibberish)이지만, 핵심 기능 자체는 작동합니다!
하드웨어: 스톡 게임보이 컬러 + EZ Flash Junior + microSD.
구축 과정의 상당 부분에서 Codex를 사용했습니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기