ik_llama.cpp에 Qwen3.8-Flash-Next MTP 병합 완료... 5090 + 128GB에서 45 → 90 tok/s 달성, 12GB 4070에서도 작동
Qwen3.8-Flash-Next MTP merged in ik_llama.cpp (integrated head or separate -md file)... 45 → 90 tok/s on a 5090 + 128GB, works down to a 12GB 4070
핵심 요약
ik_llama.cpp에 MTP 지원이 병합되어 추론 속도가 크게 향상되었으며, 다양한 하드웨어 환경에서의 테스트 결과가 공유되었습니다.
- MTP 지원 병합 — 별도의 포크나 패치 없이 메인 브랜치에서 MTP 사용 가능함
- 성능 향상 — 5090 환경에서 코드 생성 속도가 45에서 90 tok/s로 2배 증가함
- 하드웨어 호환성 — 12GB VRAM의 4070부터 고사양 시스템까지 폭넓게 지원함
- 테스트 데이터 공유 — PR 스레드와 허깅페이스를 통해 다양한 퀀타이즈 모델과 테스트 결과 제공됨
어제 ik_llama.cpp에 qwen4exp MTP 지원이 머지됐음 (PR #2369, 내가 올렸고 다른 사람 4명이 각자 하드웨어에서 리뷰랑 테스트 다 마침). 이제 메인 브랜치에 들어갔으니까 포크나 패치 따로 안 해도 됨. 지난번 글들 보니까 이 모델 MTP는 unsloth 포크 PR로만 된다고 잘못 알고 있는 애들이 좀 있길래 올림... 다른 방법도 있다.
Flash-Next는 2.6B MTP 헤드를 달고 나오는데, 공개된 컨버터들이 이걸 다 날려버리더라고. 이걸 제대로 로드하면 모델이 다음 토큰을 스스로 초안으로 뽑고 검증까지 하니까, MTP 안 썼을 때랑 결과값은 똑같음. 코딩할 땐 초안 수락률 93~99% 찍히고, 일반 글 쓸 땐 60~65% 정도 나옴.
속도(decode tok/s), MTP 없을 때 → 있을 때 비교임. 내 5090 + 128GB DDR5 환경(전문가들은 CPU 씀): 코딩 작업에서 ngram-mod 앞에 붙이니까 45 → 90 찍힘. RTX Pro 6000 쓰는 treo는 코딩에서 85 → 113 나왔는데, 소설 쓸 땐 83 → 59로 떨어져서 아직 무조건 이득이라고 보긴 힘듦. 12GB 4070 쓰는 joelfarthing은 n_max=1 기준으로 9.5 → 12.5 나옴. 주의할 점: 일단 슬롯 하나만 지원함(-np 1). 그리고 --jinja 쓰면 수락률 떨어지는데, 템플릿 때문에 기본적으로 '생각하기'가 켜져서 추론 텍스트를 일반 글처럼 초안으로 뽑아대서 그럼.
순정 CUDA 빌드하고 나서 이렇게 돌리면 됨:
llama-server -m Qwen3.8-Flash-Next-MXFP4-ngramQ8-NextN.gguf -ngl 999 -ncmoe 38 -fa 1 -c 196608 -ub 512 -ctk q8_0 -ctv q8_0 -np 1 -t 24 -tb 32 --jinja --spec-type ngram-mod:n_min=4 --spec-type mtp:n_max=4 --spec-ckpt-mode gpu-fallback -rtr -muge
이미 unsloth나 다른 양자화 모델 가지고 있다고? 헤드 따로 쓰는 방식도 같은 코드에서 돌아가니까 다시 받을 필요 없음: -md <head>.gguf --spec-type mtp:n_max=4. dzannotti랑 ji-farthing이 만든 헤드 둘 다 리뷰할 때 테스트해 봄. unsloth의 "shared" 샤드는 레이아웃이 달라서 아직 안 해봤음.
PR: https://github.com/ikawrakow/ik_llama.cpp/pull/2369
내가 통합한 헤드 MXFP4 파일: https://huggingface.co/jamesrogers/Qwen3.8-Flash-Next-MTP-MXFP4-GGUF
ji-farthing의 ik_llama KT 양자화 + 헤드: https://huggingface.co/ji-farthing/Qwen3.8-Flash-Next-ik-llama-GGUF
너네는 속도 얼마나 나오는지 궁금하다. 특히 AMD 쓰는 애들 있으면 제보 좀!!


