Tüm yazılar
Matematik30 Haziran 2025

Speculative Decoding: Tahmin ile LLM'leri Hızlandırma

Küçük bir model büyük modelin sözünü "tahmin ediyor", sonra büyük model doğruluyor. Sonuç: 2-3x daha hızlı üretim.

Matematik Karavanı 6 dk okuma 5 soru
Yarış pisti — speculative decoding ile hızlı çıkarım

Sorunun büyüklüğü

GPT-4 gibi bir model bir token üretmek için trilyonlarca parametreyi GPU belleğinden okur. Token başına yaklaşık 200 milisaniye. 200 kelimelik bir cevap: 40 saniye. Saniye başına maliyet: kullanıcı için yavaş, sağlayıcı için pahalı.

Sorunun kalbi: üretim, otoregressifdir. Her token bir öncekine bağımlıdır, yani paralel hesaplanamaz. GPU'nun matrisleri çarpma gücü heba olur — bant genişliği darboğaz.

Çözüm: küçük model tahmin etsin

2023'te Leviathan ve ark. (DeepMind), Chen ve ark. (Anthropic) bağımsız bir teknik önerdi: speculative decoding (spekülatif kod çözme).

Fikir basit: küçük (hızlı) bir taslak model KK token tahmin et. Sonra büyük model bu KK tokeni tek seferde doğrula. Doğru olanları kabul et, yanlışı düzelt.

Sezgi: GPU bir token üretirken kullanmadığı muazzam paralel kapasiteye sahip. KK tokenin tamamını paralel olarak değerlendirmek tek token üretmekten biraz daha pahalı.

Algoritma — adım adım

Diyelim büyük model MM, küçük model mm var.

  1. Şu anki bağlamı x1,x2,,xtx_1, x_2, \ldots, x_t al.
  2. Küçük model mm ile K=5K=5 token üret: x~t+1,x~t+2,,x~t+5\tilde{x}_{t+1}, \tilde{x}_{t+2}, \ldots, \tilde{x}_{t+5} ve her birinin olasılıkları qiq_i.
  3. Büyük model MM ile bir adımda beş konumdaki dağılımları hesapla: p1,p2,,p5p_1, p_2, \ldots, p_5.
  4. Her token için kabul/red kararı:
    • Eğer pi(x~i)qi(x~i)p_i(\tilde{x}_i) \geq q_i(\tilde{x}_i): kabul.
    • Aksi halde 1pi/qi1 - p_i/q_i olasılıkla red et, pip_i dağılımından yeni token örnekle.
  5. Kabul edilen tüm tokenleri bağlama ekle, sonra adım 1'e dön.

Neden matematiksel olarak özdeş

Bu kural (Leviathan'ın "modified rejection sampling") ispatlı olarak şunu garanti eder: kabul edilen token dağılımı büyük modelin orijinal dağılımıyla aynıdır. Yani output bit bit değişmez, sadece daha hızlı üretilir.

Bu çok önemli — hız için kaliteden ödün verilmiyor. Aynı stokastik output.

Hız analizi

Kabul oranı α\alpha — küçük modelin büyük modelle aynı tokeni önerme olasılığı. Tipik değer: 0.6–0.8.

Beklenen üretilen token sayısı (büyük modelin tek çağrısı için):

E[tokens]=1αK+11αE[\text{tokens}] = \frac{1 - \alpha^{K+1}}{1 - \alpha}

α=0.7,K=5\alpha=0.7, K=5 için: ~3.4 token. Yani büyük model 3.4 kat daha verimli kullanılır.

Pratikte:

  • Llama 70B, draft model Llama 7B: ~2x hızlanma
  • GPT-4, daha küçük modeller: 2-3x
  • Claude, kendi draft modelleri: 2-3x

Donanım açısından

Modern GPU'lar tek token için kapasitesinin %10-20'sini kullanır (bellek bant genişliği darboğaz). Speculative decoding aynı GPU'da paralel hesabı doldurur. Hardware utilization %40-60'a çıkar. Aynı donanımdan 2-3x throughput.

Draft model seçimi

İdeal draft model:

  • Büyük modelden çok daha hızlı (en az 10x).
  • Büyük modelle benzer dağılım üretsin (kabul oranı yüksek olsun).

Üç ana yaklaşım:

  1. Aynı aileden küçük model: Llama 7B → Llama 70B doğrular. Basit ama 7B yine de yavaş.
  2. Distilled draft: Büyük modelden bilgi damıtmasıyla mini bir model eğit. Daha hızlı.
  3. Self-speculative (Medusa, EAGLE): Modelin kendi ek başlıklarıyla tahmin et. Ekstra model yok, sadece eğitim sırasında ek başlıklar.

Modern varyantlar

  • Medusa (2023): Aynı modele birkaç tahmin başlığı ekle. Llama 7B'de 2.2x hızlanma.
  • EAGLE (2024): Daha iyi draft mimarisi; 3-4x hızlanma.
  • REST: Bağlama benzer geçmiş örneklerden tahmin (retrieval).
  • Lookahead Decoding: Jacobi iterasyonu ile draft-modelsiz hızlanma.

Klasik benzetme

Stenograf'tan ders dinleyen iki kişi düşün:

  • Standart: Profesör kelime kelime konuşur, stenograf yazar.
  • Speculative: Bir asistan profesörün "ne diyeceğini" tahmin eder, beş kelimeyi önceden yazar. Profesör arada bir bakıp "doğru" der ya da "hayır, böyle" diye düzeltir. Profesör daha az çalışır, ders daha hızlı biter.

Uygulama

Bu teknik 2023-2024'te tüm büyük LLM servislerinde standartlaştı:

  • vLLM, TensorRT-LLM, SGLang gibi çıkarım kütüphaneleri varsayılan olarak destekler.
  • OpenAI, Anthropic, Google dahil tüm büyük sağlayıcılar production'da kullanır.
  • AMD ROCm, NVIDIA Triton native destek sunar.

LLM çıkarım maliyetinin son 2 yıldaki keskin düşüşünün ana sebeplerinden biri.

Bağlam

LLM mimarisi için: [[transformer-attention-is-all-you-need]]. KV-cache optimizasyonu için: [[bagsiz-bilgi-uzun-baglam-modelleri-nasil-yapilir]]. Donanım dostu hesap için: [[flashattention-gpu-yu-akilli-kullanan-attention]]. Çıkarım hızlandırmanın diğer cephesi: [[quantization-modelleri-kucultup-hizlandirma]].

Etiketler

speculative decodingLLMçıkarım hızıtransformerdraft model

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. Speculative decoding'in temel fikri nedir?

2. Neden hız kazanılır?

3. Tipik kabul oranı $\alpha$ ne kadardır ve hızlanma?

4. Self-speculative yöntemler (Medusa, EAGLE) ne yapar?

5. Kalite-hız ödünleşimi var mı?