Otoregresif Üretim Adım Adım
Model ilk token olarak başlangıç özel tokeni alır. Giriş transformer katmanlarından geçirilerek her kelime dağarcığı tokeni için logit puanları hesaplanır; softmax bu puanları olasılık dağılımına çevirir. Seçilen kod çözme stratejisine göre (greedy, top-p vb.) bir sonraki token örneklenir ve bağlama eklenir. Bu döngü bitiş tokeni üretilene ya da maksimum uzunluk aşılana kadar tekrar eder. Her döngüde yalnızca son token yeni; önceki tokenların dikkat matrisleri KV önbelleğinden alınır.
Kod Çözme Stratejileri
- check_circle Açgözlü (Greedy): Her adımda en yüksek olasılıklı tokeni seçer; en hızlı ama en az çeşitli strateji. Aynı prompt her zaman aynı çıktıyı üretir.
- check_circle Işın Araması (Beam Search): K aday diziyi paralel takip eder; makine çevirisi gibi kesin görevlerde kaliteyi artırır. Yüksek K değerleri bellek ve hesaplama maliyetini yükseltir.
- check_circle Top-p (Nucleus Örnekleme): Kümülatif olasılık p'ye ulaşana kadar en olası tokenler arasından örnekler; uyarlanabilir sözlük boyutu ve yaratıcı çıktılar sağlar.
- check_circle Sıcaklık Örneklemesi: T<1 dağılımı keskinleştirerek odaklanır; T>1 yumuşatarak yaratıcı ve çeşitli çıktılar üretir. T=0 greedy kod çözmeye eşdeğerdir.
Performans Optimizasyonları
- check_circle KV Önbelleği: Önceki adımlarda hesaplanan Anahtar-Değer matrisleri saklanır; her adımda yeniden hesaplama yerine önbellekten okunur. Uzun bağlamlarda en kritik hız optimizasyonudur.
- check_circle Spekülatif Kod Çözme: Küçük taslak model birden çok token önerir; büyük model paralel olarak doğrular ve reddettiği noktadan yeniden başlar. Ortalama 2-4x hızlanma sağlar.
- check_circle Sürekli Toplu İşleme: Birden fazla kullanıcı isteği aynı anda işlenir; boş GPU kapasitesi atıl kalmaz ve toplam verim artar.
- check_circle Flash Attention: Dikkat hesaplamasını IO açısından verimli bloklamalarla gerçekleştirir; uzun bağlam pencerelerinde bellek tüketimini önemli ölçüde azaltır.
Otoregresif Kod Çözme: Hız Sorunları ve Çözümleri
KV-Cache
Önceki token'ların dikkat anahtar-değer çiftlerini önbellekte tutar; tekrar hesaplamayı önler; bellek artar, hız artar
Speculative Decoding
Küçük taslak model hızlıca birkaç token önerir; büyük model toplu doğrular; 2-3x hızlanma mümkün
Quantization (INT4/INT8)
Model ağırlıklarını düşük hassasiyetle depolar; bellek yarıya iner; hafif kalite kaybı ile çok daha hızlı çıkarım
Paralel Kod Çözme (Medusa/Hydra)
Birden fazla token konumunu aynı anda tahmin eden çoklu kafa mimarisi; otoregresif kısıtı kısmen aşar
Otoregresif Modellerin Kullanım Alanları
- check_circle Metin Üretimi: GPT-4, Claude, Gemini — sohbet, özetleme, içerik oluşturma
- check_circle Kod Tamamlama: GitHub Copilot ve Cursor'ın temel mekanizması; satır satır kod önerisi
- check_circle Makine Çevirisi: Hedef dilde token token çeviri; kalite ile hız dengesi kritik
- check_circle Müzik ve Ses Üretimi: AudioLM, MusicGen — zaman adımı bazında ses token'ı üretimi
- check_circle Görüntü Üretimi (Otoregresif): ImageGPT, LlamaGen — piksel veya görüntü token'larını sırayla üretir
Sık Sorulan Sorular
- check_circle Neden otoregresif kod çözme yavaş? Her token sırayla üretilmek zorunda; bir sonraki token önceki tokeni gerektirir, bu da GPU paralelizmini kısıtlar. 1000 token üretmek 1000 seri adım demektir.
- check_circle Temperature 0 ne anlama gelir? Temperature 0, greedy kod çözmeye eşdeğerdir; model her adımda deterministik olarak en yüksek olasılıklı tokeni seçer. Aynı prompt her zaman aynı çıktıyı üretir.
- check_circle Spekülatif kod çözme neden daha hızlı? Küçük taslak model N token önerir; büyük doğrulayıcı model bu N tokeni tek paralel geçişte değerlendirir. Öneriler kabul edilirse N token maliyeti tek token maliyetiyle ödenir.
- check_circle Beam search neden her zaman daha iyi sonuç vermez? Beam search toplam log-olasılığı maksimize eder; ancak bu, insan değerlendirmesinde en kaliteli metin anlamına gelmez. Yaratıcı ve çeşitli metinlerde örnekleme yöntemleri daha iyi sonuç verebilir.