Spekülatif Kod Çözme Nasıl Çalışır?
Taslak model γ (genellikle 4–8) token sırayla üretir ve bunları doğrulayıcı modele iletir. Doğrulayıcı model, bu γ tokeni paralel olarak tek bir ileri geçişte değerlendirir ve her token için kendi dağılımını hesaplar. Kabul-ret kararı olasılık oranıyla belirlenir: taslak modelin seçimi büyük modelin seçimiyle uyuşuyorsa kabul edilir; büyük modelin dağılımından çok saptıysa reddedilir ve bu noktadan büyük model devralır. Temel özellik: hiçbir durumda çıktı dağılımı değişmez, yalnızca hız artar.
Taslak Model Örnekleri
GPT-4 + GPT-4o-mini
OpenAI API'sinde spekülatif decoding: gpt-4o-mini taslak token önerir, gpt-4 doğrular. Kullanıcı başına maliyet %30-50 azalırken yanıt hızı artar.
Llama 3.1 405B + 8B
Meta'nın büyük modeline eşlik eden 8B taslak model. Self-hosted ortamlarda VRAM kullanımını optimize etmek için tercih edilir.
Medusa Kafası
Tek model üzerine eklenen çoklu tahmin kafaları; ek taslak model gerektirmez. Her kafa farklı konum için token önerir, ana model toplu doğrular.
Eagle / EAGLE-2
Taslak modeli ana modelin gizli durumlarına erişerek eğiten yaklaşım. Standart spekülatif decoding'e kıyasla %20-30 ek hız kazanımı sağlar.
Taslak Model Seçim Kriterleri
- check_circle Aynı Mimari Ailesi: Doğrulayıcıyla aynı aileden küçük model (8B vs 70B) dağılım uyumu sağlar; yüksek kabul oranı verir.
- check_circle Düşük Gecikme: Taslak modelin γ token üretme süresi, doğrulayıcının bir token üretme süresinden kısa olmalıdır; aksi hâlde net kazanç sıfırlanır.
- check_circle Bellek Baskısı: Her iki model GPU belleğinde eş zamanlı çalışır; bu nedenle toplam VRAM kapasitesi dikkate alınmalıdır.
- check_circle Kabul Oranı (Acceptance Rate): Pratikte 0.7–0.9 arasında kabul oranı hedeflenir. Düşük oran, net hız artışını ortadan kaldırır.
Kullanım Alanları
- check_circle Gerçek Zamanlı Sohbet Arayüzleri: Kullanıcıya sunulan ilk token gecikmesi (TTFT) ve token üretim hızı (TPS) spekülatif kod çözmeyle belirgin biçimde iyileşir.
- check_circle Uzun Belge Üretimi: Kod tamamlama, makale taslağı ve çeviri gibi uzun çıktı gerektiren görevlerde hız farkı katlanarak büyür.
- check_circle Üretim Ölçeğinde API Sunucuları: vLLM ve TensorRT-LLM gibi framework'ler spekülatif kod çözmeyi yerel destek olarak sunar; throughput ve maliyet optimizasyonu için tercih edilir.
- check_circle Uç Cihaz (Edge) Dağıtımı: Küçük taslak + orta doğrulayıcı kombinasyonu, sınırlı donanımda kabul edilebilir gecikme ile yüksek kaliteli çıktı elde etmeyi kolaylaştırır.
tune Spekülatif Kod Çözme Parametreleri
- check_circle Taslak uzunluğu (k): Her adımda taslak modelin ürettiği token sayısı. k=4-8 genellikle optimal; fazla büyük k doğrulama bekleme süresini artırır.
- check_circle Kabul eşiği (α): Büyük modelin taslak tokeni kabul etme olasılık eşiği. Düşük α daha fazla red → daha az hızlanma; yüksek α kaliteyi riske atar.
- check_circle Sıcaklık uyumu: Taslak ve hedef model aynı örnekleme sıcaklığıyla çalışmalı; aksi hâlde dağılım uyumsuzluğu red oranını artırır.
- check_circle Batch boyutu: Spekülatif decoding tek istek için tasarlanmıştır; yüksek batch senaryolarında avantajı azalır.
- check_circle Önbellek paylaşımı (KV-cache): Taslak ve hedef model KV-cache paylaşabilirse bellek bant genişliği tasarrufu sağlanır.
Sıkça Sorulan Sorular
- check_circle Taslak model çıktı kalitesini düşürür mü? Hayır. Spekülatif kod çözme matematiksel olarak doğrulayıcının dağılımına eşdeğer çıktı üretir; taslak model yalnızca hız için bir ara katman işlevi görür.
- check_circle Hangi çerçeveler spekülatif kod çözmeyi destekler? vLLM, Hugging Face TGI, TensorRT-LLM ve llama.cpp başlıca destekleyen çerçeveler arasındadır. Her biri kendi yapılandırma parametreleriyle bu özelliği etkinleştirir.
- check_circle Medusa ile taslak model arasındaki fark nedir? Geleneksel yöntemde iki ayrı model kullanılır. Medusa ise doğrulayıcı modelin üstüne ek kafa katmanları ekleyerek tek model içinde aday token üretir; ek bellek yükü daha azdır.
- check_circle Spekülatif kod çözme hangi durumlarda işe yaramaz? Taslak modelin kabul oranı düşükse (farklı mimari, kötü hizalama) ya da üretim γ değeri yanlış ayarlandıysa beklenen hız artışı gerçekleşmeyebilir veya gecikme artabilir.