LLM 속의 LLM - Qwen에 RISC-V CPU를 넣었던 그 사람이 이번엔 Qwen 3.5-4B 가중치 안에 컴파일된 NPU로 Karpathy의 stories260k를 구동함
An LLM inside an LLM - Same guy who put a RISK-V CPU inside Qwen has now made Karpathy's stories260k run on an NPU compiled inside Qwen 3.5-4B's weights
핵심 요약
Qwen 모델의 가중치 내부에 NPU를 컴파일하여 또 다른 LLM을 구동하는 놀라운 기술적 시연이 공개되었습니다.
- 기술적 시연 — Qwen 3.5-4B 모델 가중치 내부에 NPU를 구현하여 stories260k 모델을 구동함
- 구현 방식 — 외부 도구 없이 Qwen의 메모리 내에서 행렬 곱셈, 소프트맥스, 어텐션을 비트 단위로 정확하게 처리
- 개발자 근황 — 현재 작성자가 몸이 좋지 않음에도 최적화 및 추가적인 성능 개선 작업을 진행 중
- 커뮤니티 반응 — 재귀적 LLM 구조에 대한 경외감과 함께 이것이 AGI로 가는 길인지에 대한 농담 섞인 토론이 이어짐

Code: https://github.com/divagr18/QwenPU
Weights: https://huggingface.co/divagr1925/QwenPU
원본 트윗:
1/3
LLM 안에 CPU 넣는 것까진 그렇다 쳐도, LLM 안에서 또 다른 LLM을 돌리는 건 좀 선 넘은 거 아니냐?
어쨌든, LLM 안에서 돌아가는 LLM을 가져왔다. Qwen 3.5-4B 가중치 안에 컴파일된 NPU 위에서 돌아가는 LLM(@karpathy의 stories260k), 바로 QwenPU다.
2/3
stories260K는 그냥 C 프로그램임. 이걸 Qwen 안에서 돌리려고 matmul, softmax, attention을 비트 단위로 똑같이 처리하는 NPU를 Qwen 가중치에 박아 넣었다. LLM 가중치는 외부 툴 없이 Qwen 자체 메모리에 그대로 들어있음.
속도 뽑아내려고 개고생 좀 했는데, 자세한 건 조만간 풀겠음.
3/3
지금 몸 상태가 영 메롱이라 전체 글은 아직 작업 중이다. 최적화랑 용량 줄이는 것도 같이 하는 중임. 좀만 기다려라, 블로그 글 마무리해서 곧 올릴게.


