Hacker News가 다시 조명한 ATTN/11, PDP-11 assembly로 학습한 Transformer

왜 Hacker News가 반응했나

Hacker News에서 주목받은 이유는 ATTN/11이 old hardware에서도 Transformer를 학습시킬 수 있는가라는 질문을 추상적인 nostalgia가 아니라 측정 가능한 engineering 결과로 바꿨기 때문이다. 이 프로젝트는 PDP-11/34A를 대상으로 한 single-layer, single-head Transformer를 PDP-11 assembly로 작성했고, pretrained weights를 올리는 데모가 아니라 digit reversal task를 실제로 학습시킨다. 그래서 단순 복고 프로젝트보다 훨씬 기술적인 무게가 있다.

README가 제시하는 architecture도 간결하다. encoder-only 구조에 d_model 16, sequence length 8, vocabulary 10, parameter 1,216개로 구성되고, 데이터 경로는 embedding, self-attention, residual connection, output projection, softmax다. 저자는 feed-forward block, decoder, layer norm이 없기 때문에 BERT나 GPT는 아니라고 분명히 적지만, self-attention을 실제로 학습시키는 genuine Transformer라는 점은 유지된다.

1970 hardware에 맞춘 핵심 최적화

더 흥미로운 부분은 headline 아래의 최적화 과정이다. 초기 Fortran IV 구현은 100 step에 25 minutes가 걸렸고 100% accuracy까지 1,500 step이 필요해, 실제 hardware에서는 약 6.5 hours training으로 이어질 수 있었다. 이후 assembly rewrite와 hand-tuned per-layer learning rates로 600 step, 약 2.5 hours 수준까지 줄였고, 최종 fixed-point NN11 stack은 350 step, 약 5.5 minutes까지 낮췄다고 README는 설명한다.

이 속도 향상은 선택이 매우 구체적이다. extra state vectors와 expensive square root/division이 필요한 Adam 대신 plain SGD를 사용했고, softmax와 loss 계산에는 exp와 log lookup tables를 썼다. 또한 Q8/Q15 fixed-point math를 채택해 모델이 64KB가 아니라 32KB core memory에 들어가도록 했고, 결과 binary 크기는 6,179 bytes다. 예시 console output은 reversal task에서 10/10 accuracy로 끝난다.

왜 이 프로젝트가 의미 있나

ATTN/11이 말하는 바는 1970s minicomputer가 modern LLM을 학습시킨다는 것이 아니다. 오히려 더 흥미로운 결론은 Transformer stack에서 무엇이 본질인지 보여준다는 점이다. self-attention, residuals, fixed-point arithmetic, 그리고 좁은 algorithmic task만 남겨도 학습이 성립한다는 사실이 드러난다. Hacker News가 이런 프로젝트에 반응하는 이유도 여기에 있다. abstraction을 다시 mechanism으로 끌어내려, Transformer가 실제로 무엇을 필요로 하는지 손에 잡히는 형태로 보여주기 때문이다.