ProVe는 큰 모델을 제안자로 세워 추론 처리량을 2.5배 높인다

ProVe: Proposer-Verifier Decoding

HF Daily2610.27815

Ziqi Jin, Weiwen Xu, Jiaxi Li2026-10-20

무엇인가

자기회귀 언어 모델의 생성은 토큰을 하나씩 순서대로 뽑는 구조라, 모델이 아무리 커도 GPU를 충분히 채우지 못하는 구간이 생긴다. 추측 디코딩(speculative decoding)은 이 병목을 우회하는 대표적인 방법으로, 작은 모델이 토큰을 직렬로 초안하고 큰 모델이 그 초안을 병렬로 검증하는 역할 분담을 전제로 한다. ProVe가 다루는 문제는 바로 이 역할 분담 자체다. 초안을 만드는 쪽이 작은 모델이어야 한다는 고정관념을 뒤집으면 무엇이 가능한지, 그리고 그때 검증 비용을 어떻게 통제할지를 묻는다.

어떻게 동작하나

제안하는 절차는 두 번의 순전파로 요약된다. 먼저 표준 자기회귀 체크포인트에서 출발해 큰 모델을 제안자(proposer)로 파인튜닝한다. 이 제안자는 한 번의 순전파로 미래 토큰 블록 전체를 예측한다. 그다음 추가 순전파 한 번을 들여 제안된 블록을 검증한다. 즉 초안을 작은 모델에 맡기는 대신 큰 모델 스스로가 블록 단위 초안을 만들고, 검증 단계에서 받아들일 구간을 확정하는 구조다.

무엇과 다른가

검증자는 반드시 별도의 작은 모델일 필요가 없다. 논문은 검증자를 작은 자기회귀 모델로 두는 구성과, 제안자 자신을 검증자로 재사용하는 구성을 함께 제시한다. 후자를 ProVe-lossless라고 부르며, 이 구성은 제안자의 그리디 자기회귀 디코딩 결과를 그대로 재현한다. 별도의 드래프트 헤드를 새로 학습시키지 않아도 된다는 점이 이 설계의 실질적인 이점이다.

어떻게 쓰나

블록 제안에는 가속의 여지가 이미 충분히 있다는 것이 저자들의 관측이다. 블록 크기를 16으로 두면 GSM8K에서 제안된 블록이 자기회귀 결과와 일치하는 평균 접두사 길이가 6.6토큰으로 나타났다. 32B 제안자를 사용한 6개 벤치마크 실험에서 ProVe-lossless는 별도 드래프트 헤드 학습 없이 평균 2.5배의 자기회귀 처리량을 달성했다. 검증자를 3B 소형 모델로 두면 6개 과제 평균에서 자기회귀 대비 2.6포인트 낮은 정확도로 평균 2.7배 처리량에 도달한다. 속도와 정확도 사이에서 조절 가능한 트레이드오프를 제공한다는 것이 저자들의 주장이다.

전제와 한계

실무 관점에서 이 논문의 값어치는 배포 구성을 단순화할 수 있다는 데 있다. 기존 추측 디코딩은 드래프트 모델을 별도로 학습·관리하고, 두 모델의 토크나이저와 분포가 어긋나지 않도록 계속 신경 써야 한다. ProVe-lossless는 이미 서빙 중인 큰 모델 계열을 제안자로 파인튜닝하는 쪽으로 방향을 바꾼다. 정확도를 조금 내주고 처리량을 더 원한다면 3B 검증자를 붙이는 식으로 다이얼을 돌릴 수 있다는 점도 운영 관점에서 유용하다.

확인해야 할 전제도 분명하다. 우선 큰 모델을 제안자로 파인튜닝하는 학습 비용과 파이프라인이 선행돼야 한다. ProVe-lossless가 보장하는 무손실은 어디까지나 파인튜닝된 제안자 자신의 그리디 자기회귀 디코딩을 재현한다는 의미이므로, 원본 모델의 출력 분포와 완전히 같다고 해석하면 안 된다. 블록 크기 16에서 평균 일치 접두사가 6.6토큰이라는 수치는 블록의 상당 부분이 검증 단계에서 버려질 수 있음을 시사하므로, 실제 워크로드에서 블록 크기와 처리량 곡선을 직접 재측정해야 한다. 작은 검증자를 쓰는 구성은 평균 2.6포인트의 정확도 하락을 감수하는 선택이라는 점도 배포 전에 반드시 따져야 한다.