1 puan yazan GN⁺ 2023-12-21 | Henüz yorum yok. | WhatsApp'ta paylaş

PowerInfer: Tüketici GPU’larıyla hızlı büyük dil modeli sunumu

  • PowerInfer, aktivasyon yerelliğinden yararlanan bir CPU/GPU LLM çıkarım motorudur.
  • PowerInfer ve llama.cpp aynı donanımda çalışır ve RTX 4090’ın VRAM’ini tamamen kullanır.

Genel bakış

  • PowerInfer, kişisel bilgisayara (PC) takılı tek bir tüketici sınıfı GPU ile büyük dil modeli (LLM) çıkarımını yüksek hızda gerçekleştiren bir motordur.
  • PowerInfer’in tasarımının temeli, LLM çıkarımında görülen yüksek yerelliği kullanmaktır; bu, nöron aktivasyonlarında üs yasası dağılımıyla karakterizedir.
  • Bu dağılım, az sayıdaki “hot” nöronun tutarlı biçimde etkinleştiğini, çoğunluktaki “cold” nöronların ise girdiye göre değiştiğini gösterir.
  • PowerInfer bu içgörüyü kullanarak bir GPU-CPU hibrit çıkarım motoru tasarlar: “hot” nöronlar önceden GPU’ya yüklenir, “cold” nöronlar ise CPU’da hesaplanır; böylece GPU bellek gereksinimi ve CPU-GPU veri aktarımı büyük ölçüde azaltılır.
  • PowerInfer, nöron aktivasyonu ve hesaplama seyreklik verimliliğini optimize etmek için uyarlanabilir bir kestirici ile nöron farkındalıklı seyrek operatörleri birleştirir.
  • Değerlendirme sonuçlarına göre PowerInfer, tek bir NVIDIA RTX 4090 GPU üzerinde çeşitli LLM’lerde (ör. OPT-175B) ortalama 13,20 token/sn, en fazla 29,08 token/sn üretim hızına ulaşarak sunucu sınıfı A100 GPU’ya kıyasla yalnızca %18 daha düşük performans gösterir.
  • Model doğruluğunu korurken llama.cpp’den en fazla 11,69 kat daha hızlı performans sunar.

Özellikler

  • Yerellik odaklı tasarım: Verimli LLM çıkarımı için seyrek aktivasyon ile “hot”/“cold” nöron kavramlarını kullanır; düşük kaynak gereksinimiyle yüksek hız sağlar.

  • Hibrit CPU/GPU kullanımı: CPU ve GPU’nun bellek/hesaplama yeteneklerini sorunsuz biçimde birleştirerek dengeli iş yükü ve hızlı işleme sağlar.

  • Kolay entegrasyon: Popüler ReLU-seyrek modellerle uyumludur.

  • Yerel dağıtım kolaylığı: Tüketici donanımında yerel dağıtım için derinlemesine optimize edilmiştir; tek GPU üzerinde düşük gecikmeli LLM çıkarımı ve sunumu sağlar.

  • Geriye dönük uyumluluk: llama.cpp ile aynı değildir, ancak sunucu ve batch generation gibi examples/ altındaki çoğu örnek llama.cpp’deki gibi kullanılabilir.

Başlarken

  • Kurulum ve model ağırlıkları için yönergeler sunulur.

Yapılandırma ve kurulum

  • Kodun edinilmesi ve derlenmesi için yönergeler sunulur.

Model ağırlıkları

  • PowerInfer modeli, LLM ağırlıkları ile kestirici ağırlıklarını içeren PowerInfer GGUF biçiminde saklanır.
  • PowerInfer GGUF ağırlıkları Hugging Face üzerinden indirilebilir.
  • Orijinal model ağırlıkları ve kestirici ağırlıklarının PowerInfer GGUF biçimine nasıl dönüştürüleceğine ilişkin yönergeler sunulur.

Çıkarım

  • Yalnızca CPU kullanımı veya mevcut tüm VRAM’i kullanan CPU-GPU hibrit çıkarımı için yönergeler sunulur.

Kuantizasyon

  • INT4(Q4_0) modelleri için optimize edilmiş kuantizasyon desteği ve kullanım yöntemi sunulur.

Değerlendirme

  • PowerInfer, FP16 ve INT4 modeller için sırasıyla 11 kata ve 8 kata kadar hız artışı sağlar.

Sık sorulan sorular

  • CUDA_ERROR_OUT_OF_MEMORY hatasının çözümü ve diğer sorun giderme konuları için destek yönergeleri sunulur.

Yapılacaklar

  • PowerInfer’in çekirdek kodu, Mistral-7B modeli, Windows desteği, text-generation-webui, perplexity değerlendirme kodu, Mac için Metal desteği, OPT model kodu, kestirici eğitim kodu, FFN ağının çevrimiçi bölünmesi, Multi-GPU desteği gibi bileşenlerin yayın planları sunulur.

Makale ve atıf

  • PowerInfer’in teknik ayrıntıları makalede görülebilir.
  • PowerInfer yararlı olduysa veya ilgili proje ve araştırmalara yardımcı oluyorsa makalenin alıntılanması rica edilir.

Teşekkür

  • Düzenlenebilir operatör kütüphanesi ggml’e ve llama.cpp’nin çalıştırma zamanına teşekkür edilir.
  • ReLU tabanlı seyrek modeller için THUNLP’nin desteğine teşekkür edilir.
  • PowerInfer’e ilham veren Deja Vu araştırmasına teşekkür edilir.

GN⁺ görüşü

  • PowerInfer, tüketici GPU’ları kullanarak büyük dil modellerinde hızlı ve verimli çıkarım yapabilen yenilikçi bir motordur.
  • “Hot”/“cold” nöron kavramı ve hibrit CPU/GPU kullanımı sayesinde kaynak tasarrufu yaparken sunucu sınıfına yakın çıkarım hızı sunar.
  • Bu teknoloji, yapay zeka araştırma ve geliştirmesinde bireysel geliştiricilerin veya küçük ekiplerin sunucu sınıfı donanıma erişmeden yüksek performanslı modelleri deneyip dağıtabilmesinin önünü açar.

Henüz yorum yok.

Henüz yorum yok.