AMD GPU에서 살펴보는 vLLM 추측 디코딩
들어가며
자기회귀 생성은 토큰을 하나씩 출력합니다. 모델은 현재 토큰을 시퀀스에 추가한 뒤 다음 토큰을 계산하므로 구조가 단순하고 안정적이지만, 긴 응답에서는 대상 모델의 디코드 단계를 순차적으로 반복해야 합니다. 이 과정은 지연 시간을 늘리고 서비스 처리량을 제한하는 요인이 될 수 있습니다. vLLM의 실전 가이드는 ROCm 소프트웨어 플랫폼을 사용하는 AMD Instinct MI300X와 MI355X에서 추측 디코딩을 적용하는 방법을 설명합니다.
초안 생성과 검증의 구조
추측 디코딩은 원래의 대형 모델을 대체하지 않습니다. 원래 모델은 대상 모델로 남아 최종 출력의 기준이 됩니다. 먼저 가벼운 초안 생성기가 몇 개의 미래 토큰을 제안하고, 대상 모델이 한 번의 검증 과정에서 후보 시퀀스를 왼쪽부터 확인합니다.
후보 토큰이 연속해서 수용되면 여러 토큰을 한 번에 확정할 수 있습니다. 어느 위치에서 거부가 발생하면 그 뒤의 후보는 폐기되고, 대상 모델이 다음 진행에 사용할 토큰을 결정합니다. 따라서 핵심 이점은 단순히 많은 토큰을 추측하는 데 있지 않고, 한 번의 대상 모델 검증으로 실제 출력 시퀀스를 얼마나 멀리 진행시키느냐에 있습니다.
vLLM의 주요 방식
자료는 추측 디코딩 방식을 다음과 같은 그룹으로 설명합니다.
- 네이티브 MTP: 대상 모델 구조에 보조 예측 경로가 직접 포함되며, 후보를 순차적으로 생성합니다.
- 분리형 MTP 드래프터: 대상 모델에 맞는 별도 체크포인트를 사용하고, 대상 모델의 활성값과 공유 KV 캐시를 활용해 순차적으로 후보를 만듭니다.
- 대상 조건부 드래프트 네트워크: EAGLE-3, DFlash, DSpark가 여기에 해당합니다. EAGLE-3는 대상 모델의 은닉 상태를 바탕으로 자기회귀적으로 제안하고, DFlash는 후보 블록을 병렬로 생성하며, DSpark는 가벼운 인과 보정과 신뢰도 기반 프리픽스 선택을 추가합니다.
이 구분은 대상 모델의 계열이 아니라 초안 생성기의 구조를 뜻합니다. 하나의 대상 모델이 네이티브 MTP를 지원하면서 별도로 학습된 EAGLE-3, DFlash 또는 DSpark 드래프트 모델과 함께 사용될 수도 있습니다. 방식에 따라 드래프터는 은닉 표현, 여러 선택 계층의 상태, KV 캐시 또는 이들을 결합한 특징을 입력으로 받습니다.
제안 길이만으로 판단할 수 없는 이유
더 많은 토큰을 제안한다고 항상 빨라지는 것은 아닙니다. 후속 후보가 자주 거부되면 초안 생성과 검증 비용이 커지고, 여러 토큰을 한꺼번에 확정하는 효과가 줄어듭니다. 가이드의 실험에서도 출력 토큰 처리량은 드래프트 방식, 제안 길이, 모델 계열, 드래프트 체크포인트, 작업 부하, 수용 행동에 따라 달라졌습니다.
실제 배포에서는 수용률과 라운드당 확정 토큰 수를 관찰해야 합니다. 먼저 일반 자기회귀 디코딩으로 기준선을 세운 뒤, 한 번에 하나의 방식을 활성화해 대표적인 요청 조건에서 지연 시간과 처리량을 비교하는 접근이 적절합니다. 특정 설정을 모든 모델에 그대로 적용하기보다는 대상 모델과 서비스 부하에 맞춰 조정해야 합니다.
의미와 영향
AMD GPU에서의 vLLM 추측 디코딩은 하나의 만능 가속법이라기보다 모델 적합성, 초안 비용, 병렬성, 후보 품질을 함께 고려하는 시스템 최적화입니다. 효과를 좌우하는 질문은 “몇 개의 토큰을 제안할 수 있는가”가 아니라 “대상 모델이 그중 몇 개를 안정적으로 수용할 수 있는가”입니다. 이러한 관점은 GPU 종류뿐 아니라 실제 모델과 요청 분포를 기준으로 디코딩 최적화를 설계해야 함을 보여줍니다.
출처: vLLM Blog
댓글
로그인 상태 확인 중…
댓글 불러오는 중…