본문 바로가기
딥러닝

[논문리뷰] 추측 디코딩, 나뭇가지를 더 치면 더 빨라질까? — Accelerating Speculative Decoding with Block Diffusion Draft Trees (COLM 2026)

by 카이스토 2026. 10. 27.

이 논문을 고른 이유

거대언어모델(LLM)이 느린 이유는 단순하다. 토큰을 한 개씩, 순서대로 만들어내기 때문이다("자기회귀 디코딩"). 이걸 빠르게 하려고 나온 기법이 "추측 디코딩(speculative decoding)"인데, 작고 빠른 "드래프트 모델"이 먼저 여러 토큰을 미리 써보고, 크고 느린 "타깃 모델"이 그 초안을 한 번에 검증해서 맞으면 통째로 채택하는 방식이다. 문제는 드래프트 모델이 보통 자기회귀 방식이라, 토큰을 한 개씩 순서대로 "예측"해야 하는 건 여전히 느리다는 점이다.

이 논문은 이스라엘 테크니온(Technion) 소속 Liran Ringel과 Yaniv Romano가 쓴 연구로, "DFlash"라는 블록 디퓨전(block diffusion) 방식의 드래프트 모델을 바탕으로, "DDTree(Diffusion Draft Tree)"라는 새로운 방법을 제안한다(출처: arXiv:2604.12989). DFlash는 자기회귀 드래프트 모델과 달리 한 번의 순전파(forward pass)로 미래의 여러 토큰 블록을 통째로 만들어내고, EAGLE-3 같은 강력한 자기회귀 드래프트 모델보다도 더 낫다고 알려져 있다(출처: arXiv:2604.12989). 다만 기존 DFlash는 한 번에 "한 가지 경로"만 만들어서 검증했는데, 이 논문은 "한 가지 경로만 보지 말고, 여러 가능성을 나뭇가지(tree)처럼 뻗어서 한꺼번에 검증하면 더 많이 맞출 수 있지 않을까?"라는 질문에서 출발한다.

흥미로운 점은, 이 아이디어 자체는 자기회귀 드래프트 모델에서는 이미 "드래프트 트리(draft tree)"라는 이름으로 여러 차례 시도된 바 있다는 것이다. 이 논문은 그 트리 구성 아이디어를, "한 번의 순전파로 블록 전체의 확률분포를 동시에 내놓는" 디퓨전 드래프트 모델에 맞게 다시 설계했다는 점에서 신선했다.

핵심 아이디어

비유를 들어보자. 추측 디코딩은 "비서(드래프트 모델)가 상사(타깃 모델)를 위해 문장을 미리 여러 개 써보고, 상사가 훑어보고 맞는 부분까지만 통과시키는" 과정과 비슷하다. 기존 DFlash는 비서가 "이렇게 이어질 것 같습니다"라는 한 가지 문장 버전만 써서 들고 가는 방식이었다. 그런데 비서는 사실 각 단어 자리마다 "이 단어일 확률이 몇 퍼센트, 저 단어일 확률이 몇 퍼센트"라는 정보를 이미 알고 있다. DDTree는 이 정보를 활용해서, 비서가 "가장 그럴듯한 몇 가지 문장 버전"을 나뭇가지 형태로 동시에 적어서 상사에게 가져가게 만든다(출처: arXiv:2604.12989).

구체적으로 DFlash는 "보너스 토큰" 뒤에 가려진(마스킹된) 블록을 입력으로 받아서, 미래의 각 위치마다 하나씩 "그 자리에 어떤 토큰이 올지"에 대한 확률분포를 한 번의 순전파로 모두 출력한다. DDTree는 이 위치별 확률분포들을 각 자리가 서로 독립이라고 가정한 "인수분해된(factorized) 분포"로 보고, 정해진 "노드 예산(budget)" 안에서 타깃 모델이 받아들일 가능성이 가장 높은 경로들을 골라 트리를 만든다(출처: arXiv:2604.12989). 이렇게 만든 트리는 "조상-전용(ancestor-only) 어텐션 마스크"를 사용해 타깃 모델의 단 한 번의 순전파로 통째로 검증되고, 검증기가 트리를 따라가며 실제로 맞은 경로까지만 받아들인 뒤 KV 캐시를 정리한다(출처: arXiv:2604.12989).

방법론 자세히 보기

