AdaSpark: 트리 검증 및 N-gram 채우기를 위한 온라인 학습을 적용한 적응형 DSpark
요약
AdaSpark는 블록 드래프터 기반의 디코딩 과정에서 트리 검증 및 N-gram 채우기를 위한 온라인 학습을 적용한 적응형 모델입니다. 기존 스케줄러가 사전 측정된 시간을 사용하는 것과 달리, AdaSpark는 서비스 중 두 가지 핵심 양(검증 가치와 시간)을 모두 학습하여 최적의 트리를 결정합니다. 이로 인해 llama.cpp의 DSpark 대비 1.5~3.1배 빠른 디코딩 속도를 보여줍니다.
핵심 포인트
- 온라인 학습을 통해 검증 폭과 시간을 동적으로 최적화합니다.
- 사전 프로파일링 없이도 높은 정확성과 속도를 유지합니다.
- llama.cpp의 DSpark 대비 1.5~3.1배 빠른 디코딩 성능을 입증했습니다.
- 트리 순서 결정 시 신뢰도 대신 적합도를 기준으로 합니다.
DSpark와 같은 블록 드래프터(Block drafters)는 단일 순방향 패스(forward pass)에서 여러 위치에 대한 순위가 매겨진 후보군(ranked candidates)을 제안하고, 트리 검증기(tree verifier)는 타겟의 한 번의 패스로 이를 확인합니다. 검증해야 할 행의 수는 더 넓은 트리가 수용할 것으로 예상되는 토큰 수와 더 넓은 검증이 소요하는 시간 사이의 균형을 맞춥니다. 이 수를 선택하는 대부분의 스케줄러(schedulers)는 서비스 전에 테이블이나 모델에서 측정된 검증 시간을 사용하며, 최대 하나의 스케일 팩터로 온라인 보정하고, 수용률은 드래프터의 신뢰도 추정치나 오프라인으로 적합시킨 지도(map)를 사용합니다. AdaSpark는 사전 프로파일링, 보정 또는 스윕 없이 서비스하는 동안 이 두 가지 양을 모두 학습합니다. 이는 어떤 검증 폭(verify widths)이 제공할 가치가 있는지 학습하고, 각 폭의 검증 시간을 컨텍스트의 함수로 적합시킵니다. 또한 각 후보군의 수용 확률을 타겟의 검증 결과에 적합시키며, 드래프터의 신뢰도 헤드(confidence head)를 하나의 입력으로 사용하여, 이 헤드를 기준으로 하는 것이 아니라 그 적합도를 기준으로 트리를 순서화하고 크기를 결정합니다. 동일한 모델은 요청 자체 텍스트의 n-gram 연속성도 가격 책정하며, 따라서 드래프트된 후보군과 텍스트에서 파생된 후보군은 하나의 최적 우선순위(best-first order)로 행을 두고 경쟁합니다. 폭은 장기 디코드 속도(long-run decode rate)에서 시간을 가격 책정하여 선택됩니다. 여섯 개의 공개 데이터셋에서 나온 단일 및 다중 턴 대화, 세 가지 밀집 타겟(dense targets)과 하나의 전문가 혼합(mixture-of-experts) 타겟에 대해, AdaSpark는 동일한 드래프터를 사용하는 llama.cpp의 DSpark보다 1.53.1배 빠르게 디코드합니다. AdaSpark를 사용한 우리의 imparo 엔진은 세 토큰 체인(llama.cpp의 기본 설정)으로 실행되는 imparo보다 1.171.52배 빠릅니다. 이러한 이득은 스케줄러만으로 발생합니다. 폭 스윕 없이도, AdaSpark는 어떤 밀집 타겟이나 컨텍스트 대역에서 가장 잘 고정된(pinned) 트리 폭보다 최대 0.3% 느리지 않습니다. 전문가 혼합 타겟에서는 가장 잘 고정된 폭과 동등하며, 다른 고정된 폭들(4행부터 16행까지)은 5~14% 더 느립니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.CL (NLP)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기