Speculative Decoding ile Çıkarım Hızlandırma

348 kelime3 dk okuma

Speculative decoding, küçük bir modelin birden çok token tahmin etmesine izin verir ve büyük model bunları paralel olarak doğrular; kabul edilen tahminler tek adımda üretildiği için çıkarım hızı belirgin biçimde artar ve çıktı dağılımı korunur.

Sorun

Büyük modeller, bellek bant genişliğine bağlı olarak token başına sabit bir gecikme üretiyor. Her token için tüm ağırlıkların bellekten okunması gerekiyor.

Bu, üretim hızını yapılandırılmış üretim gibi bellek yoğun olmayan yüklerde daha da belirgin kılıyor. Burada hesaplama gücü bol, bellek erişimi darboğaz.

Fikir

Speculative decoding, küçük ve hızlı bir modelin büyük modelden önce birkaç token tahmin etmesini sağlar. Bu tahminler daha sonra büyük model tarafından paralel olarak doğrulanır.

Doğrulama, büyük modelin tüm tokenları tek seferde işlemesiyle yapılabilir. Kabul edilen tokenlar hemen üretilir, reddedilen kısımdan sonrası yeniden üretilir.

Neden çalışıyor?

Büyük modelin bellek erişimi darboğaz olduğu için, onu daha büyük bir toplu işlemde çalıştırmak neredeyse aynı süreyi alır. Bu, küçük modelin önerilerini doğrulama fırsatı yaratır.

Doğrulama, teorik olarak referans modelin çıktı dağılımını bozmadan yapılır. Bu, yöntemin kalite açısından güvenli olmasını sağlar.

Kabul oranı belirleyici

Kazanç, büyük modelin küçük modelin önerilerini ne kadar sıklıkla kabul ettiğine bağlı. Öneri ve doğrulayıcı ne kadar uyumluysa kazanç o kadar yüksek.

Bu, küçük modelin seçimini kritik bir karar hâline getiriyor. Çok benzer model iyi kabul oranı veriyor; çok farklı model kazandırmıyor.

Üretimde kullanım

Bu teknik, üretim hizmetlerinde yaygın biçimde kullanılıyor. Kalite değişmeden hız kazandığı için, hizmet sağlayıcıları için doğrudan ekonomik bir kazanç sağlıyor.

Ayrıca küçük modellerin yaygınlaşması, bu yöntemi daha da erişilebilir kılıyor. Önerici model olarak küçük bir açık model kullanmak, maliyeti düşük tutuyor.

  • Büyük model bellek darboğazı nedeniyle token başına sabit gecikme yaşıyor
  • Küçük model öneride bulunuyor, büyük model paralel doğruluyor
  • Çıktı dağılımı korunuyor, kalite değişmiyor
  • Kabul oranı, kazancın temel belirleyicisi

Sık sorulan sorular

Speculative decoding çıktıyı değiştiriyor mu?

Teorik olarak hayır. Doğrulama biçimi, referans modelin çıktı dağılımını koruyacak biçimde tasarlanmıştır. Kazanç, hızdan gelir, kaliteden değil.

Neden daha hızlı çalışıyor?

Büyük modelin bellek erişimi darboğaz olduğu için onu daha büyük bir toplu işlemde çalıştırmak neredeyse aynı süreyi alır. Bu süre içinde birden çok token doğrulanabiliyor.

Kabul oranı ne kadar önemli?

Çok önemli. Büyük model küçük modelin önerilerini sık kabul ediyorsa kazanç yüksek, az kabul ediyorsa kazanç düşük olur. Bu yüzden önerici model seçimi kritiktir.

Her ortamda işe yarar mı?

Büyük modelin bellek darboğazı olduğu durumlarda en etkili. Hesaplama yoğun, küçük yüklerde etkisi daha sınırlı olabiliyor.

Kaynakça

  1. Fast Inference from Transformers via Speculative DecodingarXiv
  2. Yaklaşık çıkarım ve örneklemeWikipedia
  3. Bellek bant genişliğiWikipedia
  4. Otoregresif dil modellemeWikipedia
  5. Model çıkarımıWikipedia

Bu konuyla ilgili haberler