Speculative decoding 질문, 665% 속도 향상
Speculative decoding question, 665% speed increase
핵심 요약
llama.cpp의 ngram 기반 speculative decoding 설정을 통해 코드 편집 작업에서 대폭적인 속도 향상을 경험한 사례 공유.
- 설정 최적화 — llama.cpp에서 ngram-map-k 및 ngram-mod 설정을 통해 코드 편집 속도를 크게 개선함.
- 작업 특성 — speculative decoding은 코드 수정처럼 반복적인 패턴이 많은 작업에서 특히 효과적임.
- 모델 차이 — 모델의 크기와 성격에 따라 속도 향상 폭이 크게 달라짐.
- 기술적 원리 — 별도의 작은 모델 없이 검색 기반으로 작동하여 코드 수정 시 효율적인 예측이 가능함.
llama.cpp에서 다음 설정을 사용 중임:
--spec-type ngram-map-k --spec-ngram-size-n 24 --draft-min 12 --draft-max 48
예를 들어 프롬프트가 "코드의 사소한 변경"일 때, 모델마다 차이가 나는 진짜 이유는 뭘까:
Gemma 4 31b: tks gen이 두 배가 되어 100% 증가
Qwen 3.6: 속도 40% 증가에 그침
Devstrall small: 속도 665% 증가 (이게 뭐야?)
수정:
Qwen 3.6에 --repeat-penalty 1.0과 --spec-type ngram-mod를 대신 적용했더니, 사소한 수정 작업에서 기본 100tks 대비 140tks로 속도가 증가함.
