NES 에뮬레이터가 Qwen 가중치 1GB 안에서 실제로 작동한다
A Working Nintendo in ~1GB of Qwen Weights
dbreunig/nesformer는 NES의 6502 CPU와 2KB RAM, 카트리지 ROM을 Qwen3.5-4B 모델의 가중치에 컴파일해 넣었다. 학습 없이 컴파일러가 모든 가중치를 계산했고, 모델은 CPU 실행 로그를 토큰 단위로 예측한다. Super Mario Bros.와 Full Game을 실제 6502 에뮬레이터와 동일한 프레임으로 재현했지만, 실기보다 150~290배 느리다.
NES의 6502 CPU(2A03 칩의 핵심), 2KB 작업 RAM, 카트리지의 프로그램 ROM이 표준 Qwen3_5ForCausalLM 체크포인트 안에서 실행된다. 이 가중치를 학습시킨 사람은 아무도 없다. 컴파일러가 모든 가중치를 계산했다.
HN 토론
113- dbreunig
이 과정에 대한 몇 가지 생각…
먼저, Opus 5.5는 단 두 개의 프롬프트만으로 작동하는 가중치와 코드를 만들었습니다:
1. 이 글과 관련 소스 코드를 읽어라: https://divagr.com/blog/qwenputer. 그런 다음 이 기법을 사용해 Nintendo Entertainment System의 칩과 램을 에뮬레이트할 수 있는지 탐구해봐라 (요즘 사람들이 MISTR에서 FPGA로 하는 것처럼). 만약 가능하다면, 어떤 크기의 모델을 만들어야 하는지, 그리고 더 작고 빠른 모델을 사용할 수 있다면 표준 클럭 속도에 도달할 수 있는지.
그것은 어떤 모델이든 _느릴_ 것임을 잘 보여주는 차트를 반환했습니다. 하지만 여전히 재미있으니, 두 번째 프롬프트는 이랬습니다:
2. 우리가 만들어보자! 그냥 재미로. 빨라야 할 필요는 없어. 우리는 가중치와, ROM을 지정해서 실행할 수 있는 CLI를 갖고 싶어.
자, 이것은 Opus의 _엄청난_ 실행이었지만 (5.5는 정말 놀라운 능력을 가진 모델입니다), 이건 놀랍도록 잘 구조화된 도전 과제입니다.
고전 게임 에뮬레이션 작업을 하는 오래되고 놀라운 온라인 커뮤니티가 있어서 참고할 수 있습니다. 그리고 그 커뮤니티는… 적합성 테스트를 만들어냈습니다! Opus는 그것들을 찾아서 3천 개 이상의 골든 명령어가 있는 테스트를 기준으로 구축했습니다: https://github.com/christopherpow/nes-test-roms/blob/master/...
또한, Opus가 가중치 작성을 주도하는 데 사용한 원래 Qwenputer 저장소도 있습니다. 그것은 필수적이었습니다.
하지만 이것은 적절한 참고 자료, 훌륭한 사양, 적합성 테스트, 명확한 지시가 있을 때 이 모델들이 무엇을 할 수 있는지 보여주는 훌륭한 예입니다.
- armcat
이것은 정말 많은 흥미로운 기회를 열어줍니다. 원칙적으로 LLM 가중치 안에 작은 VM을 컴파일할 수 있습니다. 그 VM은 예를 들어 Python 인터프리터, 셸, 그리고 sed, cat, grep 같은 도구들을 호스팅할 수 있습니다. LLM이 현재의 "외부" 도구 호출로 느린 자기회귀적 토큰 방출을 해야 하는 대신, 웹 검색을 제외한 모든 것을 말 그대로 LLM 내부에서 행렬 곱셈 연산만으로 실행할 수 있습니다. 아마도 배치로 실행되도록 최적화할 수도 있을 겁니다. LLM 순전파를 단계별로 실행할 수 있는 gdb 같은 애플리케이션을 가질 수도 있습니다. 어쨌든, 그냥 미친 생각입니다. 모두 좋은 주말 보내세요!
- pbohun
>전반적으로, nesformer는 실제 콘솔보다 150–290배 느리게 실행됩니다.
저는 이런 종류의 프로젝트를 좋아합니다. LLM과 일반 프로그램 사이의 엄청난 연산 요구량 차이를 보여주는 데 도움이 되기 때문입니다.
얼마 전에 어떤 사람들이 우리가 매 프레임마다 LMM이 운영체제 전체를 환각으로 만들어내도록 할 것이라고 말하는 것을 봤습니다. 기술적으로 이제 그것이 가능하다는 것이 증명된 것 같지만, 수천 배 더 느리고 수천 배 더 많은 연산을 요구할 것입니다 (일반 OS와 비교해 수백만 배 차이!).
- jacquesm
저는 이런 해킹을 사랑합니다. 효율성 관점에서는 제 어셈블리 코드 골프 두뇌에 공포스럽지만요. 그리고 이것은 결정론적 프로그램이 AI에 비해 얼마나 훨씬 더 효율적인지 새삼 느끼게 해줍니다.
- cafebeen
저는 이것이 CPU 자체만 시뮬레이션할 것이라고 예상했는데, 실제로 RAM까지 시뮬레이션한다는 것을 발견하고 놀랐습니다 (게이트된 델타넷 아키텍처를 통해 모델 자체에 포함됨). 제 이해로는 CPU, ROM, RAM이 모두 모델 내부에서 처리되고, 초기화 후 유일한 입력은 컨트롤러 이벤트뿐이라는 것입니다. 대단하네요.
- dormento
그-그런데 "닌텐도 같은 건 없어요".
https://www.reddit.com/media?url=https%3A%2F%2Fi.redd.it%2F5...
"마리오가 고마워할 거야".
- nico
> nesformer는 Divyansh Agrawal의 Qwenputer를 기반으로 하며, 이는 CHIP-8과 RISC-V CPU를 Qwen3.5-4B에 컴파일했습니다. Qwenputer의 컴파일러와 핵심 트릭을 재사용합니다: 모델의 Gated DeltaNet 상태가 기계의 메모리입니다
이거 정말 멋지네요, 사랑합니다! Qwenputer도 매우 멋집니다
- akie
LLM이 Doom을 실행할 수 있다고 해도 안전할 것 같네요.