DDTree가 푸는 핵심 문제는 "정해진 노드 수(예산) 안에서, 기대 승인 길이(expected acceptance length)를 최대화하는 트리를 어떻게 고를까"이다. 저자들은 드래프트 모델이 내놓는 위치별 확률분포를 바탕으로, 트리에 포함된 각 노드(토큰)에 대해 "그 노드까지 이어지는 경로의 확률(접두사 확률, prefix probability)"을 계산할 수 있다는 점에 주목했다. 그리고 이 논문은 "기대 승인 길이를 최대화하는 것은, 트리에 포함된 모든 노드의 접두사 확률을 다 더한 값을 최대화하는 것과 수학적으로 같다"는 사실을 증명했다(출처: arXiv:2604.12989). 즉 "제일 그럴듯한 노드들을 예산만큼 뽑아서 트리를 만들면 된다"는 간단한 규칙으로 바뀐다.

실제로 상위 B개의 접두사(토큰 경로)만 고르면 그게 바로 예산 B 안에서 최적인 트리가 된다는 것도 보였다. 이를 빠르게 계산하기 위해 "최선 우선(best-first) 최대 힙(max-heap)" 알고리즘을 사용하는데, 이는 기존의 자기회귀 드래프트 트리 기법인 OPT-Tree의 방식을 "드래프트 모델을 한 번만 호출해도 되는" 블록 디퓨전 상황에 맞게 확장한 것이다. 이 알고리즘은 B개의 노드를 O(B log B) 시간에 찾아낸다(출처: arXiv:2604.12989). 자기회귀 방식에서는 트리를 키우려면 드래프트 모델을 계속 다시 호출해야 하지만, DDTree는 블록 디퓨전 드래프트 모델이 애초에 한 번의 순전파로 모든 위치의 분포를 다 내놓기 때문에, 추가 호출 없이 트리 전체의 구조를 결정할 수 있다는 점이 특징이다.

이렇게 만들어진 트리는 평평하게(flatten) 펼쳐져서 타깃 모델에 한 번에 입력되고, "조상-전용 어텐션 마스크"를 통해 같은 조상 경로를 공유하는 토큰들끼리만 서로를 참조하도록 제한한 채 병렬로 검증된다(출처: arXiv:2604.12989). 검증기는 타깃 모델의 출력과 트리를 비교하며 실제로 일치하는 가장 긴 경로를 찾아 그 경로까지를 "승인"하고, KV 캐시에서 승인되지 않은 가지에 해당하는 부분은 정리(compact)한다.

실험 결과

실험은 Qwen3-4B, Qwen3-8B, Qwen3-Coder-30B-A3B-Instruct라는 세 가지 타깃 모델에 각각 전용 DFlash 드래프트 모델을 짝지어 수행됐다. 평가 벤치마크는 AIME 2024/2025, GSM8K, MATH-500, HumanEval, MBPP, LiveCodeBench, SWE-bench Lite, MT-Bench, Alpaca 등 총 10개였고, 온도(temperature) 0.0과 1.0 두 설정, 블록 크기 16, 노드 예산 16부터 1024까지, 최대 2048개 신규 토큰 생성, bfloat16 정밀도, 8개의 H200 GPU 환경에서 진행됐다(출처: arXiv:2604.12989). 비교 대상은 일반 자기회귀 디코딩과, 트리를 쓰지 않는 기존 DFlash(vanilla DFlash)였고, 핵심 지표는 자기회귀 디코딩 대비 속도 향상(speedup)과 평균 승인 길이였다(출처: arXiv:2604.12989). 논문은 별도의 지연시간(latency)이나 처리량(throughput), 토큰 단위 승인율(acceptance rate) 표는 제공하지 않았다(출처: arXiv:2604.12989).

온도 0.0 기준으로 몇 가지 대표 수치를 보면, Qwen3-8B 모델의 MATH-500 벤치마크에서 기존 DFlash는 자기회귀 디코딩 대비 5.56배 속도 향상과 평균 승인 길이 7.79를 기록했는데, DDTree를 더한 DFlash+DDTree는 7.52배 속도 향상과 평균 승인 길이 10.73을 달성했다(출처: arXiv:2604.12989). Qwen3-4B의 HumanEval에서는 DFlash 4.81배/승인 길이 6.62에서 DFlash+DDTree 6.81배/승인 길이 9.44로 올랐고, Qwen3-Coder-30B의 HumanEval에서는 DFlash 6.09배/승인 길이 8.02에서 DFlash+DDTree 8.22배/승인 길이 10.72로, 상대적으로 쉬운 대화형 벤치마크인 Alpaca에서는 Qwen3-Coder-30B 기준 DFlash 1.53배/승인 길이 2.22에서 DFlash+DDTree 2.46배/승인 길이 3.55로 각각 향상됐다(출처: arXiv:2604.12989). 논문은 모델 3종 x 벤치마크 10개 x 온도 2종을 조합한 총 60개 설정 전부에서 DDTree가 기존 DFlash보다 속도를 더 높였다고 보고했다(출처: arXiv:2604.12989).

