본문으로 건너뛰기

© 2026 Molayo

Reddit요약2026. 06. 15. 09:19

RTX 5090에서의 DFlash Speculative Decoding + KV Cache Compression 벤치마크 — 3.26배 속도

요약

NVIDIA RTX 5090 환경에서 Qwen3.6-27B 모델을 대상으로 DFlash Speculative Decoding과 KV Cache Compression을 결합한 벤치마크 결과입니다. q4_0/turbo4 전략 사용 시 성능 저하를 최소화하면서 최대 3.26배의 속도 향상을 달성했습니다.

핵심 포인트

  • RTX 5090에서 DFlash와 KV 압축 결합 시 최대 3.26배 속도 향상 확인
  • q4_0/turbo4 전략이 PPL 저하(+0.02%)를 최소화하며 최적의 성능 제공
  • Q5_K_XL 양자화 방식이 NVFP4-Q8_0보다 모든 지표에서 우수한 성능 기록
  • 작은 Drafter 모델 사용 시 약 3배의 추론 속도 향상 가능성 입증

하드웨어: RTX 5090 | 모델: Qwen3.6-27B | 프레임워크: BeeLlama.cpp

전체 벤치마크 스크립트, 원시 데이터(raw data), 설정(config) 및 생성된 결과물(artifacts)은 요청 시 제공 가능합니다 — 아래에 DM을 보내거나 댓글을 남겨주세요. 지난 일주일 동안 Qwen3.6-27B 모델에서 DFlash Speculative Decoding (추측적 디코딩)과 KV Cache Compression (KV 캐시 압축) 전략을 결합하여 벤치마킹을 진행했습니다. 결과가 매우 놀라워 로컬 추론 (local inference)을 실행하는 분들과 공유하고자 합니다.

설정
GPU: NVIDIA RTX 5090 (32GB VRAM)
모델: Qwen3.6-27B (두 가지 양자화 버전: UD-Q5_K_XL 및 NVFP4-Q8_0)
Drafter (초안 작성 모델): Qwen3.6-27B-DFlash-Q5_K_M
프레임워크: BeeLlama.cpp (DFlash + TurboQuant/TCQ 지원)
PPL 데이터셋: WikiText-2
처리량 (Throughput): 커스텀 코딩 프롬프트 (코드 생성 작업)

요약 (TL;DR)

전략속도 향상 (Speedup)PPL Δ코드 품질
q4_0/turbo4 ⭐3.18x+0.02%3.0/3.0
HTML turbo4/turbo43.26x+0.04%
Tested turbo2_tcq/turbo2_tcq3.26x+0.76%약간 하락
Baseline (KV 압축 없음)2.92xN/A2.33/3.0

q4_0/turbo4가 최적의 지점(sweet spot)입니다: PPL 저하가 +0.02%에 불과하면서 3.18배의 속도 향상을 보여주며, 이는 통계적으로 K_Q8_V_Q5_1 베이스라인과 구별할 수 없는 수준입니다.

  1. Q5_K_XL vs NVFP4-Q8_0: 어떤 양자화(Quantization)가 승리하는가?
    DFlash가 활성화되었을 때 Q5_K_XL이 모든 지표에서 NVFP4-Q8_0를 압도합니다:
    | 양자화 베이스라인 | 기본 tok/s | 최고 tok/s | 최대 속도 향상 |
    | :--- | :--- | :--- | :--- |
    | Q5_K_XL | 176.5 | 195.2 | 3.26x |
    | NVFP4-Q8_0 | 157.2 | 152.6 | 2.83x |

Q5_K_XL은 베이스라인에서도 더 빠르며, KV 압축 전략에 따라 더 잘 확장(scale)됩니다.

  1. Perplexity (PPL): WikiText-2에서 측정된 KV 압축 품질 (낮을수록 좋음).
    K_Q8_VQ5_1 베이스라인: PPL = 1.8046 ± 0.00295
    | KV 전략 | K_Q8_VQ5_1 대비 PPL Δ |
    | :--- | :--- |
    | q4_0/turbo4 | 1.8050 (+0.02%) |
    | turbo4/turbo4 | 1.8053 (+0.04%) |
    | turbo4/turbo2_tcq | 1.8100 (+0.30%) |
    | turbo4/tcq | 1.8132 (+0.48%) |
    | turbo2_tcq/turbo2_tcq | 1.8184 (+0.76%) |

