Connect with us

Yapay Zekâ

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

mm

GPT-4 ve PaLM gibi büyük dil modellerinde (LLM) yaşanan recent gelişmeler, doğal dil görevlerinde dönüştürücü yetenekler sağlamıştır. LLM’ler, sohbet botları, arama motorları ve programlama asistanları gibi çeşitli uygulamalara entegre edilmektedir. Ancak, LLM’lerin büyük GPU ve bellek gereksinimleri nedeniyle bunları büyük ölçekte sunmak hala zorlu bir görevdir.

Bu zorluğu aşmak için genel olarak iki ana yaklaşım bulunmaktadır:

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

Bu teknikler, modelin boyutunu azaltırken doğruluğunu korumayı hedefler. Common approaches include:

  • Pruning – Modelden冗ant veya moins önemli parametreleri kaldırma. Bu, daha az parametreyle bir sparse model oluşturur.
  • Quantization – Ağırlıkları temsil etmek için fp32 veya fp16 yerine int8 veya bfloat16 gibi daha düşük precision sayılar kullanma. Bu, bellek izini azaltır.
  • Bilgi Damıtma – Bir büyük “öğretmen” modeli taklit etmek için daha küçük bir “öğrenci” modeli eğitme. Daha sonra daha küçük model çıkarım için kullanılır.
  1. Seçici Çalışma

Bu teknikler, sıkıştırılmış modeller yerine, her bir çıkarım için modelin sadece belirli kısımlarını çalıştırır:

  • Sparse aktivasyonlar – Sıfır aktivasyonlara karşılık gelen hesaplamaları atlama.
  • Koşullu hesaplama – Girişe bağlı olarak yalnızca belirli katmanları çalıştırma.

Yazılım mimarı açısından, LLM’lerin daha hızlı dağıtımı sağlamak için araştırmacılar sunucusuz çıkarım sistemlerini önerdiler. Sunucusuz mimarilerde, LLM’ler paylaşılan GPU kümelerine barındırılır ve talebe göre dinamik olarak atanır. Bu, GPU’lerin verimli kullanılmasını ve geliştiriciler için maliyetlerin azaltılmasını sağlar. Önemli uygulamalar arasında Amazon SageMaker, Microsoft Azure ML ve KServe gibi açık kaynaklı seçenekler bulunmaktadır.

Mevcut sistemlerin sunucusuz LLM’leri vaat ettiği rağmen, yüksek gecikme overheads ile karşılaşılmaktadır ve bu da etkileşimli uygulamalarda kullanıcı deneyimini bozmaktadır:

  1. Maliyetli kontrol noktası indirme: LLM’ler genellikle gigabayt ila terabayt boyutlarında büyük bir bellek izine sahiptir. Optimized ağlar ile bile uzak depolamadan kontrol noktalarının indirilmesi zaman alıcıdır ve 20 saniyeden fazla sürebilir.
  2. Verimsiz kontrol noktası yükleme: Yerel SSD depolama ile bile, kontrol noktalarını GPU belleğine yüklemek, tensör seri hale getirme ve tahsis gibi faktörler nedeniyle on saniyeler sürebilir. Bu, konteynır başlangıç zamanının ötesinde önemli gecikmelere neden olur.

Bu sorunları gidermek için MIT CSAIL’den araştırmacılar, ServerlessLLM adlı yenilikçi bir sistemi önerdiler. ServerlessLLM, LLM dağıtımı için çok katmanlı sunucu depolama kapasitesini ve bant genişliğini kullanarak yerel olmayı tăngtırır.

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

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

ServerlessLLM’deki Ana Yenilikler: ServerlessLLM, sunucusuz ortamlarda LLM yükleme zamanlarını azaltmak için çeşitli yeni tasarımlar içerir:

  1. Hızlı kontrol noktası yükleme
  • Hızlı sıralı okuma ve verimli bellek içi tensör adresleme sağlayan yükleme için optimize edilmiş kontrol noktası formatı.
  • Ağ, SSD’ler, DRAM ve GPU belleği arasında direkt I/O, pinned memory transferi ve paralellik gibi teknikler kullanarak bant genişliğini en üst düzeye çıkaran çok katmanlı kontrol noktası yükleme pipeline’ı.
  1. Canlı göç için yerel olmayı sağlayan çıkarım
  • Sadece gerekli.prompt token’lerini ağ üzerinden iletmek için token tabanlı göç.
  • Hedef sunucuda kesintisiz çıkarımı sağlamak için iki aşamlı göç.
  1. Gecikme optimize sunucu ataması
  • Her sunucu için kontrol noktası yükleme zamanlarını ve göç zamanlarını tahmin eden modeller.
  • Yukarda belirtilen modelleri kullanarak beklenen başlangıç gecikmesini en aza indiren sunucuları seçen yerel olmayı destekleyen zamanlayıcı.