노드 예산을 바꿔가며 진행한 추가 분석(Qwen3-8B, MATH-500 기준)에서는 노드 예산이 256~512 정도일 때 속도 향상이 가장 높게 나타났다. 노드 예산을 1024까지 더 늘리면 평균 승인 길이 자체는 계속 늘어나지만, 트리가 커질수록 검증에 드는 오버헤드도 함께 커져서 실제 속도 향상은 오히려 정점을 지나 둔화된다는 트레이드오프가 관찰됐다(출처: arXiv:2604.12989).

왜 중요한가

추측 디코딩에서 "드래프트를 얼마나 잘 맞히는가"는 곧 "타깃 모델 호출을 얼마나 아낄 수 있는가"로 직결된다. 자기회귀 드래프트 모델에서는 트리를 키우려면 그만큼 드래프트 모델을 여러 번 더 불러야 해서 트리 기법의 효율이 제한되는 경우가 많았는데, 이 논문은 "한 번의 순전파로 블록 전체의 분포를 다 내놓는" 블록 디퓨전 드래프트 모델이라면 추가 호출 없이도 트리를 구성할 수 있다는 점을 활용했다. 즉 디퓨전 기반 드래프트 모델과 트리 기반 검증이라는 두 아이디어가 서로 잘 맞는 조합이라는 것을 실증적으로 보여준 셈이다.

또한 60개의 모델/벤치마크/온도 조합 전부에서 일관되게 개선이 나타났다는 점은(출처: arXiv:2604.12989), 특정 과제나 설정에만 통하는 트릭이 아니라 비교적 범용적으로 적용 가능한 개선이라는 신호로 읽힌다. 노드 예산을 늘릴수록 무조건 좋아지는 게 아니라 특정 지점(256~512)에서 최적점이 생긴다는 관찰 역시, 실제 서비스에 적용할 때 "검증 오버헤드와 승인 길이 사이의 트레이드오프"를 염두에 두고 예산을 튜닝해야 한다는 실용적 시사점을 준다.

한계

이번에 확보한 arXiv 버전에는 별도의 "한계(Limitations)"나 "결론(Conclusion)" 섹션이 없고, 실험 결과 뒤에 곧바로 감사의 글과 참고문헌이 이어진다(출처: arXiv:2604.12989). 따라서 저자들이 스스로 명시한 한계점은 확인되지 않는다. 다만 본문 내용을 보면 몇 가지 구조적 한계를 추론할 수 있다. 먼저 DDTree는 드래프트 모델이 내놓는 위치별 확률분포를 "서로 독립"이라고 가정한 인수분해된 분포로 다루는데, 실제 토큰들 사이에는 문맥적 의존관계가 있을 수 있어 이 가정이 깨지는 상황에서는 트리가 실제로 맞을 가능성이 과대평가될 수 있다. 또한 노드 예산을 키울수록 검증 오버헤드가 함께 늘어나 속도 향상이 정점을 지나 둔화되는 현상이 관찰된 만큼(출처: arXiv:2604.12989), 예산 설정 자체가 모델·벤치마크마다 재조정이 필요한 하이퍼파라미터로 남아 있다.

마무리

DDTree는 "한 번에 한 경로만 보지 말고, 드래프트 모델이 이미 알고 있는 확률 정보를 활용해 여러 경로를 동시에 검증하자"는 비교적 단순한 아이디어를, 블록 디퓨전 드래프트 모델이라는 최신 구조에 수학적으로 깔끔하게 결합해 보여준 연구다. 60개 설정 전부에서 일관된 개선을 보였다는 점에서, 추측 디코딩의 속도를 끌어올리는 실용적인 도구로 주목할 만하다. 다음 논문에서는 또 다른 방식으로 LLM 추론 효율을 끌어올리는 연구를 살펴보자.

출처

Liran Ringel, Yaniv Romano, "Accelerating Speculative Decoding with Block Diffusion Draft Trees", arXiv:2604.12989 (2026년 4월 14일 v1), https://arxiv.org/abs/2604.12989

(참고/수정 사항) 사전 조사 브리프에서는 이 논문을 COLM 2026과 연결했으나, arXiv 초록과 본문 어디에도 게재 학회명이 명시되어 있지 않다(출처: arXiv:2604.12989). 이 글의 제목에는 사전 조사 정보를 참고해 COLM 2026으로 표기했지만, 이는 arXiv 문서 자체로 직접 검증된 사실이 아님을 밝힌다. 또한 이 논문은 어떤 학회의 공식 수상작 목록에도 포함되어 있지 않으며, 이 글에서도 어떤 수상 이력도 주장하지 않는다. 브리프에 언급된 핵심 내용(추측 디코딩 가속, 블록 디퓨전 드래프트 모델, 드래프트 트리 구성)은 실제 논문 내용과 일치했다. 저자는 Liran Ringel과 Yaniv Romano 2인이며, 테크니온(Technion) 소속으로 확인됐다(출처: arXiv:2604.12989). 논문에는 별도의 한계/결론 섹션이 없어, 본문 "한계" 항목은 실험 섹션에서 관찰된 트레이드오프를 바탕으로 추론한 내용임을 밝힌다.

