Transformer 내부에서 프로그램을 실행해 지수적으로 빠른 Inference 달성하기
Executing programs inside transformers with exponentially faster inference
TL;DR Highlight
외부 도구 호출 없이 Transformer 가중치 안에서 직접 프로그램을 실행하는 방법을 연구한 글로, Attention 연산을 log(n) 시간으로 줄이는 새로운 아키텍처 가능성을 제시한다.
Who Should Read
LLM 추론 속도와 아키텍처에 관심 있는 ML 엔지니어나 연구자, 특히 Tool Calling 방식의 한계를 느끼며 모델 내부 계산 구조를 개선하고 싶은 개발자.
Core Mechanics
- 기존 LLM이 계산을 수행하는 방식은 '모델이 코드를 생성하고 외부 인터프리터가 실행하는' 구조다. 이 연구는 그 계산을 외부 도구 없이 Transformer 내부에서 직접 실행하는 방식을 탐구했다.
- 핵심 기술은 'HullKV'라는 방식으로, Attention Head의 차원을 2차원으로 제한하고 2D 공간의 Convex Hull(볼록 껍질, 점들의 외곽선)만 탐색함으로써 Attention 연산을 기존 O(n)에서 O(log n)으로 줄이는 것이다.
- 이 구조에서 Transformer는 레지스터(임시 저장공간)와 스택(함수 호출 기록)을 텍스트 표현으로 추적하며 프로그램을 단계별로 실행할 수 있다. 즉, 모델 자체가 일종의 CPU처럼 동작한다.
- 컴파일 방식으로 수도쿠 솔버 같은 프로그램을 Transformer 가중치에 직접 구워 넣는 'Code-to-Weight 컴파일러'를 활용했다. 다만 실제 구현 세부사항(학습 데이터, 방법 등)이 글에서 명확히 공개되지 않아 커뮤니티에서 비판을 받았다.
- 이 계산 과정 전체가 미분 가능(differentiable)하다는 점이 외부 Tool Calling과의 핵심 차이다. 즉, 역전파(Backpropagation)로 이 계산 경로 자체를 학습에 포함시킬 수 있어 '훈련 가능한 계산 기판'이 된다.
- 실용적 활용 시나리오로 세 가지를 제안했다: (1) 느린 범용 모델과 짝을 이루는 빠른 전용 경로, (2) 단일 시스템 내 Fast/Slow 하이브리드 아키텍처, (3) 빠른 토큰 제안 후 일반 Attention 모델이 검증하는 Speculative Execution 모델.
- WebAssembly(WASM)를 컴파일 타깃으로 사용했는데, 이는 프로그램 실행을 표준화하기 위한 선택으로 보이지만 커뮤니티에서는 WASM의 표현력 한계가 고수준 추론을 제약할 수 있다는 우려가 제기됐다.
Evidence
- '왜 외부 도구를 쓰면 안 되냐'는 회의론이 많았다. 인간 뇌도 10자리 곱셈은 느리지만 계산기를 쓰면 되듯, LLM도 ALU에 맡기면 더 빠르고 에너지 효율적이지 않냐는 의견이 여러 댓글에서 반복됐다. 이에 대해 '미분 가능성' 때문에 의미가 있다는 반론이 있었는데, 이 계산이 훈련 루프에 통합되면 gradient descent로 프로그램 내 상수나 함수 호출 자체를 최적화할 수 있다는 점이 Tool Calling과 근본적으로 다르다는 주장이었다.
- 학습 방식에 대한 정보 부족이 큰 불만으로 지적됐다. 수도쿠 솔버를 가중치에 구워 넣을 때 손으로 짠 코드를 컴파일러로 변환한 것인지, 아니면 예제 데이터로 학습시킨 것인지조차 글에서 불분명하다는 비판이 있었다. 가중치와 컴파일러 도구가 공개되지 않은 점도 재현 불가능하다는 이유로 비판을 받았다.
- 훈련 데이터 합성 도구로서의 가능성에 주목한 시각도 있었다. 단순히 추론 실행 방식으로 보는 게 아니라, 80% 정확도의 전문가 시스템을 모델에 임베딩해 훈련 비용을 낮추는 방식으로 활용하면 AI 개발 진입 장벽을 낮출 수 있다는 의견이었다.
- 해석 가능성(Interpretability) 연구와의 연관성을 흥미롭게 보는 시각이 있었다. 모델의 동작 일부가 유사-심볼릭(pseudo-symbolic) 방식으로 이루어진다면, 이 연구가 모델 내부를 이해하는 새로운 경로가 될 수 있다는 기대가 댓글에서 표현됐다.
- 글 자체가 AI로 작성된 것 아니냐는 비판도 있었다. 문장은 유려하지만 핵심 질문인 '속도가 빠른가', '벤치마크가 있는가', '역전파를 실제로 적용했는가' 등에 대한 답이 없어 마케팅 글처럼 보인다는 냉소적 의견도 있었다.
How to Apply
- Speculative Decoding 파이프라인을 구축 중인 경우, 이 연구에서 제안하는 'log(n) Attention 소형 모델을 Draft 모델로, 일반 모델을 Verifier로' 쓰는 패턴을 아키텍처 설계 옵션으로 고려해볼 수 있다. 현재 Speculative Decoding은 별도의 소형 언어 모델을 Draft로 쓰는데, 프로그램 실행 특화 모델이 그 역할을 대체하면 특정 연산 집약적 태스크에서 처리량을 높일 수 있다.
- 분류(Classification)나 규칙 기반 로직이 포함된 데이터 라벨링 파이프라인을 운영 중이라면, 기존 전문가 시스템(rule-based classifier)을 모델 가중치로 컴파일해 학습 데이터 생성 비용을 줄이는 방향으로 응용 가능성을 검토할 수 있다. 단, 현재 컴파일러 도구가 공개되지 않았으므로 논문 공개를 기다리며 개념을 파악해두는 수준이 현실적이다.
- Tool Calling 방식의 외부 계산을 모델 내부로 통합하는 실험을 하고 싶다면, 먼저 이 연구의 핵심인 'HullKV + 2D Head Dimension 제한' 방식의 Attention이 어떻게 구현되는지 원문 블로그와 후속 논문을 추적하면서, 소규모 Transformer로 재현 실험을 준비할 수 있다.
Terminology
Speculative Execution빠른 모델이 토큰을 미리 예측해두고 느린 모델이 검수하는 방식. 마치 공장 라인에서 부품을 미리 조립해두고 품질 검사관이 통과시키는 것과 비슷하다.
Convex Hull2D 평면의 점들을 모두 감싸는 가장 작은 볼록 다각형. 이 연구에서는 Attention이 전체 토큰을 보는 대신 이 외곽선 위의 점들만 봐서 연산량을 줄이는 데 활용된다.
Differentiable어떤 연산의 결과에 대해 '입력을 얼마나 바꿔야 출력이 좋아지는지'를 계산할 수 있는 성질. 미분 가능해야 역전파로 학습이 가능하다.
Speculative Decoding작은 모델이 토큰 여러 개를 빠르게 초안으로 생성하고, 큰 모델이 한 번의 Forward Pass로 일괄 검증해 수용/거부하는 추론 속도 최적화 기법.
HullKV이 연구에서 제안하는 Key-Value Attention 변형 방식으로, Head 차원을 2로 제한하고 Convex Hull만 탐색해 시퀀스 길이에 대해 log(n) 시간 복잡도를 달성한다.
WebAssembly (WASM)브라우저나 서버에서 실행 가능한 저수준 바이너리 포맷. 이 연구에서는 프로그램을 Transformer 가중치로 컴파일하기 위한 중간 표현 언어로 활용됐다.