TL;DR
작성자는 Windows의 dflash2 branch llama.cpp와 Qwen3.8-27B 계열 GGUF를 사용해 4080 16GB에서 긴 컨텍스트와 추론 속도를 비교했습니다. RVN-IQ3_XXS에 ngram-mod만 적용하면 131072 컨텍스트까지 확보했고, DFlash2 또는 수동 병합한 MTP 구성은 105000 컨텍스트에서 속도와 성능의 균형을 노렸습니다. IQ4_XS는 ngram-mod를 사용해도 컨텍스트가 34000까지로 제한됐으며, 작성자는 현재 목적에는 MTP 구성을 가장 적합한 선택으로 판단했습니다. 모든 테스트에서 q5_1 K·V 캐시를 사용했고, 게시된 본문에는 이미지에 담긴 구체적인 속도 수치가 포함되지 않았습니다.
실용적 조언
- 4080 16GB에서 긴 컨텍스트를 우선한다면 RVN-IQ3_XXS에 q5_1 K·V 캐시와 ngram-mod를 적용한 뒤 131072 컨텍스트부터 확인할 수 있습니다. 작성자의 비교에서는 이 구성이 가장 긴 컨텍스트를 확보했지만 MTP 구성보다 tok/s가 낮았습니다. 실제 사용에서는 긴 harness가 필요한지 먼저 정한 뒤 속도와 문맥 길이 중 우선순위를 선택하는 편이 합리적입니다.
- 속도와 105000 컨텍스트의 균형을 원한다면 RVN-IQ3_XXS와 DFlash2 draft model 또는 수동 병합한 MTP 모델을 비교할 수 있습니다. DFlash2 구성은 draft-dflash와 ngram-mod를 함께 사용하고 draft-n-max 5를 적용했으며, MTP 구성은 draft-n-max 2를 사용했습니다. draft model을 양자화하지 않은 설정은 작성자가 커뮤니티 조언에 따라 선택한 것이므로 다른 GPU 메모리 환경에서는 별도 검증이 필요합니다.
섹션별 상세
용어 해설
- 추측 디코딩(Speculative Decoding)
- — 큰 주력 모델이 모든 토큰을 직접 생성하는 대신 draft model이 후보 토큰을 먼저 만들고 주력 모델이 이를 검증하는 추론 방식입니다. 이 글에서는 DFlash2와 MTP를 draft 방식으로 사용해 16GB GPU에서 생성 속도를 높이는 구성으로 등장합니다.
- N-gram 기반 추측 모드(ngram-mod)
- — 이전 토큰의 N-gram 패턴을 이용해 다음 토큰 후보를 추측하는 llama.cpp의 speculative decoding 설정입니다. 작성자는 n-min 4, n-max 8, n-match 32를 공통으로 적용하고 131072 또는 105000 컨텍스트에서 성능을 비교했습니다.
- 다음 토큰 다중 예측(MTP)
- — 주력 모델과 결합된 draft 모델을 이용해 여러 개의 다음 토큰을 추측하는 방식으로 글에 사용됩니다. 작성자는 RVN-IQ3_XXS와 MTP draft model을 수동으로 병합하고 draft-n-max 2 설정으로 105000 컨텍스트를 테스트했습니다.
- 키·값 캐시(KV cache)
- — 대화형 추론에서 이전 토큰 처리에 필요한 키와 값 상태를 저장해 긴 문맥을 유지하는 메모리 구성 요소입니다. 이 글에서는 GPU 메모리 제약 안에서 더 긴 컨텍스트를 확보하기 위해 K와 V 캐시를 모두 q5_1 형식으로 저장했습니다.
코드 예제
llama-server.exe --model "~\.lmstudio\models\0bserverx\Qwen3.8-27B-Heretic-Abliterated-Uncensored-GGUF\RVN-IQ3_XXS.gguf" --chat-template-file "~\froggeric_fix_qwen38.jinja" --chat-template-kwargs "{\"preserve_thinking\":true, \"reasoning_effort\":\"medium\"}" --alias default --jinja --spec-type ngram-mod --spec-ngram-mod-n-min 4 --spec-ngram-mod-n-max 8 --spec-ngram-mod-n-match 32 --threads 8 --fit off --n-gpu-layers 99 --ctx-size 131072 --batch-size 512 --ubatch-size 512 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 0 --repeat-penalty 1.0 --cache-type-k q5_1 --cache-type-v q5_1 --flash-attn on --sleep-idle-seconds 600 --parallel 1 --reasoning-format deepseek --reasoning-effort medium --reasoning-preserve --load-mode noneRVN-IQ3_XXS 모델에 ngram-mod를 적용하고 131072 컨텍스트로 llama-server를 실행하는 첫 번째 테스트 명령입니다.
llama-server.exe --model "~\.lmstudio\models\0bserverx\Qwen3.8-27B-Heretic-Abliterated-Uncensored-GGUF\RVN-IQ3_XXS.gguf" --model-draft "~\Development\Qwen3.8-27B-DFlash2-Q4_K_M.gguf" --device CUDA0 --host 0.0.0.0 --port 8777 --chat-template-file "~\Development\froggeric_fix_qwen38.jinja" --chat-template-kwargs "{\"preserve_thinking\":true, \"reasoning_effort\":\"medium\"}" --alias default --jinja --spec-type draft-dflash,ngram-mod --spec-ngram-mod-n-min 4 --spec-ngram-mod-n-max 8 --spec-ngram-mod-n-match 32 --spec-draft-n-max 5 --threads 8 --fit off --n-gpu-layers 99 --n-gpu-layers-draft 99 --ctx-size 105000 --batch-size 512 --ubatch-size 512 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 0 --repeat-penalty 1.0 --cache-type-k q5_1 --cache-type-v q5_1 --flash-attn on --sleep-idle-seconds 600 --parallel 1 --reasoning-format deepseek --reasoning-effort medium --reasoning-preserve --load-mode noneRVN-IQ3_XXS를 주력 모델로 두고 DFlash2 draft model과 ngram-mod를 함께 사용하는 두 번째 테스트 명령입니다.
llama-server.exe --model "~\RVN-IQ3_XXS-MTP.gguf" --device CUDA0 --host 0.0.0.0 --port 8777 --chat-template-file "~\froggeric_fix_qwen38.jinja" --chat-template-kwargs "{\"preserve_thinking\":true, \"reasoning_effort\":\"medium\"}" --alias default --jinja --spec-type draft-mtp,ngram-mod --spec-ngram-mod-n-min 4 --spec-ngram-mod-n-max 8 --spec-ngram-mod-n-match 32 --spec-draft-n-max 2 --threads 8 --fit off --n-gpu-layers 99 --n-gpu-layers-draft 99 --ctx-size 105000 --batch-size 512 --ubatch-size 512 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 0 --repeat-penalty 1.0 --cache-type-k q5_1 --cache-type-v q5_1 --flash-attn on --sleep-idle-seconds 600 --parallel 1 --reasoning-format deepseek --reasoning-effort medium --reasoning-preserve --load-mode noneRVN-IQ3_XXS와 MTP draft model을 수동 병합한 모델로 105000 컨텍스트를 실행하는 세 번째 테스트 명령입니다.
llama-server.exe --model "~/.lmstudio/models/0bserverx/Qwen3.8-27B-Heretic-Abliterated-Uncensored-GGUF/RVN-IQ4_XS.gguf" --device CUDA0 --host 0.0.0.0 --port 8777 --chat-template-file "~\Development\froggeric_fix_qwen38.jinja" --chat-template-kwargs "{\"preserve_thinking\":true, \"reasoning_effort\":\"medium\"}" --alias default --jinja --spec-type ngram-mod --spec-ngram-mod-n-min 4 --spec-ngram-mod-n-max 8 --spec-ngram-mod-n-match 32 --threads 8 --fit off --n-gpu-layers 99 --ctx-size 34000 --batch-size 512 --ubatch-size 512 --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.00 --presence-penalty 0 --repeat-penalty 1.0 --cache-type-k q5_1 --cache-type-v q5_1 --flash-attn on --sleep-idle-seconds 600 --parallel 1 --reasoning-format deepseek --reasoning-effort medium --reasoning-preserve --load-mode none더 높은 품질의 IQ4_XS 양자화 모델에 ngram-mod를 적용했을 때 컨텍스트 한계를 확인한 테스트 명령입니다.
언급된 도구
Windows에서 직접 빌드한 dflash2 branch를 이용해 llama-server를 실행하고 ngram-mod, DFlash2, MTP 추론 구성을 비교했습니다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.