NES 6502 CPU와 RAM, ROM을 Qwen3.5 가중치로 컴파일한 nesformer 공개, 실제 콘솔보다 150~290배 느림
- nesformer는 NES 6502 CPU와 work RAM, 카트리지 PRG-ROM을 stock Qwen3.5 체크포인트 가중치로 컴파일함. PPU와 컨트롤러, NMI 타이밍은 호스트가 처리하고 초기화 이후 모델 입력은 컨트롤러 이벤트뿐임. Qwenputer의 chipformer 컴파일러를 MIT 라이선스로 포함해 저장소도 MIT로 공개
- 실행 속도는 실제 콘솔보다 150~290배 느림. 같은 작업을 결정론적 프로그램으로 돌릴 때와 LLM 추론 사이의 연산량 차이를 보여주는 사례로 인용됨
- 1GB 가중치는 대부분 비어 있어서 약 3MB까지 압축됨. CPU뿐 아니라 RAM까지 모델 내부의 gated deltanet 구조에서 처리하기 때문에 가능한 결과
- Super Mario Bros는 플레이 가능한 수준으로 동작하지만 모든 카트리지에서 작동하지는 않음. 검증 방법과 한계는 README의 how it was checked 절에 정리돼 있음
- 저장소는 초기 릴리스 커밋 1개만 있는 상태로, 예제와 테스트 ROM, 참조 CPU 구현을 함께 담음
Hacker News opinions
제목부터 거슬림. NES를 그냥 Nintendo라고 부르는 건 1989년이나 통하던 얘기고 2026년엔 아니지. 할머니가 게임기 전부 Nintendo라고 부르는 그 느낌임.
이런 해킹 좋아함. 어셈블리로 골프 치는 입장에선 효율을 보면 끔찍하긴 한데, 결정론적 프로그램이 AI보다 얼마나 효율적인지 새삼 느끼게 해줌.
2년 전엔 장난감, 1년 전엔 코드는 써주는데 사람이 리뷰해야 하고, 6개월 전엔 대충 시켜도 잘 나오고, 지금은 도메인별 에이전트 함대가 알아서 돌아가면서 10배로 뽑아낸다는 사람도 있음. 다음 주엔 코드 골프를 우선순위에 두고 그다음 주엔 전부 ASM으로 돌아온다는 농담까지 나옴.
동작한다는 걸 어떻게 앎? 가능한 모든 입출력 조합을 다 테스트한 건가?
어떤 CPU도 모든 입출력 조합을 테스트하진 않음. Super Mario Bros가 플레이 가능한 수준이면 6502 호환 범위에서 동작한다고 보는 거고, 모든 카트리지에서 되는 건 아님. 검증 방법은 README에 정리돼 있음.
이게 무슨 의미가 있음? 디지털 논리 회로는 당연히 가중치로 줄일 수 있는 거 아님?
재밌으니까 하는 거지. LLM이 결정론적이지 않다는 불평에 반박이 된다는 의견도 있고, 원본 qwenputer까지 합쳐서 기술적으로 별로 흥미롭지 않은 slop이라는 혹평도 있었음.
2010년대에 CSS만으로 테트리스 만들던 것과 비슷한데, 요즘은 Claude Code가 오후 한나절이면 뽑아내니까 임팩트는 더 떨어짐.
TL;DR 좀. 모델 입력이 뭐고 출력이 뭐임?
CPU만 시뮬레이션하는 줄 알았는데 RAM까지 모델 안에 들어있음. gated deltanet 구조로 CPU, ROM, RAM을 전부 내부에서 처리하고 초기화 후 입력은 컨트롤러 이벤트뿐이라니 놀라움.
그래서 1GB 가중치가 대부분 비어 있어서 3MB까지 압축된다는 부수 효과도 있음.
실제 콘솔보다 150~290배 느리다는 게 핵심임. LLM한테 OS 전체를 매 프레임 환각으로 그리게 하자는 얘기가 예전에 있었는데, 가능은 하겠지만 연산량이 수백만 배 차이 나는 짓임.
그건 뇌도 마찬가지 아님? 컴퓨터는 수십억 개 식을 계산하지만 사람은 하나도 힘들어함.
이건 좀 다름. 학습으로 근사하는 게 아니라 회로 수준에 가깝게 정확히 에뮬레이션하는 거라 오히려 더 비효율적일 수도 있음.
제품 만든다 치면 한 명이 한 달 바이브로 돌아가는 비효율적인 걸 뽑는 게, 팀 꾸려서 2년 최적화하는 것보다 위험 대비 보상이 훨씬 나음.
DLSS처럼 AI가 프레임을 생성하는 건 되고 있지만 게임 환경 전체를 AI가 만들면 데모는 그럴듯해도 시간 일관성 때문에 실제로는 못 씀.