위키득계정 ↗
기술

추측 디코딩

추측 디코딩기술
영문
Speculative Decoding
구성
초안 모형과 목표 모형
핵심
병렬 검증과 확률 보정
대상
자동회귀 토큰 생성
추측 디코딩은 작은 초안 모형이 제안한 여러 토큰을 목표 모형으로 함께 검사하는 생성 방식이다. 적절한 수락과 보정 절차를 사용하면 목표 모형의 표본 분포를 유지하면서 순차 실행의 부담을 줄일 수 있다.

제안과 검증

초안 모형은 여러 토큰을 순서대로 제안한다. 목표 모형은 그 후보 접두어들의 다음 토큰 분포를 병렬로 계산한다. 앞에서부터 수락 여부를 검사하고 처음 거절한 위치 뒤의 초안은 버린다. 모든 후보가 수락되면 목표 모형에서 토큰 하나를 추가로 뽑을 수 있다.

수락 확률의 독립 예제

현재 위치에서 후보 A의 초안 확률이 0.6이고 목표 확률이 0.3이라면 수락 확률은 min(1, 0.3/0.6)=0.5다. 거절 후에는 목표 확률에서 초안 확률을 뺀 양의 부분을 정규화한 보정 분포를 사용한다. 거절한 후보만 지우고 원래 목표 분포로 다시 뽑는 것과는 다르다.

분포와 개별 출력

이 절차의 보장은 조건을 충족한 목표 분포에 관한 것이다. 같은 난수 시드를 넣으면 매번 일반 디코딩과 완전히 같은 문장이 나온다는 보장은 아니다. 온도와 확률 절단 등을 적용한다면 실제 표본 추출에 쓰는 분포와 검증 규칙도 일치해야 한다.

속도를 좌우하는 조건

초안 생성에도 비용이 들고 수락률이 낮으면 검증한 후보 상당수가 버려진다. 초안 길이를 늘리는 것만으로 처리 속도가 계속 좋아지지는 않는다. 목표 모형의 검증 비용, 초안 비용, 입력 길이와 장치의 병렬 처리 조건을 함께 측정한다.

관련 문서

Medusa 디코딩 / 언어 모형 / 트랜스포머 / 자기 주의 / PagedAttention / 그룹 질의 주의