드래프트를 죽이지 않는다 — N개 병렬 생존 전략
기존 Speculative Decoding의 병목은 "리와인드(rewind)"다. 드래프트 토큰 하나라도 타깃 모델과 불일치하면 그 시점부터 다시 시작해야 한다. SMC 방식은 이 리와인드를 원천 차단한다 — N개의 드래프트를 동시에 살려두고, 타깃 모델로 "맞다/틀리다" 이분법 검증 대신 중요도 점수를 매겨 자연 도태시킨다.
기존 Speculative Decoding이란: 작은 드래프트 모델이 토큰을 K개 순차 생성하면, 큰 타깃 모델이 이 K개를 한 번에 병렬 검증한다. 대형 모델을 오토리그레시브로 돌리는 대신 병렬로 쓰기 때문에 속도가 오른다. 문제는 불일치 토큰이 발생하는 순간 그 이후 드래프트 전체를 버리고 리와인드해야 한다는 것 — 이 리와인드가 누적되면 성능 이득이 크게 깎인다.
SMC의 접근법: 하나의 드래프트를 키우는 대신, N개의 드래프트를 병렬로 살려둔다. 타깃 모델은 이 N개를 "정답인가?"로 검증하는 게 아니라, 각각의 중요도 점수(importance score)를 매긴다. 그 점수에 기반해 Sequential Monte Carlo 샘플링을 수행한다.
자연 도태 메커니즘: 중요도 점수가 매우 낮은 드래프트는 제거(evict)되고, 점수가 높은 드래프트는 복제(duplicate)된다. 결과적으로 살아남는 드래프트 집합은 타깃 모델의 분포에 점점 가까워진다. 리와인드 없이도 수용률이 올라가는 이유다.
"N개의 드래프트를 병렬로 유지하면서 더 높은 수용률을 보장한다 — 맞아요, 정확하게 이해하신 겁니다."
왜 중요한가: LLM 추론 비용의 핵심 변수는 대형 모델을 얼마나 효율적으로 활용하느냐다. Speculative Decoding 계열 기법은 이미 주요 추론 인프라에 도입되고 있는데, SMC 방식은 여기서 리와인드 페널티라는 근본적 약점을 제거해 병렬 활용 효율을 한 단계 더 끌어올린다. AI 인프라·추론 칩 수요와 직결되는 소프트웨어 레이어 혁신이다.
쉽게 풀어보기 — Speculative Decoding과 SMC
- Speculative Decoding (스펙큘레이티브 디코딩)
- 작은 모델이 먼저 여러 단어를 "추측"하면, 큰 모델이 한 번에 검토해 속도를 높이는 기법. 작은 모델이 틀리면 그 부분을 다시 해야 하는 단점이 있다.
- 리와인드(Rewind)
- 드래프트 토큰이 틀렸을 때 그 지점으로 되돌아가 다시 시작하는 것. 자동차로 치면 경로 이탈 시 전 구간 재주행.
- Sequential Monte Carlo (SMC)
- 여러 개의 후보(파티클)를 동시에 굴리면서, 가능성이 낮은 것은 제거하고 가능성이 높은 것은 복사하는 확률 추정 기법. 주식 포트폴리오 리밸런싱과 개념적으로 유사하다.
- 중요도 점수(Importance Score)
- 각 드래프트가 "타깃 모델 입장에서 얼마나 그럴듯한가"를 수치화한 것. 이 점수로 살릴 드래프트와 버릴 드래프트를 결정한다.