Bizimle iletişime geçin

Yapay Zeka

Büyük Dil Modelleri İçin Sunucusuz Çıkarımın Geleceği

mm

GPT-4 ve PaLM gibi büyük dil modellerindeki (LLM'ler) son gelişmeler, doğal dil görevlerinde dönüştürücü yeteneklere yol açmıştır. Yüksek Lisans'lar sohbet robotları, arama motorları ve programlama asistanları gibi çeşitli uygulamalara dahil ediliyor. Bununla birlikte, önemli GPU ve bellek gereksinimleri nedeniyle yüksek lisansa geniş ölçekte hizmet vermek hala zorlu olmaya devam ediyor.

Bunun üstesinden gelmeye yönelik yaklaşımlar genellikle iki ana kategoriye ayrılır:

  1. Model Sıkıştırma Teknikleri

Bu teknikler doğruluğu korurken modelin boyutunu küçültmeyi amaçlamaktadır. Ortak yaklaşımlar şunları içerir:

  • Budama – Gereksiz veya daha az önemli parametrelerin modelden çıkarılması. Bu, daha az parametreye sahip seyrek bir model oluşturur.
  • niceleme – Ağırlıkları temsil etmek için fp8 veya fp16 yerine int32 veya bfloat16 gibi daha düşük duyarlıklı sayıların kullanılması. Bu, bellek ayak izini azaltır.
  • Bilgi damıtma – Büyük bir “öğretmen” modelini taklit etmek için daha küçük bir “öğrenci” modelinin eğitilmesi. Daha sonra küçük model çıkarım için kullanılır.
  1. Seçmeli Yürütme

Sıkıştırılmış modeller yerine bu teknikler, çıkarım başına modelin yalnızca bölümlerini seçici olarak yürütür:

  • Seyrek aktivasyonlar – Sıfır aktivasyonlarda hesaplamanın atlanması.
  • Koşullu hesaplama – Yalnızca girdiye göre koşullandırılan belirli katmanların çalıştırılması.

Yazılım mimarı tarafında tamamlayıcı tarafta; Yüksek Lisans'ın daha hızlı konuşlandırılmasını sağlamak için araştırmacılar sunucusuz çıkarım sistemleri önerdiler. Sunucusuz mimarilerde LLM'ler paylaşılan GPU kümelerinde barındırılır ve talebe göre dinamik olarak tahsis edilir. Bu, GPU'ların verimli kullanımına olanak tanır ve geliştiricilerin maliyetlerini azaltır. Öne çıkan uygulamalar arasında Amazon SageMaker, Microsoft Azure ML ve KServe gibi açık kaynak seçenekleri yer alıyor.

Sunucusuz LLM'lerin vaatlerine rağmen mevcut sistemler, etkileşimli uygulamalardaki kullanıcı deneyimini olumsuz etkileyen yüksek gecikme maliyetleri sergiliyor:

  1. Pahalı kontrol noktası indirmeleri: LLM'ler genellikle gigabaytlardan terabaytlara kadar değişen büyük bellek alanlarına sahiptir. Kontrol noktalarının uzak depolama biriminden indirilmesi zaman alıcıdır ve optimize edilmiş ağlarda bile 20 saniyeden fazla sürer.
  2. Verimsiz kontrol noktası yüklemesi: Yerel SSD depolamada bile, tensörün seri durumdan çıkarılması ve tahsisi gibi faktörler nedeniyle kontrol noktalarının GPU belleğine yüklenmesi onlarca saniye sürer. Bu, konteyner başlatma süresinin ötesinde önemli gecikmelere neden olur.

Bu sorunları çözmek için MIT CSAIL'deki araştırmacılar şunları önerdi: SunucusuzLLMYüksek Lisans'lar için düşük gecikme süreli sunucusuz çıkarım sağlayan yenilikçi bir sistem. SunucusuzLLM, LLM dağıtımı için çok katmanlı sunucu depolama alanındaki bol ancak yeterince kullanılmayan kapasite ve bant genişliğinden yararlanarak yerelliği geliştirir.

LLM sunucusuz çıkarım sistemlerine genel bakış

LLM sunucusuz çıkarım sistemlerine genel bakış

SunucusuzLLM'deki Temel Yenilikler SunucusuzLLM, sunucusuz ortamlarda LLM yükleme sürelerini kısaltmak için çeşitli yeni tasarımlar içerir:

  1. Hızlı kontrol noktası yükleme
  • Hızlı sıralı okumaya ve verimli bellek içi tensör adreslemesine olanak tanıyan, yükleme için optimize edilmiş kontrol noktası formatı.
  • Doğrudan G/Ç, sabitlenmiş bellek aktarımı ve paralellik gibi teknikler aracılığıyla ağ, SSD'ler, DRAM ve GPU belleği genelinde bant genişliği kullanımını en üst düzeye çıkaran çok katmanlı kontrol noktası yükleme hattı.
  1. Yerelliğe dayalı çıkarım için canlı geçiş
  • Ağ üzerinden yalnızca temel bilgi istemi belirteçlerini ileten, yavaş anlık görüntü aktarımını önleyen belirteç tabanlı geçiş.
  • Son belirteçleri aktarmadan önce hedef sunucudaki önbellek durumlarını eşzamansız olarak yeniden hesaplayarak kesintisiz çıkarıma olanak tanıyan iki aşamalı geçiş.
  1. Gecikme açısından optimize edilmiş sunucu tahsisi
  • Her katmandan kontrol noktası yükleme sürelerini ve bir sunucunun geçiş sürelerini tahmin etmek için doğru modeller.
  • Yukarıdaki modelleri kullanarak beklenen başlatma gecikmesini en aza indirecek şekilde sunucuları seçen, yerelliğe duyarlı zamanlayıcı.

Bu optimizasyonlar, ServerlessLLM'nin PyTorch, TensorFlow ve KServe gibi mevcut sistemlere kıyasla LLM yükleme sürelerini 4-8 kat ve uçtan uca başlatma sürelerini 25 kattan fazla azaltmasına olanak tanır.

ServerlessLLM'nin bu önemli performans kazanımlarını nasıl elde ettiğini daha derinlemesine inceleyelim.

Kontrol Noktası Yüklemesini Hızlandırma

ServerlessLLM tarafından ele alınan ilk büyük darboğaz, LLM kontrol noktalarının depolamadan GPU belleğine yüklenmesindeki yüksek gecikmedir.

Hızlı kontrol noktası yüklemesini etkinleştirmek için ServerlessLLM şunları sunar:

  1. Yükleme için optimize edilmiş kontrol noktası formatı

PyTorch gibi çerçeveler tarafından kullanılan standart kontrol noktaları, model eğitimi ve hata ayıklama için tasarlanmıştır. Ancak sunucusuz çıkarım için denetim noktaları salt okunurdur ve tekrar tekrar erişilir.

Bu tür yoğun okuma kullanımını optimize etmek için ServerlessLLM, kontrol noktalarını iki temel özelliğe sahip bir formata dönüştürür:

  • Sıralı öbek tabanlı okuma: Tensörler, GPU başına ikili dosyalar halinde gruplandırılarak büyük sıralı okumalar kolaylaştırılır.
  • Verimli tensör adresleme: Bir dizin, tensör adlarını bellek uzaklıklarıyla eşleştirerek seri durumdan çıkarma olmadan doğrudan bellek içi geri yüklemeye olanak tanır.
  1. Çok katmanlı kontrol noktası yükleme hattı

ServerlessLLM, SSD'ler gibi depolama ortamları ve PCIe, NVMe vb. aracılığıyla GPU'lara bağlanan ağ iletişimi ile GPU sunucularının katmanlı mimarisinden yararlanır.

Sistem, tüm katmanlarda bant genişliği kullanımını en üst düzeye çıkarmak için çok aşamalı bir işlem hattı içerir:

  • Bellek içi veri parçaları, hızlı GPU aktarımı için sabitlenmiş bellek kullanılarak tahsis edilir.
  • Doğrudan G/Ç, önbelleğe alma yükü olmadan verimli SSD okumaları için kullanılır.
  • Birden çok iş parçacığı, farklı depolama parçalarını paralel olarak okur.
  • Aşamalar arası koordinasyon, eşzamansız görev kuyrukları aracılığıyla gerçekleşir.

Bu, NVMe RAID gibi en hızlı katmanların bile bant genişliği kapasitesinin doyurulmasına olanak tanır. Deneyler, ServerlessLLM'nin PyTorch/TensorFlow'a göre 6-8 kat daha hızlı yükleme sağladığını ve büyük LLM'ler için başlatma sürelerini bir dakikadan 10 saniyenin altına düşürdüğünü ortaya koyuyor.

Canlı Geçiş Yoluyla Yerellik Odaklı Yüksek Lisans Çıkarımı

Hızlandırılmış yüklemeyle ServerlessLLM yeni bir zorlukla karşı karşıyadır: Meşgul sunucularda devam eden çıkarımları kesintiye uğratmadan yerellik için önceden yüklenmiş kontrol noktalarından nasıl yararlanılır?

ServerlessLLM yeni bir teknik sunuyor: LLM çıkarımının GPU sunucuları arasında canlı geçişi. Bu, yürütmenin yerel kontrol noktaları bulunan sunuculara sorunsuz bir şekilde aktarılmasına olanak tanır.

Canlı LLM geçişini kolaylaştıran temel unsurlar:

  1. Belirteç tabanlı geçiş

ServerlessLLM, tüm model durumunun anlık görüntüsünü almak yerine yalnızca minimum bilgi istemi belirteçlerini ağ üzerinden taşır. Bu, anlık görüntülerden çok daha az miktarda veri aktarır.

  1. İki aşamalı geçiş

Hedef sunucu, bilgi istemi belirteçlerinden önbellek durumlarını eşzamansız olarak önceden hesaplar. Kaynak sunucu hazır olduğunda, kaynakları serbest bırakmadan önce son belirteçleri aktarır. Bu, çıkarım duraklamalarını önler.

Deneyler, jeton tabanlı geçişin, uzun diziler için bile geçiş sürelerini onlarca saniyeden bir saniyenin altına düşürdüğünü ortaya koyuyor. Canlı geçiş, yerellik odaklı tahsise ulaşıldığında kuyruktaki gecikmeleri önlemek açısından çok önemlidir.

Gecikme Süresi Optimize Edilmiş Model Planlama

Uçtan uca gecikmeyi en aza indirmek için ServerlessLLM, sunucu seçimini yerellik dikkate alınarak optimize edecek şekilde zamanlayıcıyı geliştirir. Bu içerir:

  1. İnce taneli yükleme süresi tahmincisi

Modeller, kuyruk gecikmeleri, model boyutları ve ölçülen bant genişliği gibi ölçümleri kullanarak her sunucu için ağdan, SSD önbelleklerinden ve bellekten yükleme sürelerini tahmin eder.

  1. Doğru geçiş süresi tahmincisi

Zamanlayıcı, istem ve çıktı belirteçlerinin sayısını kullanarak sunucular için geçiş sürelerini tahmin eder. Ek yükü önlemek için çıkarım ilerlemesini eşzamansız olarak izler.

  1. Yerelliğe duyarlı tahsis

Her çıkarım isteği için zamanlayıcı, sunucular arasındaki tahmini yükleme ve geçiş sürelerini değerlendirir. Beklenen başlatma gecikmesini en aza indirecek şekilde sunucuyu seçer.

Zamanlayıcı ayrıca sunucu görev sıralarını korur ve hata toleransı için güçlü ve tutarlı bir depolamadan yararlanır. Bu yenilikler hep birlikte planlama masraflarını azaltırken yerellik faydalarını da en üst düzeye çıkarıyor.

Sunucusuz LLM Performansını Değerlendirme

Kapsamlı deneyler, OPT-175B gibi gerçek dünya modellerini ve Azure izlemelerinden sonra modellenen iş yüklerini kullanarak ServerlessLLM'nin uçtan uca etkinliğini mevcut sistemlerle karşılaştırır.

Anahtar sonuçlar:

  • Mikro kıyaslamalar: ServerlessLLM, kontrol noktası yüklemesini PyTorch/TensorFlow'a göre 3.6-8.2 kat hızlandırır. En son teknolojiye sahip NVMe RAID için bile depolama bant genişliğini tamamen doyurur.
  • Çizelgeleme: SunucusuzLLM, rastgele planlamaya kıyasla tahsis gecikmesini 4-12 kat azaltır ve yerellik farkındalığının faydalarını vurgular. Canlı geçiş, kuyruktaki gecikmeleri önler.
  • Uçtan uca hizmet: OPT-30B gibi büyük modeller için ServerlessLLM, KServe ve Ray Serve gibi sistemlere göre 99. yüzdelik dilimdeki gecikmeyi 28-200 kat artırır. Aynı zamanda kaynak verimliliğini de arttırır.

Bu önemli kazanımlar, ServerlessLLM'nin mevcut sunucusuz uygulamalardaki darboğazları aşma ve etkileşimli hizmetler için LLM'lerin gücünü açığa çıkarma yeteneğini göstermektedir.

ServerlessLLM'de sunulan çok katmanlı yükleme, canlı geçiş ve gecikme odaklı zamanlama gibi iyileştirmeler, gelecekteki sunucusuz mimarilerin tasarımına ışık tutabilir. Sistemin yükleme ve başlatma sürelerini kısaltma yeteneği, pratik uygulamalar için büyük dil modellerinin ölçeklenebilir dağıtımının önündeki engelleri kaldırır.

İleriye Bakış: Devam Eden Zorluklar

Sunucusuz LLM, ileriye doğru önemli bir adım olsa da, büyük LLM'ler için sunucusuz çıkarımı optimize etmede yalnızca ilk adımı temsil ediyor. Aşağıdakiler de dahil olmak üzere birçok açık sorun devam etmektedir:

  • Tedarik ve ön yüklemeye rehberlik etmek için gerçek zamanlı model talebini tahmin etme
  • Önbellek isabetlerini en üst düzeye çıkarmak için sunuculara akıllıca kontrol noktaları yerleştirme
  • Daha büyük kümeleri işlemek için planlama algoritmalarını verimli bir şekilde ölçeklendirme
  • Modeller ve geliştiriciler arasında kaynak tahsisinde adaletin sağlanması
  • Canlı geçiş gibi yeniliklerin diğer sunucusuz iş yüklerine yaygınlaştırılması

Bu alanların ele alınması, sunucusuz LLM'lerin vaadini güçlendirmeye ve yeteneklerini daha da erişilebilir hale getirmeye yardımcı olabilir. Sistem düzeyindeki optimizasyonların ötesinde, ciddi karbon ayak izinin ve büyük modellerin potansiyel zararlarının azaltılması da acil bir öncelik olmaya devam ediyor.

ServerlessLLM, yapay zeka iş yüklerine yönelik yeni nesil sunucusuz mimarilerde inovasyon için muazzam bir boşluk bulunduğunu gösteriyor. Yüksek Lisans'ların boyutu ve popülerliği artmaya devam ettikçe, ölçeklenebilirliklerinin kilidini açan ServerlessLLM gibi çözümler daha da etkili hale gelecektir. Sistemlerin ve makine öğrenimi araştırmalarının birleşmesi, yapay zeka modellerinin güvenli ve sürdürülebilir bir şekilde sunulması, paylaşılması ve ölçeklendirilmesinde yeni paradigmalar ortaya çıkarabilir.

Son beş yılımı, Makine Öğrenimi ve Derin Öğrenmenin büyüleyici dünyasına dalarak geçirdim. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla farklı yazılım mühendisliği projesine katkıda bulunmamı sağladı. Devam eden merakım, beni daha fazla keşfetmeye hevesli olduğum bir alan olan Doğal Dil İşleme'ye de çekti.