성능과 평가

추측 디코딩, 타깃 확률로 트리 고르면 수락 토큰 늘어

추측 디코딩에서 타깃 모델이 검증하며 계산한 다음 토큰 확률을 초안 트리 선택에 쓰는 방법의 조건과 효과를 분석한 논문이 공개됐다. 구현 코드 TargetRows도 MIT 라이선스로 GitHub에 올라왔다.

루카스 ·

추측 디코딩에서 타깃 모델이 검증 중에 계산하는 다음 토큰 확률을 다음 초안 트리를 고르는 데 재사용할 수 있는지 따진 논문이 2026년 10월 21일 arXiv에 올라왔다. 논문은 재사용이 정확히 성립하는 조건을 밝히고, 6개 타깃 모델 실험에서 타깃 확률로 첫 토큰 가지를 다시 고르면 초안 모델의 순위를 그대로 쓸 때보다 기대 수락 길이가 늘었다고 보고했다.1

구현 코드는 MIT 라이선스로 GitHub 저장소 TargetRows에 공개됐다. 트리 선택과 검증 알고리즘, 공개된 Qwen3와 Llama 타깃·초안 모델 쌍을 돌리는 GPU 디코더가 들어 있다. 선택 규칙과 검증, 기대 수락 계산은 CPU에서 돌고, GPU 디코더에는 NVIDIA GPU와 CUDA 빌드 PyTorch가 필요하다.2

재사용이 어려운 이유와 이론 결과

추측 디코딩은 초안 모델이 만든 토큰 트리를 타깃 모델이 한 번에 병렬로 검증하는 방식이다. 이 검증 패스는 점수를 매긴 각 접두부에서 다음 토큰 확률 분포도 함께 계산하는데, 저장소는 이를 행(row)이라고 부른다. 문제는 초안 모델이 다음 트리를 고르는 시점에 타깃 모델의 해당 확률이 아직 나와 있지 않다는 점이다.2

논문은 제한 없는 타깃 모델에서 정확한 재사용이 보장되려면 다음 라운드의 전체 문맥에서 계산한 분포가 있어야 한다고 보였다. 마지막 토큰이 같아도 앞선 문맥이 다르면 분포가 달라질 수 있어서, 저장소는 행을 전체 토큰 문맥을 주소로 저장하고 찾는다. 저장소가 든 예에서는 문맥 c에서 검증해 a를 수락하고 이어서 a를 하나 더 내놓으면 다음 라운드는 caa에서 시작한다. 이때 caa에 남긴 행은 정확하지만 ca의 행은 주소가 달라 쓸 수 없다.1,2

논문은 이 분포를 보존하려면 수락 토큰을 희생해야 하는 경우도 정리했고, 그 손실이 디코딩 라운드를 넘어 계속되는 조건도 제시했다.1

선택 규칙과 실험 결과

논문이 제안하는 방식은 두 가지다. 하나는 현재 문맥에서 따로 계산한 타깃 분포로 첫 토큰 가지의 순위를 다시 매기는 리랭킹이다. 6개 타깃에서 이 리랭킹은 초안 순위보다 기대 수락 길이를 높였고, 트리 예산이 작을수록 효과가 컸다. 다른 하나는 트리를 할당하기 전에 이 분포에서 첫 토큰을 뽑는 방식이다. 미리 정한 트리를 가지치기하는 방식보다 평균 트리 크기가 같아도 기대 수락 길이가 더 길었다.1

속도도 비교했다. 별도의 타깃 패스가 단독 초안 작업과 겹쳐 실행될 때 두 선택 규칙 모두 초안 순위보다 빠르게 디코딩했다. 저장소 README는 EAGLE-3 초안 모델을 쓴 온라인 디코딩 결과(예산 B=59)에서 첫 토큰 추첨 방식이 별도 루트 패스를 쓰는 PEARL 방식 디코더보다 수락된 초안 토큰을 3.3%에서 7.3% 더 얻었다고 정리한다. 가장 작은 3.3%의 95% 신뢰구간은 2.6~4.1%다. 다만 이 비교에서 평균 비루트 노드 수는 추첨 방식이 43~53개, PEARL 방식이 27~39개로 추첨 방식의 트리가 더 컸다. 이 증가분은 트리 크기가 더 큰 쪽의 이득이어서, 논문 초록이 말한 '평균 트리 크기가 같아도' 나타나는 이득과는 다른 조건의 결과다.1,2

README는 EAGLE-3 동적 트리와 탐욕 디코딩(온도 0)으로 같은 문맥에서 기대 수락 토큰 수를 비교한 결과도 싣는다. 대상은 Llama-3.1-8B, Qwen3-4B·8B, Qwen2.5-7B·14B·32B의 여섯 타깃이다. 논문은 온도 1 샘플링 결과와, 같은 상한·같은 평균 트리 크기에서 PEARL 방식 대비 첫 토큰 추첨 방식의 이득도 실었다.

README에 따르면 이 결과들은 6개 타깃, 7개 과제 유형, 2개 온도에서 EAGLE-3 초안 모델로 얻었다. 기대 수락 비교는 모든 규칙을 같은 타깃 행 기록 위에서 채점했고, 온라인 디코딩 결과는 별도로 측정했다. 단독 초안 모델을 쓴 경우에도 첫 토큰 추첨 방식이 PEARL 방식 디코더보다 빠르게 디코딩했으며, 속도는 RTX A6000 GPU 2개에서 쟀다. 한 조건은 양쪽 상한이 8이고, 다른 조건은 PEARL 방식 상한이 59, 추첨 방식 상한이 40~43이다.2

수락 토큰 증가분은 평균 트리 크기를 맞춘 비교와 B=59 온라인 디코딩 비교가 서로 다른 조건에서 나온다.1,2

기본 설치는 NumPy만 쓰는 CPU 라이브러리이고, 실제 모델을 돌리는 GPU 디코더는 CUDA 빌드 PyTorch와 추가 패키지가 필요하다. 설치하면 다섯 가지 디코더를 같은 프롬프트에서 비교하는 명령을 쓸 수 있다. Llama 쌍은 원 제공처의 접근 권한이 필요하다. 선택 규칙은 공개된 타깃·초안 모델을 수정 없이 쓰며, 저장소는 코드만 배포하고 가중치나 벤치마크 데이터는 싣지 않는다.

이번 공개에는 논문 표의 기록 데이터와 EAGLE-3 실행, 학습형 리랭커의 학습 코드가 들어 있지 않다. 저장소의 비교 명령은 단독 초안 모델로 같은 다섯 디코더를 사용자의 프롬프트와 하드웨어에서 돌리는 도구여서, EAGLE-3 기반 논문 결과를 그대로 재현하는 용도와는 다르다.2

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.