Bu optimizasyonlar, ServerlessLLM’nin LLM yükleme zamanlarını 4-8 kat ve uçtan uca başlangıç zamanlarını mevcut sistemlere kıyasla 25 kat azaltmasını sağlar.

Kontrol Noktası Yüklemesini Hızlandırma

ServerlessLLM’nin ele aldığı ilk büyük engel, LLM kontrol noktalarının depolamadan GPU belleğine yüklenmesinin yüksek gecikmesidir.

Hızlı kontrol noktası yüklemesi sağlamak için ServerlessLLM:

  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 kontrol noktaları salt okunur ve tekrar tekrar erişilir.

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

  • Sıralı parça tabanlı okuma: Tensörler, büyük sıralı okumaları kolaylaştıran per-GPU ikili dosyalarına gruplandırılır.
  • Verimli tensör adresleme: Tensör adlarına bellek ofsetlerini eşleyen bir dizin, tensörlerin seri hale getirme olmadan doğrudan bellekte geri yüklenmesini sağlar.
  1. Çok katmanlı kontrol noktası yükleme pipeline’ı

ServerlessLLM, GPU sunucularının katmanlı mimarisini, depolama medya gibi SSD’ler ve ağın GPU’lara PCIe, NVMe gibi aracılığıyla bağlanmasını kullanır.

Sistem, tüm katmanlar boyunca bant genişliğini en üst düzeye çıkarmak için çok aşamlı bir pipeline içerir:

  • Bellekte veri parçaları, hızlı GPU transferi için pinned memory kullanılarak atanır.
  • Verimli SSD okumaları için direkt I/O kullanılır.
  • Birden çok iş parçacığı, farklı depolama parçalarını paralel olarak okur.
  • Ara-stage koordinasyonu, asenkron görev kuyrukları aracılığıyla gerçekleşir.

Bu, hatta en hızlı katmanların (NVMe RAID gibi) bant genişliği kapasitesini doygunluğa ulaştırmayı sağlar. Deneyimler, ServerlessLLM’nin PyTorch/TensorFlow’dan 6-8 kat daha hızlı yükleme sağladığını ve büyük LLM’lerin başlangıç zamanlarını bir dakikadan fazla olan süreden 10 saniyenin altına düşürdüğünü gösterir.

Canlı Göç ile Yerel Olmayı Sağlayan LLM Çıkarımı

Hızlandırılmış yükleme ile birlikte, ServerlessLLM yeni bir zorlukla karşılaşıyor – nasıl yerel kontrol noktalarını kullanırken devam eden çıkarımları kesintiye uğratmadan GPU sunucuları arasında LLM çıkarımını canlı olarak göç ettirebilir?

ServerlessLLM, GPU sunucuları arasında LLM çıkarımını canlı olarak göç ettirmeyi sağlayan yeni bir teknik sunar. Bu, yerel olarak mevcut kontrol noktalarına sahip sunuculara çalıştırmanın executionunu sorunsuz bir şekilde aktarılmasını sağlar.

Canlı LLM göçünün ana sağlayıcıları:

  1. Token tabanlı göç

Tüm model durumunun bir anlık görüntüsünü almak yerine, ServerlessLLM yalnızca minimal prompt token’lerini ağ üzerinden göç ettirir. Bu, anlık görüntülerden çok daha az veri aktarımını sağlar.

  1. İki aşamlı göç

Hedef sunucu, prompt token’lerinden cache durumlarını asenkron olarak ön hesaplar. Hazır olduğunda, kaynak sunucu nihai token’leri aktarır ve kaynakları serbest bırakır. Bu, çıkarım duraklamalarını önler.

Deneyimler, token tabanlı göçün göç zamanlarını uzun diziler için bile on saniyelerden不到 bir saniyeye düşürdüğünü gösterir. Canlı göç, yerel olmayı sağlayan atamayı gerçekleştirmede kritiktir.

Gecikme Optimize Model Zamanlayıcısı

Uçtan uca gecikmeyi en aza indirmek için, ServerlessLLM zamanlayıcısını yerel olmayı dikkate alarak sunucu seçimi için geliştirir. Bu, şunları içerir:

  1. İncelikli yükleme zamanı tahmini

Modeller, her sunucu için ağ, SSD önbellekleri ve bellekten yükleme zamanlarını, kuyruk gecikmeleri, model boyutları ve ölçülen bant genişliği gibi metrikleri kullanarak tahmin eder.

  1. Doğru göç zamanı tahmini

