Ornith 9B MTP GGUF, RTX A6000에서 최대 1.73× 가속
Ornith-1.0-9B MTP GGUF는 MTP nextn 헤드를 트렁크에 통합해 llama.cpp에서 분포 무손실 multi-token speculative decoding을 제공하며 RTX A6000에서 최대 1.73× 추론 속도 향상을 보였다.
TL;DR
이 배포는 deepreinforce-ai의 Ornith-1.0-9B 트렁크에 protoLabsAI의 KL-distilled MTP nextn 헤드를 graft해 GGUF 번들과 분리형 draft 헤드를 모두 제공하는 형태로, llama.cpp에서 분포 무손실의 multi-token speculative decoding을 기본 지원한다. 벤치마크는 RTX A6000 환경에서 n-max 3 구성 기준으로 Q8_0에서 122.6 decode tok/s와 1.73×의 처리량 향상을 보고했으며 per-token acceptance 수치가 vLLM 레퍼런스와 근접함이 확인되었다. 다양한 양자화 산출물이 제공되어 VRAM 제약에 따른 트레이드오프를 조절할 수 있고 IQ2_M 등 초저메모리 옵션은 약 5GB 수준의 서빙을 가능하게 했다. 다만 llama.cpp 최소 버전 요구(b9616)와 graft→convert 순서를 지키지 않으면 텐서 불일치 오류가 발생할 수 있어 배포 전 변환 절차를 엄격히 따라야 한다.
핵심 역량
- 단일 스트림 텍스트 생성을 높은 처리량으로 수행할 수 있으며 speculative decoding을 통해 초안 후보를 병렬로 검증해 최종 출력을 확정한다. 번들형 GGUF와 분리형 draft 헤드를 모두 제공해 배포 유연성을 확보했다. 다양한 양자화 파일(Q8_0, Q6, Q5, Q4_K_M, IQ variants)을 통해 메모리 제약에 따른 트레이드오프를 조절할 수 있다.
- llama.cpp 환경에서 lossless multi-token speculative decoding을 실행할 수 있으며 per-token acceptance가 vLLM 레퍼런스와 근접한 수준으로 보고되었다. 이 특성은 병렬 검증을 거치면서도 출력 분포의 변화 없이 처리량을 높이는 효과를 낳는다. --spec-type draft-mtp 플래그와 호환되는 런타임에서 즉시 사용할 수 있다.
- 저비트 양자화 옵션을 통해 낮은 VRAM 환경에서도 서빙이 가능하며 IQ2_M 같은 매우 저메모리 구성으로 약 5GB로 서비스할 수 있는 옵션이 제공된다. 사용자는 precision별 파일을 골라 속도와 품질 사이의 균형을 설정할 수 있다. README는 Q4_K_M을 절대적으로 가장 빠른 구성으로 제시했다.
강점
- 실험 결과 RTX A6000 환경에서 single-stream decode 처리량이 약 1.4–1.7배 향상된 것으로 보고되어 실제 하드웨어에서 유의미한 처리량 이득을 보였다. 이 향상은 초안 병렬 생성과 검증이 병렬화된 워크플로에서 발생하는 것으로, 대기 시간과 처리량 요구가 높은 서빙 환경에 유리하다. 또한 per-token acceptance 수치가 vLLM 참조에 근접해 검증된 정확성 특성을 유지했다.
- 분포 무손실(distribution-lossless) 특성으로 초안 토큰은 최종 검증을 거쳐 출력 분포를 변경하지 않으며, README는 이 점을 명확히 하여 출력 품질의 보존을 보장했다. 다만 실수점 연산 순서 차이로 인해 greedy/temp 0 환경에서 비트 단위 동일성은 보장되지 않을 수 있다고 명시했다. 이로 인해 출력의 문장 분기 가능성은 존재하나 품질 관점에서 동급으로 평가되었다.
훈련 방식
본 배포는 deepreinforce-ai의 Ornith-1.0-9B 트렁크에 protoLabsAI의 KL-distilled MTP draft head를 graft한 형태로 제작되었다. KL-distillation은 초안 분포를 트렁크 분포에 정렬시키는 방식으로 헤드를 학습하는 데 사용되었으며 초안의 수용률을 높이는 데 기여했다. 헤드는 트렁크에 15개의 텐서를 추가하는 방식으로 통합되어 번들형 GGUF 또는 분리형 draft 파일로 배포될 수 있다.
알아두면 좋은 것
- 번들형 파일은 트렁크와 MTP 헤드를 하나의 GGUF로 묶어 배포하며 가장 높은 품질과 상대적 속도 향상을 제공한다. 별도 헤드 파일을 사용하는 분리형 워크플로도 지원되며 --model-draft 옵션으로 동일한 동작을 얻을 수 있다. 이 설계는 번들 빌드가 어렵거나 유연한 배포가 필요할 때 실무 편의성을 높인다.
- 벤치마크는 RTX A6000에서 컨텍스트 8192, flash-attn, greedy 설정으로 측정되었으며 MTP n-max 3 구성에서 Q8_0 기준 122.6 decode tok/s와 1.73× 속도 향상, acceptance 0.651이 보고되었다. 같은 실험에서 per-token acceptance는 vLLM 레퍼런스와 근접하게 0.766로 비교되었다. 이 수치는 MTP가 실전 하드웨어에서 실질적 처리량 이득을 제공함을 시사한다.
- IQ 계열 양자화는 중요도 매트릭스(calibrated on the trunk)를 사용해 저비트에서도 품질을 지키도록 설계되었고 Q4_K_M이 절대 속도 측면에서 가장 빠르다고 명시되었다. README는 IQ2_M 구성이 매우 낮은 VRAM(약 5GB)에서 서빙 가능함을 명시해 초경량 서빙 시나리오를 지원한다고 언급했다. Q8_0 헤드는 MTP 동작의 수용률을 보장하기 위해 고정되어 있다.
- llama.cpp 최소 요구 버전은 b9616이며 Qwen3.5(qwen35) 아키텍처와 --spec-type draft-mtp 플래그가 필요하다고 명시되었다. graft와 convert 순서를 잘못 수행하면 텐서 수 불일치 오류가 발생할 수 있으며 가이드된 순서대로 graft 후 변환해야 정상 로드가 가능하다. README는 오류 원인과 해결 절차를 명확하게 알렸다.
기술적 특징
- MTP nextn 헤드는 트렁크에 graft되어 번들형 GGUF나 분리형 draft 헤드로 배포될 수 있으며 graft 과정은 15개의 헤드 텐서를 트렁크에 통합하는 방식으로 구현되었다. README는 graft 없이 변환을 시도할 경우 텐서 수 불일치로 로드 오류가 발생한다고 명시해 올바른 빌드 순서를 요구했다. 이런 구조는 헤드만 별도로 업데이트하거나 교체해 실험하는 유연성을 제공한다.
- Speculative decoding은 초안 생성(draft)과 병렬 검증(verify)을 결합해 단일 스트림 대비 처리량을 높이며 이 과정은 distribution-lossless 성질을 유지하도록 설계되었다. 배치 검증은 타깃 로그릿을 병렬로 계산해 초안의 유효성을 확인하므로 CPU/GPU 대역폭과 연산 패턴에 따라 이득이 달라진다. README의 벤치마크는 이러한 병렬 검증이 RTX A6000에서 실질적 처리량 상승으로 이어졌음을 기록했다.
- 양자화 포맷은 k-quant과 i-quant 계열을 제공해 정밀도와 메모리 사이의 균형을 조절하도록 구성되었다. i-quant은 트렁크 기반의 중요도 매트릭스 보정으로 저비트 환경에서 품질 저하를 억제하며 Q8_0 헤드를 고정해 수용률을 보장한다. README는 Q4_K_M을 절대적으로 빠른 구성으로, IQ2_M을 약 5GB VRAM 수준의 초경량 서빙 옵션으로 제시했다.
차별점
- 트렁크에 KL-distilled MTP nextn 헤드를 graft한 번들형 GGUF를 제공해 llama.cpp에서 별도 드래프트 모델 없이도 lossless multi-token speculative decoding을 즉시 실행할 수 있게 한 배포 방식이 차별점이다. 이 접근은 번들형과 분리형 두 가지 배포 경로를 모두 지원해 배포 유연성을 높였다. 결과적으로 사용자 환경에 따라 번들 파일을 선택하거나 헤드만 추가해 운용할 수 있다.
- 벤치마크에서 보고된 per-token acceptance가 vLLM 레퍼런스와 근접한 수치(0.766 vs 0.762)를 보인 점이 기술적 신뢰도를 높였다. acceptance 안정성은 다양한 양자화 수준에서 유지되어 low-bit 구성에서도 speculative decoding의 이득을 실현했다. 이 점은 특히 양자화된 서빙 환경에서의 활용 가능성을 확장했다.
- 다양한 양자화 산출물(Q8_0, Q6_K, Q5_K_M, Q4_K_M, IQ variants)을 공식 제공해 품질·속도·메모리 요구사항에 맞춰 선택할 수 있도록 한 점이 운영적 차별화 요소다. README는 각 파일의 용도와 상대적 속도·품질 특성을 표로 정리해 실무 선택을 단순화했다. 특히 IQ2_M 같은 초저메모리 옵션은 매우 제한된 리소스에서의 서빙을 가능하게 했다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| MTP n-max 3 (Q8_0) decode tok/s | decode tok/s | 122.6 | vs base 71.0 (1.73×) |
| MTP n-max 2 (Q8_0) acceptance | acceptance | 0.766 | vLLM reference 0.762 |
| Q4_K_M base vs MTP (n-max 3) | speedup | 1.38× | base Q4_K_M 105.4 -> MTP 145.3 (acceptance 0.659) |
58
Likes
41.5k
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.