Tüketici GPU’su bulunan PC’lerde yüksek hızlı büyük dil modeli sunumu
(github.com/SJTU-IPADS)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_MEMORYhatası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.