AI Briefing

Transformer로 만든 RPN 계산기

My calculator is a transformer

·2026.04.30 23:49

Residual stream을 register로 보고 결정적 RPN 계산기를 Transformer로 구현했다.

Residual stream을 register처럼 다루고, attention을 정보 라우터로 써서 표준 Transformer 안에 결정적 RPN interpreter를 넣는다.

  • 표준 decoder-only Transformer의 residual을 persistent state로 해석해, layer마다 값을 읽고 쓰는 modify operation처럼 사용한다.
  • W_Q/W_K/W_V/W_O는 register를 선택하고 복사한 뒤 residual 공간의 다른 위치로 재배치하는 역할을 하며, 특히 W_O가 head 출력을 target register로 옮긴다.
  • Register, Head, Layer, @compute 추상화를 두고 컴파일러가 이름 기반으로 offset과 행렬을 채우게 한다. 초기에는 one-hot과 block-identity 방식으로 시작한다.
  • RPN을 택한 이유는 stack이 필요하지만 문법 파싱이 거의 없어, interpreter 구조를 설명하기에 적합하기 때문이다. 예시 3 4 + 3 3 + *42로 계산된다.
  • 표준 Transformer에는 루프가 없으므로, 충분한 depth를 확보하거나 다음 실행으로 넘길 breadcrumb를 남겨 상태를 이어간다.

관련 코드는 radarsat1/rpn_transformer에 공개돼 있으며, Transformer를 실제 LLM의 고정된 작동 원리로 보지는 않고 가능한 상태 공간의 한 예로 제시한다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.