추측 디코딩은 홈 AI 서버의 속도를 어떻게 높일까요?

에바 왕기술 작가 그리고 이자 ZimaSpace의 상주 장인입니다. 평생을 기술에 열정을 가진 사람으로서 홈랩과 오픈소스 소프트웨어에 열정을 가지고 있으며,복잡한 기술 개념을 쉽게 이해할 수 있는 실습 가이드로 번역하는 데 전문성을 가지고 있습니다.에바는 셀프 호스팅이 어렵지 않고 재미있어야 한다고 믿습니다. 그녀의 튜토리얼을 통해 커뮤니티가 하드웨어 설정의 신비를 풀도록돕고 있습니다. 첫 NAS 구축부터 Docker 컨테이너 마스터링까지.

추측 디코딩은 빠른 초안 생성 메커니즘이 여러 토큰을 제안하고 대상 모델이 이를 함께 검증하도록 하여 홈 AI 서버의 속도를 높입니다.

일반적인 자기회귀 생성에서는 전체 모델이 토큰 하나를 생성하고 이를 추가한 다음, 다음 토큰을 알기 전에 다시 실행해야 합니다. 이러한 직렬 의존성 때문에 성능이 뛰어난 가속기를 사용하더라도 디코딩 중 병렬로 처리할 수 있는 작업은 제한적입니다. 추측 디코딩은 더 저렴한 연산으로 후보 토큰을 생성한 다음, 대상 모델을 한 번 실행해 여러 위치를 확인합니다. 속도 향상 정도는 초안 생성 속도, 수락되는 후보 수, 추가 메모리 또는 검증 오버헤드가 로컬 하드웨어에 적합한지에 따라 달라집니다.

표준 디코딩은 대상 모델을 한 단계씩 진행합니다

자기회귀 모델은 프롬프트와 이전에 수락된 모든 토큰을 바탕으로 각각의 새 토큰을 생성합니다. 현재 토큰을 샘플링하기 전에는 다음 단계를 확정할 수 없습니다.

추측 디코딩의 초기 연구에서는 직렬 대상 모델 실행을 줄이고자 하는 지연 시간의 병목으로 설명합니다.

배칭을 사용하면 여러 요청이 한 번의 반복을 공유할 수 있지만, 개별 시퀀스 하나는 일반적으로 대상 모델을 한 번 실행할 때마다 수락된 토큰을 하나만 얻습니다.

더 빠른 초안 생성 메커니즘이 여러 미래 토큰을 예측합니다

초안 구성 요소는 더 작은 모델, 대상 모델의 축소 버전, 보조 예측 헤드 또는 전체 모델을 반복 실행하는 것보다 비용이 적은 다른 메커니즘일 수 있습니다.

추측 디코딩은 후보 초안 생성을 수행하여 대상 모델이 평가하기 전에 가능성 높은 여러 연속 토큰을 준비합니다.

초안 생성기는 대상 모델을 대체하지 않습니다. 그 목적은 비용을 낮추면서 쉽게 예측할 수 있는 미래 토큰을 추정하고, 대상 모델이 병렬로 검사할 수 있는 블록을 만드는 것입니다.

초안 모델이 지나치게 크면 예측 성능은 좋을 수 있지만, 최적화로 절약하려던 지연 시간과 메모리 대부분을 소모할 수 있습니다.

대상 모델은 한 번의 병렬 실행으로 후보를 검증합니다

대상 모델은 초안 시퀀스를 평가하고 제안된 토큰 중 어떤 것이 자체 확률 분포와 일치하는지 판단합니다. 수락된 토큰은 함께 시퀀스를 진행시키고, 처음 거부된 위치는 정확한 샘플링 절차를 통해 수정합니다.

이 알고리즘은 병렬 검증과 거부 샘플링을 사용하므로, 정확한 추측 디코딩은 대상 모델의 출력 분포를 보존합니다.

이 차이는 품질에 관한 주장에 중요합니다. 올바른 검증을 거치면 선택한 대상 모델의 디코딩 분포와 비교해 손실이 없지만, 휴리스틱 방식의 미리보기는 다른 절충점을 선택할 수 있습니다.

수락 길이가 사라지는 직렬 단계의 수를 결정합니다

