Hacker NewsAI · 머신러닝

NES 에뮬레이터를 LLM 가중치 1GB에 컴파일

원제 Show HN: A working Nintendo in ~1GB of Qwen weights

140 포인트댓글 97
Key Point

LLM 가중치에 CPU를 직접 컴파일한 기술적 성취로, 신경망이 기존 프로그램을 학습 없이 물리적으로 실행할 수 있음을 보여주는 참신한 사례다.

핵심 요약

  • Nintendo Entertainment System(NES)의 6502 CPU와 2KB 작업 메모리, 게임 롬을 Qwen3.5 모델의 가중치 안에 컴파일했다.
  • 학습 없이 컴파일러가 모든 가중치를 생성했으며, 게임 실행 시 모델이 CPU 실행 로그를 토큰 단위로 예측한다.
  • 호스트 프로그램이 화면 렌더링, 컨트롤러 입력, vblank 인터럽트를 담당한다.
  • Qwenputer의 컴파일러를 재사용했으며, 모델의 DeltaNet 상태가 기계의 메모리 역할을 한다.
  • 6502의 151개 공식 명령어, 모든 어드레싱 모드, 32KB PRG-ROM을 지원한다.
  • NROM 보드(iNES 매퍼 0)만 지원하며, 뱅크 스위칭이 필요한 더 큰 게임은 실행 불가하다.
  • NES 테스트 로그 3,348개 명령어와 게임 코드 570만 명령어에 대해 참고 CPU와 정확히 일치하는지 검증했다.
  • 466.6M 파라미터(bf16 기준 933MB)이며, 가중치 압축 시 3.3MB이다.
  • 초당 약 1,650개 토큰 처리하며 실제 NES 대비 150~290배 느리다.
  • 게임 실행 중 vblank 대기 루프를 감지하면 토큰 처리를 2.6~4.2배 줄일 수 있다.
  • 비공식 명령어, 뱅크 스위칭, APU 프레임 IRQ를 지원하지 않으며, PPU와 APU는 가중치에 포함되지 않는다.
  • MIT 라이선스이며 GitHub에서 테스트 롬 3개와 함께 공개되었다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