
DSpark의 초안을 트리로 바꾸는 PCTree, 재학습 없이 최대 30% 향상
요약
PCTree는 DSpark의 선형적인 초안 생성 방식을 트리 구조로 확장하여 투기적 디코딩의 효율을 높이는 연구입니다. 기존 방식과 달리 재학습 없이도 초안의 정확도를 높여 토큰 채택률을 개선합니다.
핵심 포인트
- DSpark의 선형적 초안 생성 한계를 트리 구조로 해결
- 재학습 없이 기존 초안 모델의 성능을 최대 30% 향상
- 부모 토큰 기반의 다중 후보 생성을 통해 초안 무효화 확률 감소
- 투기적 디코딩(Speculative Decoding)의 효율 극대화
대규모 언어 모델(Large Language Model)을 직접 호스트하고 다뤄본 적이 있다면, 생성이 '1토큰씩'밖에 진행되지 않는 답답함을 알고 있을 것이다. 모델이 아무리 똑똑해도 디코딩(Decoding)은 기본적으로 직렬이며, 1회의 포워드 패스(Forward Pass)로 1토큰만 출력된다. GPU의 연산 능력은 남아돌지만, 메모리 대역폭(Memory Bandwidth)과 레이턴시(Latency)에서 병목 현상이 발생한다. 이 '남는 계산을 다 써버리기' 위한 정석이 투기적 디코딩(Speculative Decoding)이며, 8월 3일 arXiv에 발표된 PCTree는 그 효율을 한 단계 더 끌어올리는 작지만 효과적인 아이디어다. 게다가 기존의 초안 모델을 재학습할 필요도 없다.
투기적 디코딩의 발상은 단순하다. 작고 빠른 '초안(Draft)' 모델이 다음 몇 개의 토큰을 한꺼번에 예측하게 하고, 본래의 큰 모델에는 '그 예측이 맞는지'를 1회의 포워드 패스로 한꺼번에 검증하게 한다. 맞은 토큰은 그대로 채택하고, 틀린 지점에서 중단한다. 검증은 본래 모델이 실제로 내놓는 토큰과의 일치 여부만을 채택하므로, 출력은 본래 모델 단독으로 생성한 것과 다르지 않다. 속도는 빨라지지만 결과는 저하되지 않는다는 것이 이 수법의 핵심이다.
문제는 '초안을 어떻게 빠르고 정확하게 만드느냐'에 있다. EAGLE 등 기존의 초안 생성 방식은 자기회귀적(Autoregressive), 즉 초안 자체도 1토큰씩 생성하기 때문에 블록(Block)을 길게 할수록 초안 생성 비용이 쌓인다. 여기에 일침을 가한 것이 DeepSeek가 7월에 공개한 DSpark다. DSpark는 '세미 자기회귀(Semi-autoregressive)'라고 불리는 구조로, 병렬 백본(Parallel Backbone)이 블록 내의 모든 위치(앵커 토큰과 $B-1$개의 마스크)를 1회의 포워드 패스로 한꺼번에 제안하고, 그 후 경량 'Markov 헤드(Markov Head)'가 각 위치를 바로 앞의 토큰에 조건 지어 미세 조정한다. 블록 전체를 거의 1패스(1-pass)로 초안화할 수 있는 데다, Markov 헤드가 토큰 간의 의존성을 보완하므로 정확도도 유지할 수 있다. DeepSeek는 자사의 V4 서빙 기반에 이를組み込み(組み込み), 처리량(Throughput)을 유지하면서도 사용자 체감 생성 속도를 60~85% 개선했다고 보고했다(DeepSeek의 해설).
PCTree가 주목한 점은 DSpark의 Markov 헤드가 초안을 '한 줄의 사슬'로서 탐욕적(Greedy)으로 선택하고 있다는 점이다.
z_d = L_d + Markov(y_{d-1})
와 같이, 각 위치는 직전의 토큰 하나에만 조건 지어 가장 확률이 높은 후보를 선택한다. 결과는 직선적인 체인이 된다.
이 직선 구조는 앞부분에서 1토큰이라도 틀리면 그 이후의 초안이 전부 무효화되는 약점을 안고 있다. 블록 길이 $B$를 7에서 16으로 늘려도 기대만큼 채택 토큰이 늘어나지 않는 이유가 바로 이것이다. 길게 만들수록 '도중에 한 번 틀려서 나머지가 통째로 버려질' 확률이 높아진다.
PCTree(Parent-Conditioned Drafting Tree)의 해답은 이 사슬을 트리(Tree)로 바꾸는 것이다. 영리한 점은 분기에 필요한 재료가 이미 DSpark 안에 있다는 점이다. Markov 헤드는 '부모 토큰 하나를 주면 자식의 분포를 내놓는' 함수이므로, 동일한 위치에 대해 여러 부모 후보 각각에 대해 별도로 자식을 스코어링할 수 있다. PCTree는 부모 $p$마다 z_d(p) = L_d + Markov(p)
를 계산하며(모든 프론티어의 부모를 1회의 Markov 호출로 한꺼번에 처리한다), 부모마다 로컬 top-k 자식을 취하고, 경로 전체의 로그 확률 합 s(c) = Σ log π(v|u)
로 후보를 나열한다. 각 단계에서 top-k 가지치기(Pruning)를 수행하고, 마지막에 글로벌 top-N 선택을 통해 '검증 예산에 들어오는 트리'로 압축한다. 이 트리를 본래 모델의 1회 포워드 패스로 한꺼번에 검증한다.
중요한 것은 이것이 모두 추론(Inference) 시에만 이루어지는 변경으로 완결된다는 점이다. 백본의 추가 패스도 필요 없고, 재학습도 필요 없다. DSpark가 원래 가지고 있던 '하나의 부모로부터 자식 분포를 내놓는' 조건부 능력을 직선이 아닌 분기에 재사용하고 있을 뿐이다.
논문의 Table 2/3에서 Qwen3 계열(4B/8B/14B)의 대표값을 추출하면 다음과 같다. 모두 DSpark와의 비교이며, $B$는 블록 길이이다.
| 지표 / 벤치마크 | DSpark | PCTree |
|---|---|---|
| 평균 채택 길이 $\tau$ · GSM8K (B=7) | 6.31 | 7.24 (+14.8%) |
| ... |
「평균 채택 길이($\tau$)」는 1스텝당 메인 모델(target model)에 수락된 토큰 수로, 값이 클수록 한 번의 검증(verification)으로 더 많은 이득을 얻을 수 있다. B=7에서의 가속화 추가 이득은 3.129.5%이며, 블록 길이를 늘린 B=16에서는 채택 길이의 증가가 18.628.8%에 달한다. 직관과는 반대로 블록이 길수록 트리 구조(tree structure)의 효과가 큰 이유는 가지치기(branching)를 할 수 있는 여지가 늘어나기 때문이다. 직선 구조에서는 길이가 오히려 독이 되는 상황이, 트리 구조에서는 무기로 변한다.
비교 대상으로 논문은 EAGLE-3의 공개 수치(GSM8K에서 $\tau$는 EAGLE-3가 5.14, DSpark가 6.31, PCTree가 7.24)도 병기하고 있으나, 이는 동일한 환경에서의 엄격한 비교가 아니라고 명시되어 있으므로 액면 그대로의 우열로 읽어서는 안 된다.
개인적으로 이런 종류의 「추론 시에만 적용되는·재학습이 필요 없는」 개선은 가성비 관점에서 가장 먼저 시도해보고 싶은 유형이다. 초안 모델(draft model)의 학습은 추가적인 GPU 시간과 운영 비용을 요구하지만, PCTree는 기존 DSpark 초안에 대한 검증 단계의 로직 변경만으로 적용 가능하다. 검증 예산(top-N의 트리 크기)이라는 튜닝 가능한 노브(knob)가 하나 늘어날 뿐인데, 운이 좋으면 수 %에서 30%까지 성능을 끌어올릴 수 있다.
냉정하게 봐야 할 점도 있다. PCTree 자체의 코드는 현재 공개되지 않았으며(논문은 DSpark의 초안 체크포인트가 HuggingFace에 있다는 점만 언급함), 재현(reproducibility)의 장벽이 낮지 않다. 평가 또한 Qwen3의 탐욕적 디코딩(greedy decoding)을 전제로 하고 있어, 온도 샘플링(temperature sampling)이나 다른 모델 계열에서의 동작은 별도의 확인이 필요하다. 성능 향상 폭도 벤치마크에 따라 다르며, 코드 생성이나 채팅처럼 분기(branching)의 이점이 큰 태스크와 그렇지 않은 태스크 간의 차이가 크다.
「우선 투기적 디코딩(speculative decoding) 자체를 시도해보고 싶다」면, 기반이 되는 DSpark는 이미 바로 실행해볼 수 있다. NVIDIA의 NeMo AutoModel에는 DSpark 초안을 학습하는 레시피가 있으며, Qwen3(dense/MoE)와 Gemma4를 타겟으로 할 수 있다.
torchrun --standalone --nproc_per_node=2 \
-m nemo_automodel.recipes.llm.train_dspark \
-c examples/speculative/dspark/qwen3_0.6b_dspark.yaml
추론 엔진 측면에서도, llama.cpp에 DSpark 지원을 추가하는 PR이 올라와 있다. PCTree는 이러한 기반 기술의 「검증을 어떻게 구성할 것인가」에 효과적인 개량이며, 투기적 디코딩을 본격적으로 파고드는 단계에 진입한 팀에게는 검증 예산 설계라는 새로운 축을 제시한다는 점에서 읽어볼 가치가 있다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기