대상 모델이 초안 토큰 대부분을 수락하면 검증 한 번으로 일반적인 디코딩 여러 번을 대체할 수 있습니다. 반대로 첫 번째 후보를 반복해서 거부하면 서버는 초안 생성 작업을 수행하고도 거의 더 빠르게 진행하지 못합니다.

대규모 실험 연구에 따르면 추측 디코딩 성능은 단순히 가장 성능 좋은 소형 언어 모델을 선택하는 것보다 초안 생성 효율에 크게 좌우됩니다.

수락률은 프롬프트 영역, 샘플링 온도, 토크나이저 호환성, 대상 모델, 초안 길이, 그리고 초안이 대상 모델의 다음 토큰 분포를 얼마나 유사하게 예측하는지에 따라 달라집니다.

초안 블록이 길수록 진행할 수 있는 양은 늘어나지만, 초기에 불일치가 발생하면 더 많은 작업을 낭비합니다. 따라서 최적 깊이는 작업 부하에 따라 달라집니다.

초안 생성 오버헤드와 메모리가 홈 환경에서 속도 향상을 없앨 수 있습니다

홈 AI 서버는 대상 모델과 KV 캐시가 이미 메모리를 차지한 상태에서 초안 생성 메커니즘을 실행하고 상태를 유지하며 검증까지 수행해야 합니다. 두 번째 모델 때문에 CPU 오프로딩이 발생하거나 사용 가능한 컨텍스트가 줄어들 수 있습니다.

하드웨어 연구에서는 초안 모델 지연 시간을 속도 향상의 주요 제한 요소로 지적합니다. 빠른 GPU 대상 모델에 비해 CPU 초안 생성이 느리거나, 초안 모델이 동일한 메모리 대역폭을 두고 경쟁하면 효과가 거의 없을 수 있습니다.

자기 추측 방식은 대상 모델의 일부를 재사용하여 별도의 전체 초안 모델을 피할 수 있지만, 자체적인 실행 및 호환성 제약이 발생합니다.

계산 능력만큼 메모리 여유도 중요합니다. 초안 모델 때문에 모델이 메모리에서 제거되거나, 컨텍스트 한도가 줄어들거나, 다른 홈 서버 앱이 불안정해진다면 이 최적화는 유용하지 않습니다.

수락된 토큰 수만이 아니라 종단 간 지연 시간을 측정하세요

동일한 대상 모델, 프롬프트 세트, 샘플링 매개변수, 출력 길이 및 워밍업 상태 조건에서 일반 디코딩과 추측 디코딩을 비교하세요. 첫 토큰까지의 시간, 초당 출력 토큰 수, 수락 길이, 초안 생성 시간, 검증 시간 및 최대 메모리를 기록하세요.

ZimaSpace의 모델 상주 분석이 중요한 이유는 초안 모델을 추가하면 어떤 모델 상태가 워밍업된 상태로 유지되는지가 달라질 수 있기 때문입니다. 디코딩 최적화는 서로 다른 콜드 스타트 조건을 비교한 테스트의 결과로 평가해서는 안 됩니다.

추측 디코딩은 대상 모델이 느리고, 초안 생성 비용이 훨씬 낮으며, 수락률이 높고, 가속기가 여러 후보를 효율적으로 검증할 수 있을 때 가장 큰 효과를 내는 경향이 있습니다.

출력이 짧거나 대상 모델이 이미 빠르게 디코딩하거나, 초안이 자주 불일치하거나, 로컬 메모리와 대역폭이 실제 병목인 경우에는 효과가 줄어듭니다.

자주 묻는 질문

추측 디코딩은 최종 답변에 품질이 낮은 모델을 사용하나요?

초안 모델은 후보를 제안할 뿐이며, 정확한 검증을 통해 대상 모델이 수락된 출력 분포를 결정합니다.

추측 디코딩은 프롬프트 처리 속도도 높이나요?

주된 대상은 자기회귀 출력 생성입니다. 구현이 별도의 접두사 또는 프리필 최적화와 결합되지 않는 한, 프롬프트 프리필 지연 시간은 비슷하게 유지될 수 있습니다.

CPU만 사용하는 홈 서버에서도 추측 디코딩을 실행할 수 있나요?

호환되는 런타임에서는 실행할 수 있지만, 속도 향상 여부는 해당 CPU와 메모리 시스템에서 초안 생성과 검증이 일반 디코딩보다 저렴한지에 따라 달라집니다.

기술 및 AI 허브

더 읽어보기

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.