용어 정리

- 추측 디코딩(Speculative Decoding): 작고 빠른 드래프트 모델이 먼저 여러 토큰을 미리 생성하고, 크고 느린 타깃 모델이 이를 한 번에 검증해 맞는 부분까지 한꺼번에 채택함으로써 생성 속도를 높이는 기법. - 드래프트 모델(Drafter): 추측 디코딩에서 미래 토큰을 미리 예측해보는, 상대적으로 작고 빠른 보조 모델. - 타깃 모델(Target Model): 실제로 최종 출력을 책임지는, 상대적으로 크고 느린 본체 모델. 드래프트 모델이 제안한 토큰들이 맞는지 검증하는 역할을 한다. - 자기회귀 디코딩(Autoregressive Decoding): 토큰을 한 번에 하나씩, 이전까지 생성된 토큰에 의존해 순서대로 생성하는 기본적인 LLM 생성 방식. - 디퓨전 모델(Diffusion Model): 노이즈가 섞인 데이터에서 점차 노이즈를 제거해 가며 원하는 데이터를 생성하는 생성 모델 계열. 이미지 생성에서 널리 쓰이며, 최근 텍스트 생성에도 적용되고 있다. - 블록 디퓨전(Block Diffusion): 토큰을 한 개씩이 아니라 여러 개로 묶은 "블록" 단위로, 디퓨전 방식의 가리기(마스킹)-복원 과정을 통해 한 번에 생성하는 방식. - DFlash: 이 논문이 기반으로 삼은 블록 디퓨전 방식의 드래프트 모델로, 마스킹된 블록에 대해 한 번의 순전파로 미래 여러 위치의 토큰 확률분포를 동시에 출력한다. - 드래프트 트리(Draft Tree): 하나의 경로만 제안하는 대신, 여러 가능한 토큰 경로를 나뭇가지 구조로 동시에 제안해 검증 효율을 높이는 추측 디코딩 기법. - DDTree(Diffusion Draft Tree): 이 논문이 제안한 방법으로, 블록 디퓨전 드래프트 모델(DFlash)이 내놓는 위치별 확률분포를 바탕으로 정해진 노드 예산 안에서 최적의 드래프트 트리를 구성하는 기법. - 노드 예산(Node Budget): 드래프트 트리에 포함할 수 있는 토큰(노드)의 최대 개수로, 이 값이 클수록 더 많은 경로를 동시에 검증할 수 있지만 검증 비용도 커진다. - 접두사 확률(Prefix Probability): 트리의 뿌리에서 특정 노드까지 이어지는 경로 전체가 실제로 맞을 확률. - 기대 승인 길이(Expected Acceptance Length): 타깃 모델의 검증을 통과해 실제로 채택될 것으로 예상되는 토큰 수의 평균적 길이. 추측 디코딩의 핵심 효율 지표 중 하나다. - 최선 우선 탐색/최대 힙(Best-First Search / Max-Heap): 현재까지 가장 유망한 후보를 우선적으로 꺼내 확장해 나가는 탐색 방식과, 이를 빠르게 구현하기 위한 자료구조. - OPT-Tree: 자기회귀 드래프트 모델을 위해 먼저 제안된 드래프트 트리 구성 기법으로, DDTree가 이를 블록 디퓨전 드래프트 모델 상황에 맞게 확장했다. - 조상-전용 어텐션 마스크(Ancestor-Only Attention Mask): 트리를 평평하게 펼쳐 한 번에 입력할 때, 같은 조상 경로를 공유하는 토큰들끼리만 서로를 참조하도록 제한하는 어텐션 마스크 기법. 서로 다른 가지에 있는 토큰들이 잘못 섞이는 것을 막아준다. - KV 캐시(Key-Value Cache): 트랜스포머가 이전에 계산한 어텐션의 키/값 벡터를 저장해두어, 다음 토큰을 생성할 때 다시 계산하지 않도록 재사용하는 메모리 구조. - EAGLE-3: 자기회귀 방식의 대표적인 추측 디코딩 드래프트 모델 계열 중 하나로, 이 논문에서는 DFlash가 이를 능가한다고 언급된 비교 대상이다. - 속도 향상(Speedup): 일반적인 자기회귀 디코딩 대비 몇 배 더 빠르게 토큰을 생성했는지를 나타내는 배수 지표.

댓글