MTP spekülatif çözme @Ollama: 20 → 42 tok/s
Modelin kendi çoklu token tahmin (MTP) kafasını açmak, kaliteyi değiştirmeden üretim hızını iki katın üstüne çıkardı. En iyi nokta dört taslak token ve kazanç içeriğe çok bağlı — kod taslakları Türkçe düz metinden çok daha sık kabul ediyor.
- Test tarihi
- Kurulum
Radeon Pro W7800 48 GB — fiziksel iş istasyonuFiziksel makine, Linux, ROCm (Ollama) · AMD Ryzen 5 7600 (6 çekirdek / 12 iş parçacığı, AVX-512) · 64 GB DDR5-6400
- Çalışma ortamı
- Ollama 0.34.0 (llama-server --spec-type draft-mtp)
- Modeller
qwen3.8:27b-q8_0-mtpQ8_0 + MTPtest edilen
qwen3.8:27bQ8_0referans
Karar
Bu serinin açık ara en büyük hızlanması: tek bir Modelfile satırıyla +%114. draft_num_predict 4 kullanın; İngilizce dışında bir dilde yazıyorsanız DFlash tipi harici taslak modellerini atlayın.
İşe yarayan
- draft_num_predict 4 ile 19,8 → 42,3 tok/s
- GGUF nextn kafasını taşıyorsa tek bir Modelfile parametresi
- Düşünme açık ya da kapalı kazancı değiştirmiyor
Yaramayan
- Taslak modelle Ollama tek slota iniyor (n_seq_max=1)
- Türkçe düz metin adım başına yalnız 2,0–2,4 token kabul ediyor (28–35 tok/s), kod 3,4–3,6 (45–48)
- Harici DFlash2 taslağı: kodda 57, Türkçede 21 tok/s — elendi
- MTP olmadan
- 19,8tok/s
- MTP ile, n = 4
- 42,3tok/s
- Hızlanma
- 2,14×
- 262K'da VRAM
- 38 → 30GB
Taslak uzunluğu taraması (Q8_0, sıcaklık 1)
yüksek olan iyiVeri
| Üretim | |
|---|---|
| MTP yok | 19,8 tok/s |
| MTP n = 2 | 38,6 tok/s |
| MTP n = 3 | 40,6 tok/s |
| MTP n = 4 (seçilen) | 42,3 tok/s |
| MTP n = 5 | 40,5 tok/s |
| DFlash2 harici taslak, n = 7 | 38,2 tok/s |
Hız içeriğe bağlı
yüksek olan iyiMTP n = 4, ölçülen aralığın orta noktası
- MTP n = 4
- DFlash2 taslağı
Veri
| MTP n = 4 | DFlash2 taslağı | |
|---|---|---|
| Kod | 46,5 tok/s | 57,0 tok/s |
| Türkçe düz metin | 31,5 tok/s | 21,0 tok/s |
Ollama’da nasıl çalışıyor
Ollama 0.34 llama-server’a --spec-type draft-mtp geçiriyor. GGUF modelin kendi çoklu token tahmin ağırlıklarını
(blk.N.nextn.*) taşıyorsa tek bir Modelfile satırı yetiyor:
PARAMETER draft_num_predict 4
İsterseniz bunun yerine DRAFT <gguf> ile ayrı bir taslak modeli de gösterebilirsiniz.
Küçük MTP kafası birkaç token ilerisini tahmin ediyor, büyük model de hepsini tek geçişte kontrol ediyor. Kabul edilen her token bedava hız; reddedilen her biri biraz maliyet. Çıktı kalitesi değişmiyor — her token’da son sözü yine büyük model söylüyor.
Sonuçlar
| Ayar (Q8_0, sıcaklık 1) | Üretim |
|---|---|
| MTP yok | 19,8 tok/s |
| n = 2 | 38,6 |
| n = 3 | 40,6 |
| n = 4 (seçilen) | 42,3 |
| n = 5 | 40,5 |
| DFlash2 harici taslak (n = 7) | 38,2 — kodda 57, Türkçede 21 → elendi |
Taslak açıkken Ollama tek slota iniyor (n_seq_max=1) ve 262K’da VRAM aslında 38’den 30 GB’a düşüyor.
Tek bir rakam sizi yanıltır
Hız, metnin ne kadar tahmin edilebilir olduğuna bağlı:
- Kod: 45–48 tok/s (adım başına 3,4–3,6 kabul edilen token)
- Türkçe düz metin: 28–35 tok/s (adım başına 2,0–2,4)
- Düşünme açık ya da kapalı: fark yok.
O yüzden MTP’yi her zaman kendi dilinizde ve kendi işinizde ölçün.
Sonra ne oldu
Q8_0 + MTP (qwen3.8:27b-q8_0-mtp, 262K, 39 GiB) homelab’imin varsayılanı oldu ve bu sitede sonraki her modeli onunla
karşılaştırdım.