Qwen-3.6-27B, llama.cpp, speculative decoding 성능 향상 후기
Qwen-3.6-27B, llamacpp, speculative decoding - appreciation post
핵심 요약
Qwen-3.6-27B 모델에 speculative decoding을 적용해 토큰 생성 속도를 10배 이상 끌어올린 실험 공유.
- 성능 최적화 — speculative decoding 설정을 통해 토큰 생성 속도를 13.6 t/s에서 136.75 t/s까지 대폭 향상함.
- 설정 공유 — llama-server 실행 시 ngram-mod 기반의 speculative decoding 옵션을 활용해 효율적인 추론 환경을 구축함.
- 하드웨어 구성 — RTX 3090과 4060 Ti를 조합한 40GB VRAM 환경에서 Qwen-3.6-27B 모델을 구동함.
- 업데이트 권장 — llama.cpp의 최신 변경 사항을 반영해야 최적의 성능과 speculative decoding 효과를 볼 수 있음.
먼저 사진에서 무슨 일이 일어나고 있는지 간단히 설명할게요.
새로운 Qwen 모델(TL;DR 엄청 커요!)에 speculative decoding을 사용했을 때 속도가 얼마나 개선되는지 확인하기 위해 작은 실험을 해봤습니다.
-
사진은 세션 시작 시 사용한 제 간단한 프롬프트입니다.
-
사진은 프로그램 첫 번째 버전을 만드는 데 걸린 시간과 토큰 생성 속도(13.60 t/s)를 보여줍니다. 또한 새로운 기능을 요청하는 제 프롬프트도 보입니다.
-
사진은 프로그램 두 번째 버전을 만드는 데 걸린 시간과 토큰 생성 속도(25.53 t/s - 개선된 걸 알 수 있죠)를 보여줍니다. 이미지에서 버그가 있었던 것도 확인할 수 있습니다. 브라우저 콘솔이 열린 스크린샷을 Qwen에게 보여줬더니, 어떤 종류의 버그인지 정확히 파악하고 수정했습니다.
-
사진은 수정된 버전의 프로그램을 만드는 데 걸린 시간과 토큰 생성 속도(68.35 t/s - 큰 개선)를 보여줍니다. 또한 프로그램에 작은 변경을 요청하는 제 프롬프트도 보입니다.
-
사진은 작은 변경 후 프로그램 최종 버전을 만드는 데 걸린 시간과 토큰 생성 속도(136.75 t/s !!!)를 보여줍니다.
마지막 사진은 완성된 아름다운 수족관입니다. 미학과 기능성 면에서 비슷한 크기의 이전 모델들이나 훨씬 더 큰 모델들과는 차원이 다릅니다.
그래서 세션 동안 속도가 13.60 > 25.53 > 68.35 > 136.75 t/s로 올라갔습니다. 매번 Qwen은 전체 코드를 완벽하게 제공했고요. 저는 이런 식의 워크플로우를 아주 자주 사용합니다. 이 모든 건 llama-server 명령어의 간단한 한 줄 덕분입니다.
--spec-type ngram-mod --spec-ngram-size-n 24 --draft-min 12 --draft-max 48
이게 최선의 설정인지는 확실하지 않지만, 저한테는 아주 잘 작동합니다. 앞으로 더 테스트해 볼 생각입니다.
제 llama-server 명령어는 다음과 같습니다:
${llama-server}
-m ${models}/Qwen3.6-27B/Qwen3.6-27B-Q8_0.gguf
--mmproj ${models}/Qwen3.6-27B/mmproj-BF16Qwen3.6-27B.gguf
--no-mmproj-offload
--spec-type ngram-mod --spec-ngram-size-n 24 --draft-min 12 --draft-max 48
--ctx-size 128000
--temp 1.0
--top-p 0.95
--top-k 20
--presence_penalty 1.5
--chat-template-kwargs '{"preserve_thinking": true}'