q4_0/turbo4 전략은 K_Q8_VQ5_1 베이스라인의 1 표준 편차(standard deviation) 이내에 있습니다.

재현 방법:
bash python -m tests.benchmark_kv_cache --model Qwen3.6-27B-UD-Q5_K_XL-kv_q4_0_turbo4-dflash-256k 3.

Drafter Model (초안 작성 모델): Anbeeld의 주장 확인

나의 결과는 Anbeeld가 언급한 대로 작은 Drafter 모델을 사용했을 때 약 3배의 속도 향상(speedup)이 있음을 확인해 줍니다:

  • Drafter: Qwen3.6-27B-DFlash-Q5_K_M (동일한 아키텍처, 더 작은 양자화 (quant))
  • Acceptance rate (수락률): KV 전략에 따라 30-51%
  • Speedup range (속도 향상 범위): 2.58x ~ 3.26x

DFlash는 크로스 어텐션 (cross-attention) 메커니즘을 사용하기 때문에 (토큰 단위의 speculation이 아님), 더 작은 Drafter 모델로도 유용한 토큰 시퀀스를 제안할 수 있어 효율적입니다.

  1. Compression Strategy (압축 전략) 심층 분석

전략 권장 사항
| 목표 | 전략 | 속도 향상 및 PPL (Perplexity)
| :--- | :--- | :|
| 최적의 균형 (Best balance) | q4_0/turbo4 | 3.18x, +0.02% PPL |
| 최대 속도 (Maximum speed) | turbo4/turbo4 또는 turbo2_tcq/turbo2_tcq | 3.26x, +0.04-0.76% PPL |
| 최대 품질 (Maximum quality) | q8_0/q5_1 | 기준점 (Baseline), 메모리 소모 큼 |

  1. Code Quality (코드 품질): 압축이 생성을 망치는가?

Tetris 게임(CLI Python + 단일 파일 HTML)을 생성하여 벤치마크를 수행하였으며, 기능적 완성도에 따라 각 3회 반복하여 0-3점으로 점수를 매겼습니다:

| Config | CLI | HTML |
| :--- | :--- | :|
| Q5_K_XL + q4_0/turbo4 | 2.33/3.0 | 3.0/3.0 |
| Q5_K_XL baseline | 2.0/3.0 | 2.33/3.0 |
| Q5_K_XL + turbo2_tcq | 2.0/3.0 | 2.0/3.0 |
| NVFP4-Q8_0 + turbo2_tcq | 2.25/3.0 | 1.67/3.0 |
| NVFP4-Q8_0 baseline | 1.67/3.0 | 1.33/3.0 |

q4_0/turbo4를 사용한 KV 압축은 실제로 기준점(baseline)보다 코드 품질을 향상시켰습니다 (HTML 기준 2.33/3.0 대비 3.0/3.0).
모든 반복 회차에서 생성된 코드는 요청 시 제공 가능합니다.

Reproduction (재현) 명령

Perplexity (WikiText-2)
python -m tests.benchmark_kv_cache --model <model_key>

Throughput (코딩 작업)
python -m tests.benchmark_dflash --model <model_key>

Code quality (Tetris 생성)
python -m tests.benchmark_tetris --model <model_key>

Model keys는 config.yaml에 정의되어 있습니다.

실제 스크립트, 설정(config), 차트 또는 전체 종합 보고서에 관심이 있다면 DM이나 댓글로 연락해 주세요. 모든 자료를 보내드리겠습니다.

Reproducibility (재현 가능성)
완전한 재현을 위해 필요한 모든 리소스(벤치마크 스크립트, 설정, 원시 데이터, 생성된 코드 및 차트)를 포함한 공개 GitHub 저장소를 작업 중입니다. 현재 경로를 익명화하고 정리하는 작업을 진행하고 있습니다.

그동안, 이 포스트에서 언급된 모든 내용은 요청 시 제공 가능합니다 — 그냥 문의해 주세요. 링크:
BeeLlama.cpp: https://github.com/Anbeeld/beellama.cpp/
DFlash 논문: https://arxiv.org/abs/2602.06036

@수정: 참조 사항을 수정했습니다; 제가 베이스라인 (baseline)으로 사용 중인 KV 캐시 압축 (KV cache compression) 방식을 FP16에서 K_Q8_VQ5_1로 변경했습니다; beellama GitHub; Dflash 논문 참조는 /u/Rikers88 님이 r/LocalLLaMA에 제출했습니다 [링크] [댓글]

AI 자동 생성 콘텐츠

본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0