Orkun Soylu

1 dk okuma

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 iyi
MTP yok
19,8 tok/sÜretim · 19,8 tok/s
MTP n = 2
38,6 tok/sÜretim · 38,6 tok/s
MTP n = 3
40,6 tok/sÜretim · 40,6 tok/s
MTP n = 4 (seçilen)
42,3 tok/sÜretim · 42,3 tok/s
MTP n = 5
40,5 tok/sÜretim · 40,5 tok/s
DFlash2 harici taslak, n = 7
38,2 tok/sÜretim · 38,2 tok/s
Veri
Üretim
MTP yok19,8 tok/s
MTP n = 238,6 tok/s
MTP n = 340,6 tok/s
MTP n = 4 (seçilen)42,3 tok/s
MTP n = 540,5 tok/s
DFlash2 harici taslak, n = 738,2 tok/s

Hız içeriğe bağlı

yüksek olan iyi

MTP n = 4, ölçülen aralığın orta noktası

  • MTP n = 4
  • DFlash2 taslağı
Kod
46,5 tok/sMTP n = 4 · 46,5 tok/s
57,0 tok/sDFlash2 taslağı · 57,0 tok/s
Türkçe düz metin
31,5 tok/sMTP n = 4 · 31,5 tok/s
21,0 tok/sDFlash2 taslağı · 21,0 tok/s
Veri
MTP n = 4DFlash2 taslağı
Kod46,5 tok/s57,0 tok/s
Türkçe düz metin31,5 tok/s21,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.