Show HN: 약 1GB의 Qwen 가중치 안에서 작동하는 Nintendo

8 hours ago 3

nesformer는 NES의 6502 CPU, 2KB RAM, 카트리지 프로그램 ROM을 표준 Qwen3.5 체크포인트 안에서 실행함. 가중치는 학습하지 않고 컴파일러로 계산했으며, 모델이 CPU 실행 기록을 토큰 단위로 생성함 Gated DeltaNet 상태를 메모리로 사용해 CPU 레지스터와 RAM, ROM을 저장함. 화면 출력, 컨트롤러 입력, vblank 인터럽트 처리는 별도 호스트 프로그램이 맡음 체크포인트는 bf16 기준 933MB이며, 전체 4억 6,660만 파라미터 중 0이 아닌 값은 930만 개라 압축하면 3.3MB임. 사용자 정의 코드 없이 표준 Qwen3_5ForCausalLM으로 로드 가능함 검증한 게임 실행에서는 모델의 실행 기록과 저장 프레임이 참조 6502 에뮬레이터와 일치함. 다만 최적화를 적용해도 실제 NES보다 150~290배 느림 NROM 카트리지와 공식 명령어만 지원하며, 같은 가중치로 다른 NROM 게임을 재빌드 없이 실행할 수 있음. 뱅크 전환, RAM 내 코드 실행, 일부 인터럽트는 지원하지 않으며 사운드도 없음 CPU를 학습하지 않고 가중치로 컴파일 nesformer는 NES의 2A03 칩에 들어 있는 6502 CPU 코어, 2KB 작업 RAM, 카트리지 프로그램 ROM을 표준 Qwen3_5ForCausalLM 체크포인트 안에 구현함 모든 가중치를 컴파일러가 계산하며, 학습 과정은 없음 게임 실행 시 모델이 CPU 실행 기록을 한 토큰씩 예측하고, 작은 호스트 프로그램이 콘솔의 나머지 부분을 처리함 Qwenputer의 컴파일러와 메모리 구현 방식을 재사용함 Qwenputer는 CHIP-8과 RISC-V CPU를 Qwen3.5-4B에 컴파일한 선행 프로젝트임 핵심은 Gated DeltaNet 상태를 기계의 메모리로 사용하는 것임 모델과 호스트의 역할 분담 모델의 가중치와 DeltaNet 상태에는 CPU 실행에 필요한 구성 요소가 들어 있음 공식 명령어 151개, 모든 주소 지정 방식, 플래그, 스택, BRK와 NMI 진입을 지원함 2KB 작업 RAM과 32KB PRG-ROM을 저장하며, ROM은 명령어 인출용과 데이터 읽기용으로 두 벌을 유지함 OAM DMA 읽기도 수행하며, 읽은 256바이트가 DM 토큰으로 나타남 호스트는 PPU의 스캔라인 렌더링과 팔레트, 컨트롤러, 주변 장치 입출력을 담당함 vblank 시점에 NMI 토큰을 주입하고, I/O 읽기 응답은 IN 토큰...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