Zamanlayıcı, prompt ve çıktı token’lerinin sayısını kullanarak sunucular için göç zamanlarını tahmin eder. Çıkarım ilerlemesini asenkron olarak izler ve ek yükü önler.

  1. Yerel olmayı destekleyen atama

Her bir çıkarım isteği için, zamanlayıcı beklenen yükleme ve göç zamanlarını sunucular arasında değerlendirir. Beklenen başlangıç gecikmesini en aza indiren sunucuyu seçer.

Zamanlayıcı ayrıca sunucu görev kuyruklarını korur ve hata toleransı için güçlü bir şekilde tutarlı depolama kullanır. Bu yenilikler, yerel olmanın faydalarını en üst düzeye çıkarmayı sağlar.

ServerlessLLM Performansını Değerlendirme

Kapsamlı deneyler, gerçek dünya modelleri gibi OPT-175B ve Azure izlerine benzeyen iş yükleri kullanarak mevcut sistemlerle karşılaştırıldığında ServerlessLLM’nin uçtan uca etkinliğini ölçer.

Ana sonuçlar:

  • Mikrobenchmark’lar: ServerlessLLM, PyTorch/TensorFlow’dan 3.6-8.2 kat daha hızlı kontrol noktası yükleme sağlar. Hatta en yeni NVMe RAID gibi depolama bant genişliğini doygunluğa ulaştırmayı başarır.
  • Zamanlama: ServerlessLLM, rastgele zamanlamayla karşılaştırıldığında atama gecikmesini 4-12 kat azaltır. Yerel olmanın faydalarını vurgular ve canlı göç, kuyruklama gecikmelerini önler.
  • Uçtan uca hizmet: Büyük modeller için seperti OPT-30B, ServerlessLLM, KServe ve Ray Serve gibi sistemlere kıyasla 99. percentile gecikmeyi 28-200 kat iyileştirir. Ayrıca kaynak verimliliğini artırır.

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

ServerlessLLM’de tanıtılan optimizasyonlar, çok katmanlı yükleme, canlı göç ve gecikme odaklı zamanlama gibi, gelecekteki sunucusuz mimarilerin tasarımını bilgilendirmeye yardımcı olabilir. Sistem, yükleme ve başlangıç zamanlarını azaltarak büyük dil modellerinin pratik uygulamalar için ölçeklenebilir bir şekilde dağıtılmasını sağlar.

İleriye Bakış: Devam Eden Zorluklar

Büyük bir adım atılmasına rağmen, ServerlessLLM, büyük LLM’ler için sunucusuz çıkarımı optimize etmenin sadece ilk adımı temsil eder. several açık sorunlar hala vardır, bunlar arasında:

  • Gerçek zamanlı model talebini öngörerek tahsis ve ön yükleme rehberliği
  • Önbellek vuruşlarını en üst düzeye çıkarmak için kontrol noktalarını sunucular arasında akıllıca yerleştirme
  • Zamanlama algoritmalarını daha büyük kümeler için ölçeklendirme
  • Modeller ve geliştiriciler arasında kaynak dağıtımı adaletini sağlama
  • Canlı göç gibi yenilikleri diğer sunucusuz iş yüklerine genelleştirme

Bu alanlara çözüm bulmak, sunucusuz LLM’lerin vaadini daha da erişilebilir hale getirebilir. Sistem düzeyindeki optimizasyonların ötesinde, büyük modellerin aşırı karbon ayak izini ve potansiyel zararlarını azaltma da acil bir öncelik olmaya devam etmektedir.

ServerlessLLM, AI iş yükleri için gelecek nesil sunucusuz mimarilerde inovasyon için muazzam bir alan olduğunu göstermektedir. LLM’ler büyümeye ve popülerlik kazanmaya devam ettikçe, bunların ölçeklenebilirliğini kilitleyen çözümler daha da etkili hale gelecektir. Sistemler ve makine öğrenimi araştırmalarının birleşmesi, hizmet, paylaşma ve AI modellerinin güvenli ve sürdürülebilir bir şekilde ölçeklendirilmesi için yeni paradigmalar getirebilir.

Son beş yıldır Makine Öğrenimi ve Derin Öğrenme dünyasına kendimi daldırmış bulunuyorum. Tutkum ve uzmanlığım, özellikle AI/ML odaklı 50'den fazla çeşitli yazılım mühendisliği projesine katkıda bulunmama yol açtı. Süregelen meraklılığım ayrıca beni Doğal Dil İşleme'ye doğru çekti, bu alanda daha fazla keşfetmeye hevesliyim.